Releases: cvat-ai/cvat
v2.26.1
v2.26.0
Added
-
Setting
TMP_FILE_OR_DIR_RETENTION_DAYS
, which defines maximum retention period of a file or dir in temporary directory (#8804) -
Cron job to remove outdated files and directories from CVAT tmp directory (#8804)
-
Ability to set Django's secret key using an environment variable (#8566)
Changed
-
Export cache cleaning moved to a separate cron job (#8804)
-
Improved UX of quality management page: better table layout, file name search, ability to download table as
.csv
(#8865) -
Enhanced MIL tracker. Optimized memory usage. Now it is runnable on many frames, and applicable to drawn rectangles. (#8942)
-
The UI only displays one version for the whole client component, which is now aligned with the server version (#8948)
Fixed
-
Fixed webhook worker not restarting after losing Redis connection (#8921)
-
Fixed incorrect results being returned from lambda functions when all detected shapes have labels that aren't mapped (#8931)
-
Optimized importing from cloud storage (#8930)
-
A job cannot be opened if to remove an image with the latest keyframe of a track (#8952)
-
A track will be interpolated incorrectly if to delete an image containing the object keyframe (#8951)
-
Error: Cannot read properties of undefined (reading 'startPoints') when dragging an object (#8966)
-
Extra shortcuts enabled from brush tools on views where not necessary (#8971)
-
[Helm] Fixed Nuclio dashboard crashes when running in a cluster that doesn't use Docker (#8825)
-
[SDK]
cvat_sdk.auto_annotation.functions.torchvision_detection
andtorchvision_instance_segmentation
no longer declare meaningless "N/A" labels (#8997)
Security
- Protected tracker functions against deserializing untrusted input (GHSA-wq36-mxf8-hv62)
v2.25.0
Added
-
[CLI] Added commands for working with native functions (#8821)
-
Ultralytics YOLO formats now support tracks (#8883)
Changed
-
YOLOv8 formats renamed to Ultralytics YOLO formats (#8863)
-
The
match_empty_frames
quality setting is changed toempty_is_annotated
. The updated option includes any empty frames in the final metrics instead of only matching empty frames. This makes metrics such as Precision much more representative and useful. (#8888)
Fixed
v2.24.0
Added
-
[CLI] Added new commands:
project create
,project delete
,project ls
(#8787) -
[SDK] You can now use
client.projects.remove_by_ids
to remove multiple projects (#8787) -
Support for boolean parameters in annotations actions (#8798)
Changed
-
Improved uniformity of validation frames distribution in honeypot tasks and random honeypot rerolls (#8776)
-
[CLI] Switched to a new subcommand hierarchy; now CLI subcommands have the form
cvat-cli <resource> <action>
(#8787) -
[CLI] The output of the
task create
,task create-from-backup
andproject create
commands is now just the created resource ID, making it machine-readable (#8833) -
/api/events can now be used to receive events from several sources (#8799)
Deprecated
- [CLI] All existing CLI commands of the form
cvat-cli <action>
are now deprecated. Usecvat-cli task <action>
instead (#8787)
Removed
- Automatic calculation of quality reports in tasks (#8790)
Fixed
-
Uploading a skeleton template in configurator does not work (#8822)
-
Installation of YOLOv7 on GPU (#8824)
-
[Server API] Significantly improved preformance of honeypot changes in tasks (#8789)
-
[Server API]
PATCH tasks/id/validation_layout
responses now include correctdisabled_frames
and handle simultaneous updates ofdisabled_frames
and honeypot frames correctly (#8789) -
Fixed handling of tracks keyframes from deleted frames on export (#8834)
-
Exporting datasets could start significantly later than expected, both for 1 and several users in the same project/task/job (#8721)
-
Scheduled RQ jobs could not be restarted due to incorrect RQ job status updating and handling (#8721)
v2.23.1
Changed
- [CLI] Log messages are now printed on stderr rather than stdout (#8784)
Fixed
-
Optimized memory consumption and reduced the number of database queries when importing annotations to a task with a lot of jobs and images (#8676)
-
Incorrect display of validation frames on the task quality management page (#8731)
-
Player may navigate to removed frames when playing (#8747)
-
User may navigate forward with a keyboard when a modal opened (#8748)
-
fit:canvas event is not generated if to fit it from the controls sidebar (#8750)
-
Color of 'Create object URL' button for a not saved on the server object (#8752)
-
Failed request for a chunk inside a job after it was recently modified by updating
validation_layout
(#8772) -
Memory consumption during preparation of image chunks (#8778)
-
Possible endless lock acquisition for chunk preparation job (#8769)
-
Fixed issue: Cannot read properties of undefined (reading 'getUpdated') (#8785)
v2.23.0
Added
-
Support for direct .json file import in Datumaro format (#7125)
-
[SDK, CLI] Added a
conf_threshold
parameter tocvat_sdk.auto_annotation.annotate_task
, which is passed as-is to the AA function object via the context. The CLI equivalent isauto-annotate --conf-threshold
. This makes it easier to write and use AA functions that support object filtering based on confidence levels (#8688) -
[SDK] Built-in auto-annotation functions now support object filtering by confidence level (#8688)
-
New events (create|update|delete):(membership|webhook) and (create|delete):invitation (#8616)
-
[SDK] Added new auto-annotation helpers (
mask
,polygon
,encode_mask
) to support AA functions that return masks or polygons (#8724) -
[SDK] Added a new built-in auto-annotation function,
torchvision_instance_segmentation
(#8724) -
[SDK, CLI] Added a new auto-annotation parameter,
conv_mask_to_poly
(--conv-mask-to-poly
in the CLI) (#8724) -
A user may undo or redo changes, made by an annotations actions using general approach (e.g. Ctrl+Z, Ctrl+Y) (#8727)
-
Basically, annotations actions now support any kinds of objects (shapes, tracks, tags) (#8727)
-
A user may run annotations actions on a certain object (added corresponding object menu item) (#8727)
-
A shortcut to open annotations actions modal for a currently selected object (#8727)
-
A default role if IAM_TYPE='LDAP' and if the user is not a member of any group in 'DJANGO_AUTH_LDAP_GROUPS' (#8708)
-
The
POST /api/lambda/requests
endpoint now has aconv_mask_to_poly
parameter with the same semantics as the oldconvMaskToPoly
parameter (#8743) -
[SDK] Model instances can now be pickled (#8746)
Changed
-
Chunks are now prepared in a separate worker process (#8618)
-
[Helm] Traefik sticky sessions for the backend service are disabled (#8659)
-
Payload for events (create|update|delete):(shapes|tags|tracks) does not include frame and attributes anymore (#8616)
Deprecated
- The
convMaskToPoly
parameter of thePOST /api/lambda/requests
endpoint is deprecated; useconv_mask_to_poly
instead (#8743)
Removed
- It it no longer possible to run lambda functions on compressed images; original images will always be used (#8683)
Fixed
-
Export without images in Datumaro format should include image info (#7125)
-
Inconsistent zOrder behavior on job open (#8669)
-
Ground truth annotations can be shown in standard mode (#8675)
-
Keybinds in UI allow drawing disabled shape types (#8685)
-
Style issues on the Quality page when browser zoom is applied (#8698)
-
Flickering of masks in review mode, even when no conflicts are highlighted (#8698)
-
Fixed security header duplication in HTTP responses from the backend (#8726)
-
The error occurs when trying to copy/paste a mask on a video after opening the job (#8728)
-
Attributes do not get copied when copy/paste a mask (#8728)
v2.22.0
Added
-
Feature to hide a mask during editing (#8554)
-
A quality setting to compare point groups without using bbox (#8634)
-
A quality check option to consider empty frames matching (#8652)
Changed
- Reduced memory usage of the utils container (#8672)
Removed
- Removed unused business group (#8607)
Fixed
-
Propagation creates copies on non-existing frames in a ground truth job (#8550)
-
Exporting projects with tasks containing honeypots. Honeypots are no longer exported. (#8597)
-
Error after creating GT job on Create job page with frame selection method
random_per_job
(#8623) -
Fixed issue 'Cannot read properties of undefined (reading 'push')' (#8648)
-
Re-newed import/export request failed immediately if the previous failed (#8649)
-
Fixed automatic zooming in attribute annotation mode for masks (#8657)
-
Export dataset in CVAT format misses frames in tasks with non-default frame step (#8662)
-
Incorrect progress representation on
Requests
page (#8668)
v2.21.3
Changed
- CLI no longer prints the stack trace in case of HTTP errors (#8601)
Removed
- Dropped support for Python 3.8 since its EOL was on 2024-10-07 (#8360)
Fixed
-
Requests page crush with
Cannot read property 'target' of undefined
error (#8575) -
Tags in ground truth job were displayed as
tag (GT)
(#8586) -
Tags in ground truth job couldn't be deleted via
x
button (#8586) -
Exception 'Canvas is busy' when change frame during drag/resize a track (#8598)
-
A shape gets shifted if auto save triggered during dragging (#8598)
v2.21.2
Added
- Access to /analytics can now be granted (#8509)
Fixed
-
Expired sessions are now cleared from the database daily (#8552)
-
Fixed export/import errors for tracks with duplicated shapes. Fixed a bug which caused shape duplication on track import. (#8553)
-
Fix Grafana container restart policy (#8577)
-
Fixed some interface tooltips having 'undefined' shortcuts (#8578)
-
Memory consumption during preparation of image chunks (#8581)
-
Fixed a bug where an export RQ job being retried may break scheduling of new jobs (#8584)
-
UI now allows the user to start automatic annotation again if the previous request fails (#8587)
v2.21.1
Added
- Keyboard shortcuts for brush, eraser, polygon and polygon remove tools on masks drawing toolbox (#8519)
Fixed
-
Ground truth tracks are displayed not only on GT frames in review mode (#8531)
-
Incorrect navigation by keyframes when annotation job ends earlier than track in a ground truth job (#8533)
-
Tracks from a ground truth job displayed on wrong frames in review mode when frame step is not equal to 1 (#8533)
-
Task creation with cloud storage data and GT_POOL validation mode (#8539)
-
Incorrect quality reports and immediate feedback with non default start frame or frame step (#8551)
-
av context closing issue when using AUTO thread_type (#8555)