Releases: cvat-ai/cvat
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)
v2.21.0
Added
-
New task mode: Honeypots (GT pool) (#8348)
-
New task creation options for quality control: Honeypots (GT pool), GT job (#8348)
-
New GT job frame selection method:
random_per_job
, which guarantees each job will have GT overlap (#8348) -
[Server API] POST
/jobs/
: new frame selection parameters, which accept percentages, instead of absolute values (#8348) -
[Server API] GET
/api/tasks/{id}/
got a newvalidation_mode
field, reflecting the current validation configuration (immutable) (#8348) -
[Server API] POST
/api/tasks/{id}/data
got a newvalidation_params
field, which allows to enableGT
andGT_POOL
validation for a task on its creation (#8348) -
Added custom certificates documentation (#7508)
-
Support for YOLOv8 Classification format (#8475)
-
[Server API] An option to change real frames for honeypot frames in tasks with honeypots (#8471)
-
[Server API] New endpoints for validation configuration management in tasks and jobs
/api/tasks/{id}/validation_layout
,/api/jobs/{id}/validation_layout
(#8471) -
[Helm] Readiness and liveness probes (#8488)
Changed
-
[Server API] POST
/jobs/
.frames
field now expects relative frame numbers instead of absolute (source data) ones (#8348) -
[Server API] Now chunks in tasks can be changed. There are new API elements to check chunk relevancy, if they are cached:
/api/tasks/{id}/data/meta
got a new fieldchunks_updated_date
,/api/tasks/{id}/data/?type=chunk
got 2 new headers:X-Updated-Date
,X-Checksum
(#8471) -
Made the
PATCH
endpoints for projects, tasks, jobs and memberships check the input more strictly (#8493):- unknown fields are rejected;
- updating a field now requires the same level of permissions regardless of whether the new value is the same as the old value.
-
[Server API] Quality report computation is now allowed to regular users (#8511)
Fixed
v2.20.0
Added
- A server setting to enable or disable storage of permanent media chunks on the server filesystem (#8272)
- [Server API]
GET /api/jobs/{id}/data/?type=chunk&index=x
parameter combination. The newindex
parameter allows to retrieve job chunks using 0-based index in each job, instead of thenumber
parameter, which used task chunk ids. (#8272)
Changed
- Job assignees will not receive frames from adjacent jobs in chunks (#8272)
Deprecated
- [Server API]
GET /api/jobs/{id}/data/?type=chunk&number=x
parameter combination (#8272)
Removed
- Removed the non-functional
task_subsets
parameter from the project create and update endpoints (#8492)
Fixed
- Various memory leaks in video reading on the server (#8272)
v2.19.1
Security
- Fixed a security issue that occurred in PATCH requests to projects|tasks|jobs|memberships (GHSA-gxhm-hg65-5gh2)