github wkentaro/labelme v6.0.0

8 hours ago

LabelMe v6 changes two important defaults, adds support for large and multispectral TIFF images, and cleans up the CLI.
If you're upgrading from v5, read the Migration Guide below.

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)

Migration Guide

Auto-save is now ON by default

Files are saved automatically as you annotate. No data loss on accidental close.

  • To disable: labelme --no-auto-save
  • Or set auto_save: false in your config file
  • The old --autosave flag still works but will be removed in v7

Image data is no longer embedded in JSON by default

JSON files are now much smaller — they reference image paths instead of embedding base64 data.

  • To embed image data: labelme --with-image-data
  • Or set with_image_data: true in your config file
  • 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

Breaking Changes

CLI changes

  • Positional argument renamed: filenamepath — 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)

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 is not yet supported (#1808)
  • Allow points on the edge of the pixmap (#1801)

Contributors

Full Changelog: v5.11.4...v6.0.0

Don't miss a new labelme release

NewReleases is sending notifications on new releases.