Skip to content
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

Release v2.20.0 #8495

Merged
merged 10 commits into from
Oct 1, 2024
Merged

Release v2.20.0 #8495

merged 10 commits into from
Oct 1, 2024

Commits on Sep 20, 2024

  1. Configuration menu
    Copy the full SHA
    2708783 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #8460 from cvat-ai/dev-release-2.19.0

    Update develop after v2.19.0
    azhavoro authored Sep 20, 2024
    Configuration menu
    Copy the full SHA
    d452fcd View commit details
    Browse the repository at this point in the history

Commits on Sep 24, 2024

  1. Stabilize E2E tests (#8465)

    <!-- Raise an issue to propose your change
    (https://github.com/cvat-ai/cvat/issues).
    It helps to avoid duplication of efforts from multiple independent
    contributors.
    Discuss your ideas with maintainers to be sure that changes will be
    approved and merged.
    Read the [Contribution guide](https://docs.cvat.ai/docs/contributing/).
    -->
    
    <!-- Provide a general summary of your changes in the Title above -->
    
    ### Motivation and context
    <!-- Why is this change required? What problem does it solve? If it
    fixes an open
    issue, please link to the issue here. Describe your changes in detail,
    add
    screenshots. -->
    requests page tests:
    The is a potential issue in regression test. As we test 2 exports one by
    one, there can be 2 pop-up notifications about successful operation. But
    our command cy.closeNotification expects only one. So changed logic a
    bit in test so it doesnt crush even if there is several notifications
    
    quality_management tests:
    sometimes actions button is not clicked
    
    ### How has this been tested?
    <!-- Please describe in detail how you tested your changes.
    Include details of your testing environment, and the tests you ran to
    see how your change affects other areas of the code, etc. -->
    
    ### Checklist
    <!-- Go over all the following points, and put an `x` in all the boxes
    that apply.
    If an item isn't applicable for some reason, then ~~explicitly
    strikethrough~~ the whole
    line. If you don't do that, GitHub will show incorrect progress for the
    pull request.
    If you're unsure about any of these, don't hesitate to ask. We're here
    to help! -->
    - [x] 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))~~
    - ~~[ ] I have increased versions of npm packages if it is necessary
    
    ([cvat-canvas](https://github.com/cvat-ai/cvat/tree/develop/cvat-canvas#versioning),
    
    [cvat-core](https://github.com/cvat-ai/cvat/tree/develop/cvat-core#versioning),
    
    [cvat-data](https://github.com/cvat-ai/cvat/tree/develop/cvat-data#versioning)
    and
    
    [cvat-ui](https://github.com/cvat-ai/cvat/tree/develop/cvat-ui#versioning))~~
    
    ### License
    
    - [x] 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.
    
    
    <!-- This is an auto-generated comment: release notes by coderabbit.ai
    -->
    
    ## Summary by CodeRabbit
    
    - **Bug Fixes**
    - Improved the method for closing the export completion notification on
    the requests page for better reliability.
    
    <!-- end of auto-generated comment: release notes by coderabbit.ai -->
    klakhov authored Sep 24, 2024
    Configuration menu
    Copy the full SHA
    f227718 View commit details
    Browse the repository at this point in the history
  2. Per segment chunks (#8272)

    <!-- Raise an issue to propose your change
    (https://github.com/cvat-ai/cvat/issues).
    It helps to avoid duplication of efforts from multiple independent
    contributors.
    Discuss your ideas with maintainers to be sure that changes will be
    approved and merged.
    Read the [Contribution guide](https://docs.cvat.ai/docs/contributing/).
    -->
    
    <!-- Provide a general summary of your changes in the Title above -->
    
    ### Motivation and context
    <!-- Why is this change required? What problem does it solve? If it
    fixes an open
    issue, please link to the issue here. Describe your changes in detail,
    add
    screenshots. -->
    
    - Changed chunk generation from per-task chunks to per-segment chunks
    - Fixed a memory leak in video reading on the server side (only in
    media_extractors, so there are several more left)
    - Fixed a potential hang in `import` worker or the server process on
    process shutdown
    - Disabled multithreading in video reading in endpoints (not in static
    chunk generation)
    - Refactored static chunk generation code (moved after job creation)
    - Refactored various server internal APIs for frame retrieval
    - Updated UI logic to access chunks, added support for non-sequential
    frames in chunks
    - Added a new server configuration option `CVAT_ALLOW_STATIC_CACHE`
    (boolean) to enable and disable static cache support. The option is
    disabled by default (it's changed from the previous behavior)
    - Added tests for the changes made
    - Added missing original chunk type field in job responses
    - Fixed invalid kvrocks cleanup in tests for Helm deployment
    - Added a new 0-based `index` parameter in `GET
    /api/jobs/{id}/data/?type=chunk` to simplify indexing
      - GT job chunks with non-sequential frames have no placeholders inside
    
    When this update is applied to the server, there will be a data storage
    setting migration for the tasks. Existing tasks using static chunks
    (`task.data.storage_method == FILE_SYSTEM`) will be switched to the
    dynamic cache (i.e. to `== CACHE)`). The remaining files should be
    removed manually, there will be a list of such tasks in the migration
    log file.
    
    After this update, you'll have an option to enable or disable static
    cache use during task creation. This allows, in particular, prohibit new
    tasks using the static cache. With this option, any tasks using static
    cache will use the dynamic cache instead on data access.
    
    User-observable changes:
    - Job chunk ids now start from 0 for each job instead of using parent
    task ids
    - The `use_cache = false` or `storage_method = filesystem` parameters in
    task creation can be ignored by the server
    - Task chunk access may be slower for some chunks (particularly, for
    tasks with overlap configured, for chunks on segment boundaries, and for
    tasks previously using static chunks)
    - The last chunk in a job will contain only the frames from the current
    job, even if there are more frames in the task
    
    ### How has this been tested?
    <!-- Please describe in detail how you tested your changes.
    Include details of your testing environment, and the tests you ran to
    see how your change affects other areas of the code, etc. -->
    
    ### Checklist
    <!-- Go over all the following points, and put an `x` in all the boxes
    that apply.
    If an item isn't applicable for some reason, then ~~explicitly
    strikethrough~~ the whole
    line. If you don't do that, GitHub will show incorrect progress for the
    pull request.
    If you're unsure about any of these, don't hesitate to ask. We're here
    to help! -->
    - [ ] 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))
    - [ ] I have increased versions of npm packages if it is necessary
    
    ([cvat-canvas](https://github.com/cvat-ai/cvat/tree/develop/cvat-canvas#versioning),
    
    [cvat-core](https://github.com/cvat-ai/cvat/tree/develop/cvat-core#versioning),
    
    [cvat-data](https://github.com/cvat-ai/cvat/tree/develop/cvat-data#versioning)
    and
    
    [cvat-ui](https://github.com/cvat-ai/cvat/tree/develop/cvat-ui#versioning))
    
    ### 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.
    
    
    <!-- This is an auto-generated comment: release notes by coderabbit.ai
    -->
    ## Summary by CodeRabbit
    
    ## Summary by CodeRabbit
    
    - **New Features**
    - Introduced a new server setting to disable media chunks on the local
    filesystem.
    - Enhanced frame prefetching with a `startFrame` parameter for improved
    chunk calculations.
    - Added a new property, `data_original_chunk_type`, for enhanced job
    differentiation in the metadata.
    
    - **Bug Fixes**
    - Resolved memory management issues to prevent leaks during video
    processing.
    	- Corrected naming inconsistencies related to the `prefetchAnalyzer`.
    
    - **Documentation**
    - Included configuration for code formatting tools to ensure consistent
    code quality across the project.
    
    - **Refactor**
    - Restructured classes and methods for improved clarity and
    maintainability, particularly in media handling and task processing.
    
    - **Chores**
    - Updated formatting scripts to include additional directories for
    automated code formatting.
    <!-- end of auto-generated comment: release notes by coderabbit.ai -->
    zhiltsov-max authored Sep 24, 2024
    Configuration menu
    Copy the full SHA
    c9754a9 View commit details
    Browse the repository at this point in the history

Commits on Sep 26, 2024

  1. Configuration menu
    Copy the full SHA
    8a1e6d5 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #8474 from cvat-ai/dev-release-2.19.1

    Update develop after v2.19.1
    azhavoro authored Sep 26, 2024
    Configuration menu
    Copy the full SHA
    45d2d01 View commit details
    Browse the repository at this point in the history

Commits on Sep 30, 2024

  1. Updated task-details documentation (#8468)

    <!-- Raise an issue to propose your change
    (https://github.com/cvat-ai/cvat/issues).
    It helps to avoid duplication of efforts from multiple independent
    contributors.
    Discuss your ideas with maintainers to be sure that changes will be
    approved and merged.
    Read the [Contribution guide](https://docs.cvat.ai/docs/contributing/).
    -->
    
    <!-- Provide a general summary of your changes in the Title above -->
    
    ### Motivation and context
    <!-- Why is this change required? What problem does it solve? If it
    fixes an open
    issue, please link to the issue here. Describe your changes in detail,
    add
    screenshots. -->
    The task details documentaion page is very outdated. It displays old UI
    and some icorrect info
    
    ### How has this been tested?
    <!-- Please describe in detail how you tested your changes.
    Include details of your testing environment, and the tests you ran to
    see how your change affects other areas of the code, etc. -->
    
    ### Checklist
    <!-- Go over all the following points, and put an `x` in all the boxes
    that apply.
    If an item isn't applicable for some reason, then ~~explicitly
    strikethrough~~ the whole
    line. If you don't do that, GitHub will show incorrect progress for the
    pull request.
    If you're unsure about any of these, don't hesitate to ask. We're here
    to help! -->
    - [ ] 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))
    - [ ] I have increased versions of npm packages if it is necessary
    
    ([cvat-canvas](https://github.com/cvat-ai/cvat/tree/develop/cvat-canvas#versioning),
    
    [cvat-core](https://github.com/cvat-ai/cvat/tree/develop/cvat-core#versioning),
    
    [cvat-data](https://github.com/cvat-ai/cvat/tree/develop/cvat-data#versioning)
    and
    
    [cvat-ui](https://github.com/cvat-ai/cvat/tree/develop/cvat-ui#versioning))
    
    ### 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.
    
    
    <!-- This is an auto-generated comment: release notes by coderabbit.ai
    -->
    
    ## Summary by CodeRabbit
    
    - **Documentation**
    	- Updated content in the `task-details.md` for improved clarity.
    	- Changed image references for better accuracy.
    - Clarified terminology regarding job attributes and expanded the
    description of the "Assignee."
    - Removed outdated references and functionality related to the
    "Reviewer" and clipboard copying.
    
    <!-- end of auto-generated comment: release notes by coderabbit.ai -->
    klakhov authored Sep 30, 2024
    Configuration menu
    Copy the full SHA
    0b7fc51 View commit details
    Browse the repository at this point in the history

Commits on Oct 1, 2024

  1. Remove task_subsets from ProjectWriteSerializer (#8492)

    This is a generated field, so it makes no sense to write to it. In
    practice, attempting to do so when creating a project causes a crash in
    `ProjectWriteSerializer.create`, while doing it when updating a project
    has no effect.
    SpecLad authored Oct 1, 2024
    Configuration menu
    Copy the full SHA
    99669f5 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7551d6c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    44c6b97 View commit details
    Browse the repository at this point in the history