8000 Release v2.31.0 by cvat-bot[bot] · Pull Request #9164 · cvat-ai/cvat · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Release v2.31.0 #9164

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

8000 Merged
merged 28 commits into from
Mar 3, 2025
Merged

Release v2.31.0 #9164

merged 28 commits into from
Mar 3, 2025

Conversation

cvat-bot[bot]
Copy link
Contributor
@cvat-bot cvat-bot bot commented Mar 3, 2025

Added

Changed

Deprecated

Fixed

Marishka17 and others added 28 commits February 14, 2025 14:37
Since we are adding custom attributes to the request object (such as
`uuid` or `iam_context`), using the `Request` type is no longer
appropriate.
This PR refactors the quality page styles, specifically the tables. Fixed some cases when a scrollbar will appear
Small fix for typos in `cvat-canvas` and sdk docs
Remove one of the long-standing limitations on auto-annotation functions
by adding the necessary validation and remapping logic to support
attribute specifications and values. Add a utility module for attributes
with functionality I needed, but felt didn't belong in the
auto-annotation layer.

Adds the necessary code to support using functions with attributes via
agents, as well. I will submit the necesssary server-side code will be
submitted to the private repository later; until that is merged,
attempts to create native functions with attributes will be rejected.
Importing `rest_framework.viewsets` leads to DRF settings being loaded,
which imports a bunch of new modules, and in the SaaS version, ends up
reimporting `cvat.apps.engine.permissions` itself.

To fix this, since it's only used for type annotations, just don't
import it at runtime.
- Added support for consensus task and consensus job merging (API and
UI)
- Added simple consensus settings
- Added server tests
- Added new `consensus` RQ queue and worker
- Updated skeleton comparisons: hidden points now also contribute to the
skeleton similarity. Only visibility is taken into account for invisible
points

Limitations:
- Merging is supported for all annotations except 2d and 3d cuboids. 3d
tasks are not supported
- Annotation groups are not supported (each annotation is considered
separate in a group)
- Polygons and masks are not interchangeable (each type is compared only
with the same type)

Co-authored-by: Kirill Lakhov <kirill.lakhov@cvat.ai>
Update existing local storage test to include gamma setting checks. 

### Motivation and context

This is a test for storing gamma correction value alongside other
settings inside `localStorage`.
Thanks to #9032, gamma is treated separately from other color settings.
Unlike brightness, contrast and saturation settings, which change style
attributes on `#cvat_canvas_background`, gamma is stored inside
`localStorage.clientSettings.imageFilter` entity. This was the main
motivation of updating the `case_68_saving_settings_local_storage.js`
instead of writing a new testcase or updating the color settings test.

### How has this been tested?
The main flow of the test stayed the same, but with couple of changes.
Validation and setup parts were extended to include gamma.

Before the changes the test looked like this:

0. Open job
1. Setup workspace settings (check the boxes). Make sure that
`localStorage` is set
2. Reload
3. Validate settings (should be checked)
4. Repeat step 1 (this time uncheck the boxes)
5. Reload
6. Repeat step 3 (should be unchecked)

Now, gamma is set up before step 1 and validated after first reload.
Also, color settings are reset after the gamma check to keep integrity
between tests


