Skip to content

Releases: wkentaro/labelme

v5.11.3

20 Feb 10:07

Choose a tag to compare

  • fix: force light mode (dark mode not supported yet) #1808

Full Changelog: v5.11.2...v5.11.3

v5.11.2

31 Jan 07:42

Choose a tag to compare

Fixes

  • fix: stop setting and drawing mask for non-mask shapes (#1797)

Full Changelog: v5.11.1...v5.11.2

v5.11.1

28 Jan 21:23

Choose a tag to compare

Dependencies

  • Bump osam to >=0.3.1 to support imgviz>=2.0.0 (100c2a2)

Full Changelog: v5.11.0...v5.11.1

v5.11.0

28 Jan 13:00
49db715

Choose a tag to compare

Features

  • Support square drawing for "Create Rectangle" (#1748) @kancheng
  • Use style "Fusion" for consistent appearance across platforms (#1751)
  • Introduce SAM3 (smart) model for text-to-rectangle (#1762)
  • Support "polygon" and "mask" in AI text-to-annotation (#1774)
  • Add "Preferences..." menu for config file editing (#1781)

SAM3 AI text-to-annotation

FocuSee.Project.2026-01-19.7-29-43.PM.mp4

Preferences...

image

Bug Fixes

  • Clear selectedShapes to avoid crash on loading new image (#1717)
  • Import onnxruntime before PyQt5 (#1723)
  • Use canCloseShape for double-click finalization (#1724)
  • Fix typo in variable name in shape.py (#1733) @minewilliam
  • Handle empty input in nms_bboxes (#1761)
  • Load OsamSession lazily for AI-assisted shapes (#1775)
  • Handle Windows-style paths in LabelFile (#1784)
  • Replace np.cross with manual 2D cross product (#1785)
  • Reflect file_search in config at start time (#1788)

UI Improvements

  • Show model selection in AI Prompt widget (#1752)
  • Disable "AI Prompt" widget when not in rectangle create mode (#1753)
  • Add info button to AI-assisted annotation widget (#1764)
  • Add tooltip for AI Text-to-Annotation info button (#1766)
  • Disable AI-Assisted Annotation widget when not in AI modes (#1767)
  • Add newline for Japanese translation of menu items (#1768)
  • Allow label editing when non-edit mode only from label list (#1769)

Internationalization

Build

  • Drop Python 3.9 support (#1746)
  • Migrate to ty for type checking (replacing mypy) (#1720)
  • Use hatch dynamic versioning (#1771)

Dependencies

  • Bump filelock from 3.17.0 to 3.20.3 (#1747)
  • Bump urllib3 from 2.3.0 to 2.6.3 (#1756)
  • Bump requests from 2.32.3 to 2.32.4 (#1757)
  • Bump protobuf from 5.29.3 to 5.29.5 (#1758)
  • Bump fonttools from 4.56.0 to 4.60.2 (#1759)

Refactoring

  • Add OsamSession class for osam model and embedding caching (#1754, #1760)
  • Extract and rename AiAssistedAnnotationWidget (#1763, #1765)
  • Use importlib.metadata to get version (#1770)
  • Reorganize tests into e2e and unit tests (#1786)

CI

  • Check version of pylupdate5 before generating .ts files (#1731)
  • Add Discord notification for merged PRs (#1755)

Contributors

Thanks to all contributors for this release! 🎉

Full Changelog: v5.10.1...v5.11.0

v5.11.0a0

26 Jan 11:31
8cf2d48

Choose a tag to compare

v5.11.0a0 Pre-release
Pre-release

Prerelease for v5.11.0

uvx --python 3.13 --prerelease=allow --from labelme==5.11.0a0 labelme

v5.10.1

29 Nov 19:58

Choose a tag to compare

Full Changelog: v5.10.0...v5.10.1

Fixes

  • 9fa85b5 - fix: use canCloseShape for double-click finalization
  • 97e4b4b - fix: import onnxruntime before pyqt5
  • dcd8e6e - fix(canvas): clear selectedShapes to avoid crash on loading new image

v5.10.0

25 Nov 13:21

Choose a tag to compare

labelme_v5_10

What's Changed

Features

  • feat(app): show canvas mode in status bar in #1682
  • feat(app): show create-shape tools on left side bar in #1685
  • feat(app): show image index in window title in #1692
  • feat(canvas): allows dragging to move around the canvas by @juliusl in #1622
  • feat(canvas): prioritize to select highlighted shape's vertex in Canvas in #1691
  • feat(icons): refresh icons in #1701
  • feat(zoom): zoom towards canvas center unless by mouse wheel in #1704

Fixes

  • fix(app): disable editMode button onload because it's already EDIT mode in #1683
  • fix(app): fix font size inconsistency in ToolBar on macOS in #1713
  • fix(app): fix redundant mayContinue reusing fileSelectionChanged in #1693
  • fix(app): handle high-dpi scaling issue on Qt applications in #1687
  • fix(app): handle null image in paintCanvas in #1695
  • fix(app): handle when file is closed and imageList is not None in #1700
  • fix(app): show current index based on file list widget in #1708
  • fix(app): stop focusing to ai-prompt after closing file in #1699
  • fix(app): tweak epsilon for scaleFitWidth to better hide scrollbar in #1702
  • fix(app): use ascii bullet in status messages to fix shifting in #1712
  • fix(canvas): clear Canvas.shapes so that it won't be rendered after reset in #1690
  • fix(canvas): stop caching sam by lru cache to reduce vram usage in #1715
  • fix(zoom): center zoom on visible region center instead of canvas in #1705

Others

  • chore(app): compact toolbar in #1684
  • chore(tools): log lrelease version used & skip if lrelease is not 5.15.x in #1686
  • refactor(app): refactor to use snake case and type-annotation in #1694
  • refactor(app): refactor to use snake_case and type-annotation in #1697
  • refactor(app): replace _adjust_scale with _set_zoom in #1703
  • refactor(app): replace _noSelectionSlot with itemSelectionChanged.connect/disconnect in #1698
  • refactor(app): use snake_case and type-annotate in #1696
  • refactor(tests): use pathlib in labelme_tests in #1707
  • test: isolate QSettings in test_app.py to prevent side effects in #1689

New Contributors

Full Changelog: v5.9.1...v5.10.0

v5.9.1

17 Oct 13:15

Choose a tag to compare

What's Changed

Fixes

  • fix(canvas): immediately affect cursor changes while avoiding flicking in #1681

Full Changelog: v5.9.0...v5.9.1

v5.9.0

16 Oct 12:02

Choose a tag to compare

What's Changed

Features

  • feat: validate shape JSON objects in LabelFile in #1624
  • feat: Allow spacebar for finalizing a shape by @akx in #1474
  • feat: show drawing & editing status messages on status bar in #1673
  • feat(canvas): show progress dialog when downloading AI model in #1677
  • feat(app): add option to keep previous brightness/contrast settings in #1678
  • feat(app): show download dialog for text-to-bbox model in #1679
  • feat(app): add "About Labelme" menu and dialog in #1680

Fixes

  • fix: Fix closure issue in brightness/contrast slider label update by @xiyaowong in #1613
  • fix: don't fill linestrip internal area in #1628
  • fix: fix missing fill-drawing in polygon mode in #1627
  • fix: fix label list design inconsistency on Windows by using HtmlDelegate in #1646
  • fix: fix cursor flickering on Windows in #1647
  • fix: prevent overwriting items when dragging and dropping in label list in #1651
  • fix: Fix brightness/contrast for PNG image in #1655
  • fix: fix not-shown save automatically state by removing icon on Windows in #1657

Others

  • chore: add startup log message for labelme version in #1615
  • chore: include 16, 32, 48, 64, 128, and 256 pixel icons in icon.ico in #1619
  • docs: link to new install-labelme-terminal doc (using uv) in #1623
  • chore: Use standard types.SimpleNamespace instead of custom struct by @akx in #1480
  • chore: Add .git-blame-ignore-revs by @akx in #1476
  • ci: run lints/checks only once in #1629
  • ci: fix indentation in ci.yml in #1630
  • chore: remove flake8 noqa comments from init.py files in #1631
  • chore: Clean up some type: ignore comments by @akx in #1626
  • chore: upgrade ruff from 0.1.9 to 0.12.11; autofix by @akx in #1633
  • chore: Apply and enable flynt check in #1634
  • chore: Enable pyupgrade check in ruff in #1635
  • ci: check translation files are up-to-date in #1636
  • ci: use cache-apt-pkgs-action to speed up CI in #1637
  • ci: ignore line numbers in translation file check in #1642
  • refactor: make _get_default_config_and_create_labelmerc private in #1644
  • chore: define default shape colors in Shape class in #1643
  • build(dep): upgrade osam to 0.2.5 in #1645
  • refactor: Simplify QPointF, Qt modifiers use in canvas.py in #1648
  • chore: type annotate canvas functions to remove type: ignore in #1649
  • chore: Remove mypy ignore for Shape._current_vertex_fill_color in #1661
  • chore: Update language-updating by @akx in #1638
  • chore: Clean up more "type: ignore" comments by @akx in #1632
  • refactor: Move action collections out of actions namespace by @akx in #1662

New Contributors

Full Changelog: v5.8.3...v5.9.0

v5.8.3

13 Jul 06:08

Choose a tag to compare

Fixes

Dependencies

New Contributors

Full Changelog: v5.8.2...v5.8.3