Skip to content

v6.1.0

Choose a tag to compare

@wkentaro wkentaro released this 16 Apr 15:03
· 347 commits to main since this release

LabelMe v6.1 adds SAM3 support, reworks the AI toolbar, and bumps test coverage to 125 e2e tests. The "Open Recent" submenu has been removed and labelme.utils.lblsave is deprecated; if you depend on either, see Breaking changes and Migration guide below.

Released on 2026-04-16.

Breaking changes

  • "Open Recent" removed. The recent-files submenu in the File menu is gone. Use the file list dock or the OS file dialog. (#1921)
  • labelme.utils.lblsave deprecated. The old import still works (emits a DeprecationWarning) but will be removed in a future release. See Migration guide. (#1911, #1959)

New features

  • SAM3 AI-Box mode: new AI annotation option. In AI-Box mode, a single bounding box can produce multiple shapes. (#1917)
  • Unified AI modes: the four old AI tools (ai_polygon, ai_mask, etc.) are now two: AI Points -> Shape and AI Box -> Shape, each with a polygon/mask toggle. A separator in the toolbar divides manual tools from AI tools. (#1915, #1916)
  • Download progress bar: AI model downloads now show progress and can be cancelled. (#1948)
  • Sibling image import: opening a single image file loads all images in the same directory into the file list. (#1924)
  • AI button hover hint: hovering the disabled AI widget highlights the AI toolbar buttons so new users can find them. (#1961)
  • Async canvas repainting: canvas calls update() instead of repaint(), avoiding blocking redraws. (#1869)
  • New translations: Greek (#1893), Ukrainian (#1892), Russian (#1891).

Bug fixes

  • Double-undo on delete: deleting a shape used to require two undos to restore it; now one undo is enough. (#1932)
  • SAM3 disabled in AI-Points mode: SAM3 doesn't support point prompts, so it's now greyed out in the model selector with a warning. (#1918)
  • Tooltip mismatch: AI mode tooltips now match the renamed menu labels. (#1928)

Also includes fixes shipped in v6.0.1 and v6.0.2:

  • Unchecking "Save Automatically" had no effect since the v6.0.0 default change. (#1953)
  • README images on pypi.org were broken due to relative paths. (#1954)

Migration guide

labelme.utils.lblsave -> imgviz.io.lblsave

- from labelme.utils import lblsave
- lblsave(filename, lbl)
+ from imgviz.io import lblsave
+ lblsave(filename, lbl)

The old import still works in v6.1 but emits a DeprecationWarning. (#1911, #1959)

"Open Recent" replacement

There is no drop-in replacement. Use the file list dock (which now auto-populates with sibling images, see New features) or your OS file dialog. (#1921)

Internal

  • Type annotations on all functions, enforced by ty check. (#1920, #1922)
  • E2E test suite went from ~20 to 125 tests. (#1930, #1931, #1933, #1935, #1936, #1937, #1938, #1939, #1960)
  • Core algorithm rewrites: boundedMoveShapes, storeShapes (now a deque), widget dialogs. (#1941)
  • osam bumped to stable 0.4.0; cropped mask support. (#1919)
  • New linters: flake8-annotations, typos, taplo, mdformat, yamlfix. (#1927)
  • CI split into lint.yml + test.yml; setup-uv aligned to v6. (#1951, #1952)

Contributors

Install

pip install -U labelme==6.1.0
# or
uv tool install labelme==6.1.0

Full changelog: v6.0.0...v6.1.0