Skip to content

v6.0.0

Choose a tag to compare

@wkentaro wkentaro released this 28 Mar 08:48
· 534 commits to main since this release
942f276

LabelMe v6 changes two important defaults (auto-save on, image data no longer embedded), renames CLI flags and UI labels, adds support for large and multispectral TIFF images, and removes several legacy CLI entry points. If you're upgrading from v5, read Breaking changes and Migration guide below.

Released on 2026-03-28.

Breaking changes

Defaults flipped

  • Auto-save is now ON by default. Files save automatically as you annotate. To disable: labelme --no-auto-save, or set auto_save: false in your config.
  • Image data is no longer embedded in JSON by default. JSON files are now much smaller and reference image paths instead of embedding base64. To embed: labelme --with-image-data, or set with_image_data: true in your config.

CLI changes

  • Positional argument renamed: filename -> path. Now accepts image files, label files, or directories.
  • --output simplified: always expects a directory path (no longer accepts .json file paths).
  • CLI flags standardized to hyphenated style:
    • --no-autosave -> --no-auto-save
    • --nosortlabels -> --no-sort-labels
    • --labelflags -> --label-flags
    • --validatelabel -> --validate-label
    • Old forms are kept as hidden aliases and will be removed in v7.

UI renames

  • "Shape Labels" dock -> "Annotation List". (#1828)
  • "polygon" -> "shape" in shortcuts and UI labels. (#1822)

Removed

  • labelme_draw_json, labelme_draw_label_png, labelme_export_json CLI entry points. Moved to examples/ as standalone scripts (e.g., python examples/tutorial/draw_json.py).
  • labelme_on_docker CLI entry point.
  • labelme.utils.polygons_to_mask() and labelme.utils.labelme_shapes_to_label() (deprecated since v4).

Migration guide

Auto-save default change

# v5: opt-in via flag
- labelme --autosave
# v6: on by default; opt out instead
+ labelme               # auto-save enabled
+ labelme --no-auto-save  # disable

The old --autosave flag still works but will be removed in v7.

Embedded image data

# v5: embedded by default; --nodata to opt out
- labelme --nodata
# v6: omitted by default; --with-image-data to opt in
+ labelme                     # paths only
+ labelme --with-image-data   # embed base64

The old --nodata flag still works but will be removed in v7. Existing config files using store_data are automatically migrated to with_image_data.

CLI rename example

- labelme --nosortlabels --labelflags labels.json img/
+ labelme --no-sort-labels --label-flags labels.json img/

Removed CLI entry points

- labelme_draw_json out.json
+ python examples/tutorial/draw_json.py out.json

New features

  • Large and multispectral TIFF image support: float32 and multi-band TIFFs (e.g., satellite imagery) now load correctly and much faster. (#1811, #1812)
  • "Reset Layout" action: reset the window layout to default from the menu. (#1864)
  • Point shape click selection: point shapes are now properly clickable. (#1860)
  • Vertex hover priority: vertices are now prioritized over shape bodies in hover detection, making editing easier. (#1867)
  • Sparse config file: ~/.labelmerc is now created with only user-changed settings instead of the full default config. (#1796)
  • New translations: Polish (#1809), Thai (#1886), and Turkish (#1805).

Bug fixes

  • Fix crash on arrow keys when no shape is selected. (#1457)
  • Fix ValueError: Shape not in list when previously selected shapes are missing. (#1396)
  • Fix hang with @ symbol in file paths due to natsort. (#1672, #1904)
  • Fix crash on unknown config keys; now warns and skips. (#1887)
  • Fix crash on malformed JSON in file dialog preview. (#1900)
  • Fix RGBA/transparent images in brightness/contrast dialog. (#1872)
  • Fix crosshair guide lines extending beyond image bounds. (#1870)
  • Fix pasted shapes not selected after cross-file paste. (#1876)
  • Fix rectangle right-to-left drawing in shape_to_mask. (#1817)
  • Fix out-of-bounds vertex crash in canvas. (#1818)
  • Fix RGBA PNG conversion in labelme2coco. (#1830)
  • Fix deprecated np.bool usage. (#1831)
  • Fix window position recovery when saved screen is no longer available. (#1859)
  • Fix out-of-bounds highlight for AI-generated masks. (#1858)
  • Fix mask incorrectly set on non-mask shapes. (#1797)
  • Show error dialog when image file fails to open. (#1810)
  • Force light mode (dark mode not yet supported). (#1808)
  • Allow points on the edge of the pixmap. (#1801)

Contributors

Install

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

Full changelog: v5.11.4...v6.0.0