Skip to content

Releases: cvat-ai/cvat

v2.24.0

20 Dec 08:27
9fafd98
Compare
Choose a tag to compare

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 and project 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. Use cvat-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 correct disabled_frames and handle simultaneous updates of disabled_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

09 Dec 08:17
e50cf53
Compare
Choose a tag to compare

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

29 Nov 08:20
424142e
Compare
Choose a tag to compare

Added

  • Support for direct .json file import in Datumaro format (#7125)

  • [SDK, CLI] Added a conf_threshold parameter to cvat_sdk.auto_annotation.annotate_task, which is passed as-is to the AA function object via the context. The CLI equivalent is auto-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 a conv_mask_to_poly parameter with the same semantics as the old convMaskToPoly 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 the POST /api/lambda/requests endpoint is deprecated; use conv_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

11 Nov 13:57
c737f08
Compare
Choose a tag to compare

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

31 Oct 13:03
8d990c9
Compare
Choose a tag to compare

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

24 Oct 13:36
5022eaa
Compare
Choose a tag to compare

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

18 Oct 11:01
4a7e8e0
Compare
Choose a tag to compare

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

10 Oct 09:51
67d3645
Compare
Choose a tag to compare

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 new validation_mode field, reflecting the current validation configuration (immutable) (#8348)

  • [Server API] POST /api/tasks/{id}/data got a new validation_params field, which allows to enable GT and GT_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 field chunks_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

  • Invalid chunks for GT jobs when ?number is used in the request and task frame step > 1 (#8510)
  • Invalid output of frames for specific GT frame requests with api/jobs/{id}/data/?type=frame (#8510)

v2.20.0

01 Oct 14:14
941f5c0
Compare
Choose a tag to compare

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 new index parameter allows to retrieve job chunks using 0-based index in each job, instead of the number 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

26 Sep 07:18
4163cb2
Compare
Choose a tag to compare

Security

  • Fixed a security issue that occurred in PATCH requests to projects|tasks|jobs|memberships (GHSA-gxhm-hg65-5gh2)