Skip to content

v2.1.6

Choose a tag to compare

@pliablepixels pliablepixels released this 22 Feb 22:16
· 193 commits to master since this release

[2.1.6] - 2026-02-22

Bug Fixes

  • add path traversal guards and replace ast.literal_eval (d4a8cb3)
  • clamp annotation coords and add auto-label confidence threshold (780dbd8)
  • stop persisting ZM password in plaintext (84f80a1)
  • batch size formula, add training resume, fix CSV parsing (320a5e8)
  • fix NameError, inconsistent resize, and dead code in face_train_dlib (6bfaa68)
  • align streamlit version check with setup.py requirement (7d3dc69)
  • move streamlit import to avoid breaking headless mode (ae46723)
  • remove hardcoded developer IP from ZM browser default URL (590a862)
  • fall back to Storage Id=1 when event's StorageId is invalid (c9f81b2)

Documentation

  • update CHANGELOG for v2.1.6 (f1a69fd)

Features

  • add --max-per-class CLI option and fix Ultralytics 8.4.x compat (3a212e0)
  • add bulk approve, undo, and image deletion in review (c7c67e8)
  • improve training UI with plain-English metrics and onboarding (1469962)

Miscellaneous

Refactoring

  • split app.py into phase-specific panel modules (4199674)
  • simplify _event_path to use Storage table directly via StorageId (d4b7108)

Testing

  • add pipeline and CLI tests, fill coverage gaps (19a9bd3)