# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## \[2.7.6\] - 2023-10-13
### Changed
- Enabled nginx proxy buffering
()
- Helm: set memory request for keydb
()
- Supervisord ():
- added `autorestart=true` option for all workers
- unified program names to use dashes as delimiter instead of mixed '_' and '-'
- minor improvements to supervisor configurations
### Removed
- Removed gitter link from about modal
()
### Fixed
- Persist image filters across jobs
()
- Splitting skeleton tracks on jobs
()
- Uploading skeleton tracks in COCO Keypoints format
()
- Fixed Siammask tracker error on grayscale images
()
- Fixed memory leak on client side when event listener was not removed together with its context
()
- Fixed crash related to issue tries to mount to not existing parent
()
- Added 'notranslate' markers to avoid issues caused by extension translators
()
- Getting CS content when S3 bucket contains manually created directories
()
- Optimized huge memory consumption when working with masks in the interface
()
### Security
- Security upgrade opencv-python-headless from 4.5.5.62 to 4.8.1.78
()
- Added X-Frame-Options: deny
()
## \[2.7.5\] - 2023-10-09
### Added
- Temporary workaround to fix corrupted zip file
()
## \[2.7.4\] - 2023-10-06
### Added
- The latest comment displayed in issues sidebar ()
### Fixed
- It was not possible to copy issue comment from issue dialog ()
### Security
- Update Grafana from 9.3.6 to 10.1.2
## \[2.7.3\] - 2023-10-02
### Added
- New , form-based Issue templates for Github repository
### Removed
- Functionality for synchronizing a task with a Git repository
()
### Fixed
- PCD files with nan values could not be opened on 3D workspace
()
- Fixed direct navigation to neightbour chunk on 3D workspace
()
- Intencity level from .bin lidar data ignored when converting .bin -> .pcd
()
- Incorrectly determined video frame count when the video contains an MP4 edit list
()
- Internal server error when retrieving data from CS and cache=True
()
### Security
- Security upgrade Pillow from 9.3.0 to 10.0.1
()
- Security update cryptography from 41.0.3 to 41.0.4
()
## \[2.7.2\] - 2023-09-25
### Changed
- Do not reload annotation view when renew the job or update job state ()
- Now images from cloud buckets are loaded in parallel when preparing a chunk ()
### Fixed
- Downloading additional data from cloud storage if use_cache=true and job_file_mapping are specified
()
- Leaving an organization ()
- Order of images in annotation file when dumping project in CVAT format ()
- Validation on Cloud Storage form / error message on create task form ()
## \[2.7.1\] - 2023-09-15
### Fixed
- Include cloud storage manifest file to selected files if manifest was used as data source ()
- Keep sequence of files when directories were specified in server_files ()
## \[2.7.0\] - 2023-09-10
### Added
- Admin actions for easy activation/deactivation of users ()
### Fixed
- Invalid input validation in for `cloud_storage_id` ()
- Incorrect task progress report for 3rdparty users ()
### Security
- Security upgrade gitpython from 3.1.33 to 3.1.35 ()
- Security upgrade numpy from 1.22.0 to 1.22.4 ()
## \[2.6.2\] - 2023-09-06
### Added
- Gamma correcton filter ()
- Introduced the feature to hide or show objects in review mode ()
### Changed
- \[Helm\] Database migrations are now executed as a separate job,
rather than in the server pod, to mitigate the risk of data
corruption when using multiple server replicas
()
- Clicking multiple times on icons in the left
sidebar now toggles the corresponding popovers open and closed
()
- Transitioned to using KeyDB with FLASH for data
chunk caching, replacing diskcache ()
### Removed
- Removed outdated use of hostnames when accessing Git, OpenCV, or analytics via the UI ()
- Removed the Feedback/Share component ()
### Fixed
- Resolved the issue of the canvas zooming while scrolling
through the comments list in an issue ()
- Addressed the bug that allowed for multiple issue
creations upon initial submission ()
- Fixed the issue of running deep learning models on
non-JPEG compressed TIFF images ()
- Adjusted padding on the tasks, projects, and models pages ()
- Corrected hotkey handlers to avoid overriding default behavior when modal windows are open
()
- Resolved the need to move the mouse to activate
brush or eraser effects; a single click is now sufficient ()
- Fixed a memory leak issue in the logging system ()
- Addressed a race condition that occurred during the initial creation of `secret_key.py`
()
- Eliminated duplicate log entries generated by the CVAT server
()
## \[2.6.1\] - 2023-08-25
### Added
- More information about task progress on tasks page ()
- Prefetching next chunk when user navigates by frames manually ()
### Changed
- Bumped nuclio version to 1.11.24 and removed `/tmp` mounting in the nuclio container to adhere the update.
- Response code for empty cloud storage preview 204 -> 404 ()
- Organization now opened immediately after it is created ()
- More responsive automatic annotation progress bar ()
- Improved message when invite more users to an organization ()
### Fixed
- Exporting project when its tasks has not data ()
- Removing job assignee ()
- UI fail when select a mask or a skeleton with center-aligned text ()
- Fixed switching from organization to sandbox while getting a resource ()
- You do not have permissions when user is cancelling automatic annotation ()
- Automatic annotation progress bar is invisible if the app initialized on the task page
()
- Extra status check requests for automatic annotation ()
- \[SDK\]: `FileExistsError` exception raised on Windows when a dataset is loaded from cache
()
### Security
- Remote Code Execution (RCE) [SNYK-PYTHON-GITPYTHON-5840584](https://snyk.io/vuln/SNYK-PYTHON-GITPYTHON-5840584)
## \[2.6.0\] - 2023-08-11
### Added
- \[SDK\] Introduced the `DeferredTqdmProgressReporter` class,
which avoids the glitchy output seen with the `TqdmProgressReporter` under certain circumstances
()
- \[SDK, CLI\] Added the `cvat_sdk.auto_annotation`
module, providing functionality to automatically annotate tasks
by executing a user-provided function on the local machine.
A corresponding CLI command (`auto-annotate`) is also available.
Some predefined functions using torchvision are also available.
(,
)
- Included an indication for cached frames in the interface
()
### Changed
- Raised the default guide assets limitations to 30 assets,
with a maximum size of 10MB each
()
- \[SDK\] Custom `ProgressReporter` implementations should now override `start2` instead of `start`
The old implementation is still supported.
()
- Improved memory optimization and code in the decoding module ()
### Removed
- Removed the YOLOv5 serverless function
()
### Fixed
- Corrected an issue where the prebuilt FFmpeg bundled in PyAV
was being used instead of the custom build.
- Fixed the filename for labels in the CamVid format ()
## \[2.5.2\] - 2023-07-27
### Added
- We've added support for multi-line text attributes ()
- You can now set a default attribute value for SELECT, RADIO types on UI
()
- \[SDK\] `cvat_sdk.datasets`, is now available, providing a framework-agnostic alternative to `cvat_sdk.pytorch`
()
- We've introduced analytics for Jobs, Tasks, and Project ()
### Changed
- \[Helm\] In Helm, we've added a configurable default storage option to the chart ()
### Removed
- \[Helm\] In Helm, we've eliminated the obligatory use of hardcoded traefik ingress ()
### Fixed
- Fixed an issue with calculating the number of objects on the annotation view when frames are deleted
()
- \[SDK\] In SDK, we've fixed the issue with creating attributes with blank default values
()
- \[SDK\] We've corrected a problem in SDK where it was altering input data in models ()
- Fixed exporting of hash for shapes and tags in a specific corner case ()
- Resolved the issue where 3D jobs couldn't be opened in validation mode ()
- Fixed SAM plugin (403 code for workers in organizations) ()
- Fixed the issue where initial frame from query parameter was not opening specific frame in a job
()
- Corrected the issue with the removal of the first keyframe ()
- Fixed the display of project previews on small screens and updated stylelint & rules ()
- Implemented server-side validation for attribute specifications
()
- \[API\] Fixed API issue related to file downloading failures for filenames with special characters ()
- \[Helm\] In Helm, we've resolved an issue with multiple caches
in the same RWX volume, which was preventing db migration from starting ()
## \[2.5.1\] - 2023-07-19
### Fixed
- Memory leak related to unclosed av container ()
## \[2.5.0] - 2023-07-05
### Added
- Now CVAT supports project/task markdown description with additional assets
(png, jpeg, gif, webp images and pdf files) ()
- Ground Truth jobs and quality analytics for tasks ()
### Fixed
- The problem with manifest file in tasks restored from backup ()
- The problem with task mode in a task restored from backup ()
- Visible 'To background' button in review mode ()
- Added missed auto_add argument to Issue model ()
- \[API\] Performance of several API endpoints ()
- \[API\] Invalid schema for the owner field in several endpoints ()
- Some internal errors occurring during lambda function invocations
could be mistakenly reported as invalid requests
()
- \[SDK\] Loading tasks that have been cached with the PyTorch adapter
()
- The problem with importing annotations if dataset has extra dots in filenames
()
### Security
- More comprehensive SSRF mitigations were implemented.
Previously, on task creation it was prohibited to specify remote data URLs
with hosts that resolved to IP addresses in the private ranges.
Now, redirects to such URLs are also prohibited.
In addition, this restriction is now also applied to webhook URLs.
System administrators can allow or deny custom IP address ranges
with the `SMOKESCREEN_OPTS` environment variable.
().
## \[2.4.9] - 2023-06-22
### Fixed
- Error related to calling serverless functions on some image formats ()
## \[2.4.8] - 2023-06-22
### Fixed
- Getting original chunks for items in specific cases ()
## \[2.4.7] - 2023-06-16
### Added
- \[API\] API Now supports the creation and removal of Ground Truth jobs. ()
- \[API\] We've introduced task quality estimation endpoints. ()
- \[CLI\] An option to select the organization. ()
### Fixed
- Issues with running serverless models for EXIF-rotated images. ()
- File uploading issues when using https configuration. ()
- Dataset export error with `outside` property of tracks. ()
- Broken logging in the TransT serverless function. ()
## \[2.4.6] - 2023-06-09
### Added
- \[Server API\] An option to supply custom file ordering for task data uploads ()
- New option `semi-auto` is available as annotations source ()
### Changed
- Allowed to use dataset manifest for the `predefined` sorting method for task data ()
### Changed
- Replaced Apache mod_wsgi with Uvicorn ASGI server for backend use()
### Fixed
- Incorrect location of temporary file during job annotation import.()
- Deletion of uploaded file along with annotations/backups when an RQ job
has been initiated, but no subsequent status check requests have been made.()
- Deletion of uploaded files, including annotations and backups,
after they have been uploaded to the server using the TUS protocol but before an RQ job has been initiated. ()
- Simultaneous creation of tasks or projects with identical names from backups by multiple users.()
- \[API\] The `predefined` sorting method for task data uploads ()
- Allowed slashes in export filenames. ()
## \[2.4.5] - 2023-06-02
### Added
- Integrated support for sharepoint and cloud storage files, along with
directories to be omitted during task creation (server) ()
- Enabled task creation with directories from cloud storage or sharepoint ()
- Enhanced task creation to support any data type supported by the server
by default, from cloud storage without the necessity for the `use_cache` option ()
- Added capability for task creation with data from cloud storage without the `use_cache` option ()
### Changed
- User can now access resource links from any organization or sandbox, granted it's available to them ()
- Cloud storage manifest files have been made optional ()
- Updated Django to the 4.2.x version ()
- Renamed certain Nuclio functions to adhere to a common naming convention. For instance,
`onnx-yolov7` -> `onnx-wongkinyiu-yolov7`, `ultralytics-yolov5` -> `pth-ultralytics-yolov5`
()
### Deprecated
- Deprecated the endpoint `/cloudstorages/{id}/content` ()
### Fixed
- Fixed the issue of skeletons dumping on created tasks/projects ()
- Resolved an issue related to saving annotations for skeleton tracks ()
## \[2.4.4] - 2023-05-18
### Added
- Introduced a new configuration option for controlling the invocation of Nuclio functions.
()
### Changed
- Relocated SAM masks decoder to frontend operation.
()
- Switched `person-reidentification-retail-0300` and `faster_rcnn_inception_v2_coco` Nuclio functions with `person-reidentification-retail-0277` and `faster_rcnn_inception_resnet_v2_atrous_coco` respectively.
()
- Upgraded OpenVINO-based Nuclio functions to utilize the OpenVINO 2022.3 runtime.
()
### Fixed
- Resolved issues with tracking multiple objects (30 and more) using the TransT tracker.
()
- Addressed azure.core.exceptions.ResourceExistsError: The specified blob already exists.
()
- Corrected image scaling issues when transitioning between images of different resolutions.
()
- Fixed inaccurate reporting of completed job counts.
()
- Allowed OpenVINO-based Nuclio functions to be deployed to Kubernetes.
()
- Improved skeleton size checks after drawing.
()
- Fixed HRNet CPU serverless function.
()
- Prevented sending of empty list of events.
()
## \[2.4.3] - 2023-04-24
### Changed
- Docker images no longer include Ubuntu package sources or FFmpeg/OpenH264 sources
()
- TUS chunk size changed from 100 MB to 2 MB
()
## \[2.4.2] - 2023-04-14
### Added
- Support for Azure Blob Storage connection string authentication()
- Segment Anything interactor for CPU/GPU ()
### Changed
- The capability to transfer a task from one project to another project has been disabled ()
- The bounding rectangle in the skeleton annotation is visible solely when the skeleton is active ()
- Base backend image upgraded from ubuntu:20.04 to ubuntu:22.04 ()
### Deprecated
- TDB
### Removed
- Cloud storage `unique_together` limitation ()
- Support for redundant request media types in the API
()
- Static URLs and direct SDK support for the tus chunk endpoints.
Clients must use the `Location` header from the response to the `Upload-Length` request,
as per the tus creation protocol
()
### Fixed
- An invalid project/org handling in webhooks ()
- Warning `key` is undefined on project page ()
- An invalid mask detected when performing automatic annotation on a task ()
- The 'Reset zoom' option now retains the user's preferences upon reloading CVAT ()
- Cloud storage content listing when the manifest name contains special characters
()
- Width and height in CVAT dataset format mask annotations ()
- Empty list of export formats for a project without tasks ()
- Downgraded NumPy used by HRNet because `np.int` is no longer available ()
- Empty previews responsive to page resize ()
- Nuclio function invocations when deployed via the Helm chart
()
- Export of a job from a task with multiple jobs ()
- Points missing when exporting tracked skeleton ()
- Escaping in the `filter` parameter in generated URLs
()
- Rotation property lost during saving a mutable attribute ()
- Optimized /api/jobs request ()
- Server micro version support check in SDK/CLI ()
- \[SDK\] Compatibility with upcoming urllib 2.1.0
()
- Fix TUS file uploading if multiple apache processes are used ()
- The issue related to webhook events not being sent has been resolved ()
### Security
- Updated Redis (in the Compose file) to 7.0.x, and redis-py to 4.5.4
()
## \[2.4.1] - 2023-04-05
### Fixed
- Optimized annotation fetching up to 10 times ()
- Incorrect calculation of working time in analytics ()
## \[2.4.0] - 2023-03-16
### Added
- \[SDK\] An arg to wait for data processing in the task data uploading function
()
- Filename pattern to simplify uploading cloud storage data for a task (, )
- \[SDK\] Configuration setting to change the dataset cache directory
()
- \[SDK\] Class to represent a project as a PyTorch dataset
()
- Grid view and multiple context images supported ()
- Interpolation is now supported for 3D cuboids.
- Tracks can be exported/imported to/from Datumaro and Sly Pointcloud formats ()
- Support for custom file to job splits in tasks (server API & SDK only)
()
- \[SDK\] A PyTorch adapter setting to disable cache updates
()
- YOLO v7 serverless feature added using ONNX backend ()
- Cypress test for social account authentication ()
- Dummy github and google authentication servers ()
- \[Server API\] Simple filters for object collection endpoints
()
- Analytics based on Clickhouse, Vector and Grafana instead of the ELK stack ()
- \[SDK\] High-level API for working with organizations
()
- Use correct service name in LDAP authentication documentation ()
### Changed
- The Docker Compose files now use the Compose Specification version
of the format. This version is supported by Docker Compose 1.27.0+
().
- \[SDK\] The `resource_type` args now have the default value of `local` in task creation functions.
The corresponding arguments are keyword-only now.
()
- \[Server API\] Added missing pagination or pagination parameters in
`/jobs/{id}/commits`, `/organizations`
()
- Windows Installation Instructions adjusted to work around
- The contour detection function for semantic segmentation ()
- Delete newline character when generating a webhook signature ()
- DL models UI ()
- \[Server API\], \[SDK\] Arbitrary-sized collections in endpoints:
`/api/projects/{id}.tasks`, `/api/tasks/{id}.segments`, `/api/jobs/{id}.issues`,
`/api/issues/{id}.comments`, `/api/projects | tasks | jobs/{id}.labels`
()
- Hide analytics link from non-admin users ()
- Hide notifications on login/logout/register ()
- CVAT and CVAT SDK now use a custom `User-Agent` header in HTTP requests
()
### Deprecated
- TBD
### Removed
- \[Server API\] Endpoints with collections are removed in favor of their full variants
`/project/{id}/tasks`, `/tasks/{id}/jobs`, `/jobs/{id}/issues`, `/issues/{id}/comments`.
Corresponding fields are added or changed to provide a link to the child collection
in `/projects/{id}`, `/tasks/{id}`, `/jobs/{id}`, `/issues/{id}`
()
- Limit on the maximum number of manifest files that can be added for cloud storage ()
### Fixed
- Helm: Empty password for Redis ()
- Resolved HRNet serverless function runtime error on images with an alpha channel ()
- Addressed ignored preview & chunk cache settings ()
- Fixed exporting annotations to Azure container ()
- Corrected the type of the credentials parameter of `make_client` in the Python SDK
- Reduced noisy information in ortho views for 3D canvas ()
- Cleared disk space after project removal (, )
- Locked submit button when file is not selected during dataset import ()
- \[Server API\]Various errors in the generated schema ()
- Resolved browser freezing when requesting a job with NaN id ()
- Fixed SiamMask and TransT serverless functions ()
- Addressed creation of a project or task with the same labels ()
- \[Server API\] Fixed ability to rename label to an existing name ()
- Resolved issue of resetting attributes when moving a task to a project ()
- Fixed error in dataset export when parsing skeleton sublabels containing spaces ()
- Added missing `CVAT_BASE_URL` in docker-compose.yml ()
- Create cloud storage button size and models pagination ()
### Security
- Fixed vulnerability with social authentication ()
## \[2.3.0] - 2022-12-22
### Added
- SDK section in documentation ()
- Option to enable or disable host certificate checking in CLI ()
- REST API tests with skeletons ()
- Host schema auto-detection in SDK ()
- Server compatibility checks in SDK ()
- Objects sorting option in the sidebar, by z-order. Additional visualization when sorting is applied
()
- Added YOLOv5 serverless function with NVIDIA GPU support ()
- Mask tools now supported (brush, eraser, polygon-plus,
polygon-minus, returning masks from online detectors & interactors)
()
- Added Webhooks ()
- Authentication with social accounts: Google & GitHub (, , )
- REST API tests for exporting job datasets & annotations and validating their structure ()
- Backward propagation on UI ()
- Keyboard shortcut to delete a frame (Alt + Del) ()
- PyTorch dataset adapter layer in the SDK
()
- Method for debugging the server deployed with Docker ()
### Changed
- `api/docs`, `api/swagger`, `api/schema`, `server/about` endpoints now allow unauthorized access (, )
- 3D canvas now can be dragged in IDLE mode ()
- Datumaro version is upgraded to 0.3 (dev) ()
- Allowed trailing slashes in the SDK host address ()
- Adjusted initial camera position, enabled 'Reset zoom' option for 3D canvas ()
- Enabled authentication via email ()
- Unified error handling with the cloud storage ()
- In the SDK, functions taking paths as strings now also accept path-like objects
(