### Checklist
- [ ] I submit my changes into the `develop` branch
- [ ] I have created a changelog fragment <!-- see top comment in
CHANGELOG.md -->
- [ ] I have updated the documentation accordingly
- [ ] I have added tests to cover my changes
- [ ] I have linked related issues (see [GitHub docs](

https://help.github.com/en/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword))

### License

- [ ] I submit _my code changes_ under the same [MIT License](
https://github.com/cvat-ai/cvat/blob/develop/LICENSE) that covers the
project.
  Feel free to contact the maintainers if that's a concern.

---------

Co-authored-by: Oleg Valiulin <oleg.valiulin@cvat.ai>
Co-authored-by: Kirill Lakhov <kirill.lakhov@cvat.ai>
Fixed a problem when image filter application was resetting zoom for `issue` labels in review mode
This PR changes the way we work with RQ meta. The previous
implementation tried to standardize the fields saved in the meta and how
to access them, however, we had to remember the structure of nested
objects. This approach explicitly defines the structure of the meta
being used.
* The ones in `Dockerfile` appears to be a remnant of a feature deleted
  in #1767.

* The ones in `Dockerfile.ci` are irrelevant since #6173 and #8985.
<!-- Provide a general summary of your changes in the Title above -->

### Motivation and context

Basic coverage for redis migrations support from #8898

### How has this been tested?

#### Prepare
- A `.py` migration file with an incorrect migration class is generated
- Redis is patched with `fakeredis` instance throughout the whole test
suite since our main concern is the migration tool itself, not the Redis
database.

### Case 1: Migration is added and applied successfully
 
- Migrations not applied yet: `migrateredis --check` should exit the
program
- Apply migrations with `migrateredis`, should return correctly
- Assert that migration names from existing files match the ones added
to `cvat:applied_migrations` key

### Case 2: Migration is not added and not applied

- Generate a bad stub file named `000_bad.py` with the following
contents:
```python
class Migration:
    @classmethod
    def run(cls): ...
```

Since the Migration class is not a subclass of BaseMigration, we expect
that
-  `LoaderError` is raised 
- `Migration.run` is not called


### Checklist
- [x] I submit my changes into the `develop` branch
- [ ] I have created a changelog fragment
- [ ] I have updated the documentation accordingly
- [ ] I have added tests to cover my changes
- [ ] I have linked related issues (see [GitHub docs](

https://help.github.com/en/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword))

### License

- [ ] I submit _my code changes_ under the same [MIT License](
https://github.com/cvat-ai/cvat/blob/develop/LICENSE) that covers the
project.
  Feel free to contact the maintainers if that's a concern.

---------

Co-authored-by: Oleg Valiulin <oleg.valiulin@cvat.ai>
Co-authored-by: Maria Khrustaleva <maria@cvat.ai>
* Add `/events/` (needed because of #9015).
* Remove obsolete patterns.
This provides coverage for fix #9095

### Motivation and context

### How has this been tested?
- Generate new task from existing videofile with 3 frames
- Create new ground truth job, picking 1 frame (the bug manifests when
frame index is greater than `frameCount`)
- Go to job.
The job should open correctly (canvas exists and visible).
No crashes should happen. No error notifications should appear.

feature test `ground_truth_jobs.js` already contains regression tests,
so this test updates that. A separate `describe` block is added with
separate hooks to generate a gt-task from video

### Checklist

- [ ] I submit my changes into the `develop` branch
- [ ] I have created a changelog fragment 
- [ ] I have updated the documentation accordingly
- [ ] I have added tests to cover my changes
- [ ] I have linked related issues (see [GitHub docs](

https://help.github.com/en/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword))

### License

- [ ] I submit _my code changes_ under the same [MIT License](
https://github.com/cvat-ai/cvat/blob/develop/LICENSE) that covers the
project.
  Feel free to contact the maintainers if that's a concern.

---------

Co-authored-by: Oleg Valiulin <oleg.valiulin@cvat.ai>
@cvat-bot cvat-bot bot requested review from azhavoro and bsekachev as code owners March 3, 2025 14:48
Copy link
sonarqubecloud bot commented Mar 3, 2025

@codecov-commenter
Copy link

Codecov Report

Attention: Patch coverage is 54.53502% with 792 lines in your changes missing coverage. Please review.

Project coverage is 73.32%. Comparing base (90417f9) to head (d3c7766).
Report is 48 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #9164      +/-   ##
==========================================
- Coverage   73.97%   73.32%   -0.65%     
==========================================
  Files         429      448      +19     
  Lines       44615    45868    +1253     
  Branches     3892     3915      +23     
==========================================
+ Hits        33005    33634     +629     
- Misses      11610    12234     +624     
Components Coverage Δ
cvat-ui 77.09% <36.49%> (-0.43%) ⬇️
cvat-server 70.31% <57.02%> (-0.73%) ⬇️

@cvat-bot cvat-bot bot merged commit 140301a into master Mar 3, 2025
31 checks passed
@cvat-bot cvat-bot bot deleted the release-2.31.0 branch March 3, 2025 20:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants
0