v4.0.0-beta.1

CVHub520/X-AnyLabelingv4.0.0-beta.1Mar 1, 2026by CVHub520

AI Summary

This major release migrates the GUI framework from PyQt5 to PyQt6, adds comprehensive theme support with System/Light/Dark modes, and introduces numerous new annotation and auto-labeling features.

Key Highlights

  • Migrated GUI framework from PyQt5 to PyQt6
  • Added appearance theme support with System, Light, and Dark modes
  • Added class filter dialog for multi-model auto-labeling workflows
  • Added cancellable model download with real-time progress
  • Added Shift-key snapping for horizontal/vertical line segments

Breaking Changes

  • Migrated GUI framework from PyQt5 to PyQt6

New Features

  • PyQt6 migration
  • Theme support (System/Light/Dark)
  • Class filter dialog for auto-labeling
  • Cancellable model downloads with progress
  • Shift-key snapping for lines
  • Quadrilateral shape annotation
  • Brush polygon drawing mode
  • Double-click label editing in Edit Mode

Full Release Notes

<img width="1920" height="1029" alt="image" src="https://github.com/user-attachments/assets/47448113-3908-4860-a6ee-6b673b9d0b32" />

> PyPI: https://pypi.org/project/x-anylabeling-cvhub/
> Baidu Cloud: https://pan.baidu.com/s/1pgaw02inCvbEgOme9ajDJA?pwd=e528

> [!NOTE]
> Due to compatibility issues across different systems, if the precompiled version doesn’t work properly on your machine, you can try building and running it from source instead. For details, check out the official installation guide and user documentation.

### πŸš€ New Features

- [Breaking] Migrate the GUI framework from PyQt5 to PyQt6 across the application, including QtWebEngine and scoped-enum API updates. (#1087)
- Add appearance theme support with `System`, `Light`, and `Dark` modes. (#315,#741,#937)
- Add class filter dialog support in auto-labeling for multi-model workflows (YOLO family, RT-DETR, RF-DETR, DAMO YOLO, YOLO-NAS, and related models). (#905)
- Add cancellable model download with real-time progress display in the auto-labeling panel. (#40)
- Add Shift-key snapping for horizontal/vertical line segments when drawing `line` and `linestrip`. (#1312)
- Add quadrilateral shape annotation (`T`) and quadrilateral import/export support for PPOCR label conversion. (#705)
- Add brush polygon drawing mode with configurable point distance. (#799)
- Add double-click label editing support in Edit Mode.

### πŸ› Bug Fixes

- Fix InternImage configuration type mapping (`internimage_cls`).
- Fix video frame extraction progress hangs caused by unconsumed ffmpeg output pipes. (#1309)
- Fix rotation-shape clipping behavior to keep geometry within pixmap boundaries. (#1268)
- Fix incorrect display of `h` and `w` of shape properties in canvas.

### πŸ› οΈ Improvements

- Optimize image switching performance for large datasets. (#757)
- Reorganize PyInstaller assets into `packaging/pyinstaller/` and improve ONNXRuntime runtime bootstrapping for packaged builds.
- Update packaging/dependency configuration for PyQt6-era environments and remove legacy `requirements*.txt` files.

### 🌟 Contributors

A total of 1 developer contributed to this release.

Thank @CVHub520

**Full Changelog**: https://github.com/CVHub520/X-AnyLabeling/compare/v3.3.10...v4.0.0-beta.1