Skip to content

Latest commit

 

History

History
578 lines (404 loc) · 50.2 KB

File metadata and controls

578 lines (404 loc) · 50.2 KB

Changelog

All notable changes to this project will be documented in this file.

[7.0.22] - 2026-06-07

Bug Fixes

  • bootstrap venv pip reliably when a system pip is present (0bab251)

Miscellaneous

  • bump version to v7.0.22 (bff4a39)

[7.0.21] - 2026-06-03

Documentation

  • update CHANGELOG for v7.0.21 (9ec87b6)

Miscellaneous

  • bump version to v7.0.21 (9a920a4)
  • install pyzm[full] on local update + verify in gate (6a97fcb)
  • offer local install + validation gate after release (404c8d8)
  • auto-sync pyzm pin in hook/setup.py to latest PyPI (8c6b239)

[7.0.20] - 2026-06-01

Bug Fixes

  • bootstrap pip into venv and document prerequisites (88e010a)

Documentation

  • update CHANGELOG for v7.0.20 (25d7c81)
  • note pip3/python3-venv prerequisite for both paths (3beda52)
  • point repo references to ZoneMinder/zmeventnotificationNg (3b9d381)

Miscellaneous

  • bump version to v7.0.20 (52aa9c2)
  • finish ZoneMinder/zmeventnotificationNg rename sweep (c480b8f)

[7.0.19] - 2026-05-16

Documentation

  • update CHANGELOG for v7.0.19 (28489db)
  • document convert_snapshot_to_fid default flip to "no" (2a3716c)

Miscellaneous

[7.0.18] - 2026-05-12

Bug Fixes

  • patch venv shebang and fix tuple assignment for user key (7da1057)

Documentation

  • update CHANGELOG for v7.0.18 (f9d4fc4)
  • update RTD title to zmesNg Event Notification Server Documentation (b00464d)

Features

  • log resolved file path on startup via pyzm get_log_file() (f43a88e)

[7.0.17] - 2026-04-08

Bug Fixes

Documentation

  • update CHANGELOG for v7.0.17 (a34b290)
  • rename project to zmeventnotificationNg / pyzmNg across all user-facing docs (fa50785)

Miscellaneous

[7.0.16] - 2026-03-17

Bug Fixes

  • use fid=alarm in push picture URL when detection has no match (694c993)

Documentation

  • update CHANGELOG for v7.0.16 (f3b4b28)
  • update CHANGELOG for v7.0.16 (36c0a37)

Features

  • add push.send_push_on_no_match for direct mode push on detection failure (65ea0dd)

Miscellaneous

  • bump version to v7.0.16 (dd7efbb)
  • default replace_push_messages to yes in ES example config (5dd0b6a)

[7.0.15] - 2026-03-15

Documentation

  • update CHANGELOG for v7.0.15 (cb2d8dd)
  • restructure config guide for clarity (347b090)
  • add push table to Complete Hook Config Reference (459b35d)
  • add complete ES config reference and push config table (5b90029)

Features

  • add --override/-O CLI flag to zm_detect.py (238570d)
  • update send_push cloud function for zmNinjaNG (0255db6)

Miscellaneous

  • bump version to v7.0.15 (da34a7a)
  • verbump (0b2ffb1)
  • added separator between detection and motion (57d9368)

[7.0.14] - 2026-03-10

Bug Fixes

  • handle missing frame match prefix in pushover and ftp plugins (9476153)
  • move max_detection_size, match_past_detections to ml_sequence.general (2c4c280)
  • register ml_gateway_mode and ml_timeout in common_params (6606e8d)
  • inject monitor_id and image_path into ml_options (dfb23d2)
  • cache zm.event() call, remove private detector._gateway access (d4d0b5c)
  • honor allow_self_signed in animation, guard ZeroDivisionError (53bb1b0)
  • exit with error code 1 on config parse failure (56e3a5e)
  • pass through pattern and ignore_pattern in import_zm_zones (ce59da3)

Documentation

  • update CHANGELOG for v7.0.14 (319387b)
  • add implementation plan for show_frame_match_type (57ef67a)
  • add keep_frame_match_type removal to breaking changes (cb91c16)
  • update config reference for show_frame_match_type, remove keep_frame_match_type (90ecee9)
  • rename zmNg/zmNinja to zmNinjaNG across all references (e890afc)
  • fix RST formatting — promote config reference, fix nested markup (b6c905f)
  • add complete config reference table, document breaking changes (16a7f4f)
  • fix frame_strategy placement, clarify ml_sequence.general keys (3e5697f)
  • add AGENTS.md with plan file hygiene instructions (a3c6644)
  • update remote detection docs for thin server refactor (b8f8b0b)
  • fix push_config ref label so it renders as a clickable link (3ce03c7)
  • clarify Path 1 vs Path 2 notification capabilities across all docs (3ac2818)

Features

  • add include_profile_in_push config flag (681459c)
  • add profile to visible push notification display (a579000)
  • include profile in direct-mode FCM push payload (72a4da3)
  • include profile in FCM push data payload (edfd896)
  • parse and store profile in token registration (4dbdca6)
  • auto-remove keep_frame_match_type during config upgrade (48b7983)
  • add show_frame_match_type config to control [a]/[s]/[x] prefix (2b18e0c)

Miscellaneous

  • ver bump (76bc545)
  • add docs/plans/ to .gitignore (619aadc)
  • ver bump (f640add)
  • remove unused deps (imageio, pygifsicle, future) from setup.py (1484e09)
  • ver bump (de84ce7)
  • remove dead code from hook helpers (b02ae11)

Refactoring

  • remove keep_frame_match_type — replaced by hook-side show_frame_match_type (263b3d2)
  • use frame_id from detection JSON in buildPictureUrl (c749631)
  • config simplicity — fix key placement, remove dead code, add validation (99bcd99)

Testing

  • config flow tests for monitor overrides, remote, and monitor_id injection (a6d0cfc)

[7.0.12] - 2026-03-06

Bug Fixes

  • feat: auto-update managed FCM defaults during install in #22 (0c8c889)
  • read hook version from VERSION file instead of installed package (9767d62)
  • generic invalid token detection for FCM proxy responses (a4b4c13)
  • clean up NotRegistered tokens from FCM proxy response (be58ae2)
  • include push module in setup.py py_modules (03a50a6)
  • log FCM payload at debug level 1 for visibility in logfile (d7e7f51)

Documentation

  • update CHANGELOG for v7.0.12 (d790632)
  • add manual push notification testing instructions (a076f74)
  • add note about desktop polling in Direct mode (70f9a12)
  • update Path 1 references to reflect push notification support (7daceb0)
  • add setup steps for push config with secrets and key instructions (5a16c56)
  • document push notification support in Path 1 and push config section (c7d7ae2)

Features

  • warn when push include_picture is set but picture_url is missing (4dbecf8)
  • include picture URL in push notification payload (c0918cc)
  • ship managed FCM key and URL as defaults in push config (6bc1f8f)
  • add direct FCM push notifications to zm_detect (ca13f62)
  • pass managed_defaults.yml during ES config upgrade (f5bddc5)
  • add --managed-defaults flag to config_upgrade_yaml.py (ccab79c)

Miscellaneous

  • bump ES to 7.0.12, require pyzm >= 2.3.0 (72f60c8)
  • add managed_defaults.yml with old FCM key/URL defaults (8c02fc8)
  • update FCM defaults to zmng-b7af6 cloud function (e11324b)

Refactoring

  • use picture_url template for push image instead of hardcoding (f1bb55d)
  • unified managed defaults for ES and hook configs (6b64dbd)
  • remove redundant keys from objectconfig.yml (009b1a2)
  • remove deprecated FCM legacy API, add monitorName/cause to push data (4756a26)

Testing

  • add tests for managed defaults config upgrade (71d15b1)

[7.0.11] - 2026-03-02

Bug Fixes

  • case-insensitive secret token lookup in _resolve_secret (f526979)
  • ensure cv2.polylines receives int32 coordinates (a35358c)
  • parse float zone coordinates in objectconfig.yml (3dc483e)

Documentation

  • update CHANGELOG for v7.0.11 (2a13157)
  • fix (e190179)
  • document recursive and case-insensitive secret resolution (7b46539)

Miscellaneous

  • bump version to v7.0.11 (c398d1b)

Refactoring

  • use Event.save_objdetect() from pyzm for image writing (7cc665d)
  • replace _draw_bbox with result.annotate() from pyzm (6575f19)
  • recursive secret resolution in process_config (8b0f9e9)
  • use pyzm ZMClient for zone import instead of raw urllib (8d83425)

[7.0.10] - 2026-03-01

Documentation

  • update CHANGELOG for v7.0.10 (81adc64)

Miscellaneous

[7.0.9] - 2026-02-23

Documentation

  • update CHANGELOG for v7.0.9 (9d27e2e)

Fix

  • Update README.md broken install link (826fea3)

Miscellaneous

[7.0.8] - 2026-02-22

Bug Fixes

  • log objdetect image write path (f2c5633)

Documentation

  • update CHANGELOG for v7.0.8 (5250d7d)

Miscellaneous

[7.0.7] - 2026-02-22

Bug Fixes

  • inline pyzm.helpers.utils functions removed in pyzm v2 (4665014)
  • stop using PY_SUDO for system package installs and broaden ensure_venv scope (bc928c8)
  • only show pyzm extras message when pyzm was freshly installed (c2d9979)

Documentation

  • update CHANGELOG for v7.0.7 (12303a5)
  • expand face recognition install with BLAS and reinstall steps (067f267)
  • remove the test count and fix gramar (c89d7ab)

Miscellaneous

[7.0.6] - 2026-02-20

Documentation

  • update CHANGELOG for v7.0.6 (d647693)
  • fix inline code quoting for mlapi and pyzm.serve in breaking.rst (55eaf84)
  • fix sidebar/note formatting in principles.rst section 3.2.1 (e249c05)

Miscellaneous

[7.0.5] - 2026-02-19

Documentation

  • update CHANGELOG for v7.0.5 (6f375d9)
  • added documentation notes and pyzm reliance (49dd557)
  • comprehensive RTD documentation audit and fixes (ea81fe1)

Miscellaneous

[7.0.4] - 2026-02-18

Bug Fixes

  • broken --venv-path argument parsing (a44915b)

Documentation

  • update CHANGELOG for v7.0.4 (5a4b6db)
  • fix objectconfig gateway mode default, comment out auth keys (c8cea48)
  • update CHANGELOG for v7.0.4 (bb0a012)
  • add BirdNET audio section to objectconfig and hooks guide (c9c655e)
  • add BirdNET audio detection to hooks documentation (55d4bf0)
  • add zmES7+ logo to README and RTD docs (a416f7d)
  • point zmNg sidebar and doc links to RTD (2fea09d)

Features

  • add --install-birdnet flag for BirdNET audio detection (abca135)
  • default zm_detect.py config to /etc/zm/objectconfig.yml (00e4fca)
  • use shared venv instead of --break-system-packages (dce5934)

Miscellaneous

  • bump version to v7.0.4 (e07bb9c)
  • bump version to 7.0.4 (8524214)
  • bump pyzm dependency to >=2.1.0 (6c0a459)

Refactoring

  • use pyzm v2 OOP methods in zm_detect (f9ce160)

[7.0.3] - 2026-02-15

Bug Fixes

  • sync hook version with VERSION file (9880c5e)

Documentation

  • update CHANGELOG for v7.0.3 (ffcd4ab)
  • update pyzm.serve examples from yolov4 to yolo11s (c2f7c4c)

Miscellaneous

[7.0.2] - 2026-02-15

Bug Fixes

  • fix sed regex not matching indented FALLBACK_VERSION line (551a94f)

Documentation

  • update CHANGELOG for v7.0.2 (6abf272)
  • update all references from YOLOv26 default to YOLOv11 ONNX default (b5a459d)
  • add --pyzm-debug to EventStartCommand examples (693acc0)

Miscellaneous

Refactoring

  • consolidate YOLO ONNX into single entry with yolo11 default (1abdc62)
  • migrate all scripts from ZMLog to setup_zm_logging (68d37c7)

[7.0.1] - 2026-02-15

Bug Fixes

  • add GitHub Release step to make_release.sh, pin --repo to pliablepixels fork (adeca59)

Documentation

  • update CHANGELOG for v7.0.1 (e6f50f5)

Features

  • add version bump option when tag already exists (d6ecb51)
  • add ignore_pattern zone support and first_new frame strategy (a2fcc11)
  • migrate zm_detect and helpers to pyzm.log.setup_zm_logging (e38c801)

Miscellaneous

[7.0.0] - 2026-02-14

Bug Fixes

  • guard against undef values in active_connections iterations (5ca77e2)
  • deep-merge monitor overrides into global config instead of replacing (3bcd64d)
  • install.sh Path 1 flow — skip ES config prompt and show correct final message (1077c53)
  • use requirements file for RTD python dependencies (8884ef4)
  • fix Sphinx conf.py for RTD build compatibility (8cfd6b1)
  • update test stubs for pyzm v2 imports (d93a840)
  • use public API methods instead of private/raw calls in zm_detect (6e5cfec)
  • use hash ref access for secrets in getZmUserId (9685f38)
  • handle zm_detect JSON format in _tag_detected_objects (1b5b90a)
  • strip surrounding quotes in ES/secrets INI-to-YAML migration (44d751f)
  • substitute /etc/zm paths in config files when TARGET_CONFIG differs (f856d38)
  • auto-substitute all hardcoded paths in hook scripts (7c0fd70)
  • auto-substitute config path in zm_event_start.sh (809b35c)
  • strip whitespace from stream/eventid to handle non-breaking spaces (52aac3d)
  • fix INI-to-YAML migration losing keys, chained vars, and types (f2e3707)
  • add bind mount fallback for Perl module installs too (e5364b9)
  • fall back to in-place copy when install fails on bind mounts (819e3c6)
  • split OpenCV checks for yolov26 vs yolov4 in doctor (4fd55ca)
  • parse ml_sequence under correct YAML path in doctor checks (e692e9e)
  • update minimum OpenCV version to 4.13+ for ONNX YOLOv26 models (549eeac)
  • support legacy {{base_data_path}} syntax in path substitution (590a8e7)
  • expand {{variable}} references during INI to YAML migration (ddf75eb)
  • update secrets.ini to secrets.yml reference in objectconfig.yml (823a379)
  • add defensive checks for undefined values across codebase (e26d5cc)
  • resolve uninitialized value warnings in Rules.pm and Version.pm (b03347a)
  • make VERSION file the single source of truth (d940e10)
  • move version to Perl module to fix install path issue (bc56a86)
  • resolve uninitialized variable warnings and add comprehensive tests (e284021)
  • add id-token permission for Claude OIDC auth (013270a)
  • use correct OAuth token secret for Claude action (57b9ba4)
  • auto-install pyyaml for config migration (8bb25c9)
  • always update stale secrets.ini path in config (7a1eb48)
  • import ceil from POSIX module (736a5b4)
  • remove Perl taint mode causing socket startup crash (0c0f4d9)
  • fix event_end cause update bug, remove dead code and legacy templates (e4af17a)
  • guard missing secrets, remove dead import, improve error handling (4d916a4)
  • update zm_detect.py for YAML secrets, disable yolov3 defaults (5035eba)
  • move imports before ES version check (ad24d3a)
  • always prompt before ultralytics install in interactive mode (f76ad28)
  • use --no-deps for ultralytics/torch to preserve source-built OpenCV (548becf)
  • guard against undef last_event_processed in log message (036396f)
  • set CreateDate when creating new tags (7d5e539)
  • use // '' instead of defined() for End state guards (a698086)
  • guard $alarm->{End}->{State} checks against undef (98e8984)
  • apply upstream Python hook fixes (a8459e4)
  • apply critical DB/fork crash fixes from upstream (aec9cdb)

Documentation

  • update CHANGELOG for v7.0.0 (0c590d6)
  • added self notes for release process (a83feda)
  • add feature comparison table to installation page (f6a1ca2)
  • restructure principles for both paths; professionalize tone; update install.sh (29210df)
  • remove pip seg fault claim from OpenCV install section (eb7c31b)
  • link to Ubuntu 24 OpenCV build gist in install guide (337ee88)
  • expand sidebar navigation to show subsection indicators (465663d)
  • note pyzm[serve] extra for remote ML server capability (5fdd0c5)
  • consolidate troubleshooting into hooks_faq.rst (2f9b769)
  • cross-link hooks troubleshooting and FAQ triage sections (874da9e)
  • update Python requirement to 3.10+ in README (8dbfe62)
  • warn about pycoral Python 3.10+ compatibility issues (cef23d7)
  • fix OpenCV minimum version to 4.13+ for ONNX YOLOv26 (f9a7af0)
  • update Path 1 minimum ZM version to 1.38.1+ (9926056)
  • add prominent pycoral install notice to installer and FAQ (b8a59a5)
  • add "Triaging No Detection Problems" section to hooks FAQ (21b4bf5)
  • add ES version check to Path 2 test step (626f182)
  • rename test step to "Test manually", fix Path 2 version check (0331a12)
  • add version check step to install test sections (ceb7339)
  • replace duplicated install/test instructions with RTD links (141ca99)
  • restructure installation into clean Path 1 / Path 2 sidebar (73d8e99)
  • rename pyzm to pyzmv2+ in sidebar (7ad2811)
  • add pyzm and zmNg to sidebar (ff79942)
  • auto-update copyright year in Sphinx config (97dbd66)
  • add pyzm and zmNg links to documentation section (78e2d50)
  • add overview of Event Server and ML Ecosystem to index page (8263929)
  • update title to Event Notification Server v7+ (523af0e)
  • add inline context for Path 1/Path 2 references in install.rst (562855e)
  • fix EventStartCommand location to Monitor Config -> Recording tab (3e25d55)
  • restructure around two setup paths (577db84)
  • fix Perl dependency list — add RSA, SSL, LWP, JSON (1fc0a5c)
  • remove outdated performance comparison section (306b573)
  • rewrite ES docs for pyzm v2 accuracy (09f6c98)
  • point README to zmeventnotificationv7.readthedocs.io (b283338)
  • update for pyzm v2 and URL-mode remote detection (9d4a6cd)
  • clarified scope (104483d)
  • cleanup (97e04d7)
  • quick summary of improvements (e8187ae)
  • install clarifications (b468592)
  • update all documentation for YAML config migration (0cd32ca)
  • add CLAUDE.md with project instructions and commit conventions (bd30158)

Features

  • use pyzm.serve for remote ML detection, remove legacy remote_detect() (1cac40b)
  • rewrite zm_detect.py for pyzm v2 pipeline (ad2b82e)
  • expand doctor checks to cover full install environment (ffcb8f1)
  • add post-install doctor checks for common config issues (d63e39b)
  • switch from YOLOv11 to YOLOv26 ONNX models (dd475f5)
  • migrate objectconfig.ini to YAML format (90fbf3e)
  • add INSTALL_YOLOV11 flag for ONNX model downloads (7711333)
  • add ONNX YOLOv11 config entries to objectconfig.ini (cac48d2)
  • Add Ultralytics YOLO model support to install.sh and objectconfig.ini (decdfca)
  • tag detected objects in ZM database (b35274e)
  • add dependency checks, Perl module install, and modernize helpers (0545691)

Miscellaneous

  • clean up changelog config — add commit/issue links, filter old history (04aae9b)
  • replace github_changelog_generator with git-cliff and consolidate release scripts (a20f6e5)
  • add docs/_build/ to .gitignore (75c18f9)
  • add .readthedocs.yaml for RTD builds (0653e46)
  • remove exta quote (f8fcb6e)
  • add libtest-warn-perl to install dependencies (a9536ac)
  • add Claude GitHub Actions workflow (5174fe1)
  • bump pyzm dependency to >=0.4.0 (38480df)
  • don't push to ZM (04a4c81)
  • add zm_detect_fake.sh test utility to contrib (051acec)
  • more explicit instructions (c175cee)
  • apply upstream misc fixes and additions (4e51f63)
  • add fcm_service_account_file option and reset use_hooks default (89c3d7a)

Refactoring

  • use ZMClient.event_path() instead of local path lookup (65366d9)
  • move doctor checks from inline heredoc to tools/install_doctor.py (b25fffe)
  • comprehensive code simplification across all modules (d34847b)
  • read version from VERSION file in make_changelog.sh (4228bc8)
  • centralize version into single VERSION file (8bb3eea)
  • migrate ES config, secrets, and rules from INI/JSON to YAML (2932658)
  • simplify objectconfig - inline ml_sequence, remove {{}} templating (f48bdf9)
  • remove direct ultralytics support, use ONNX via OpenCV DNN (393cb24)
  • replace printDebug/printInfo/printError with ZM native logging (03c5a6a)
  • replace ~60 individual config vars with 10 grouped hashes (7562d24)
  • extract constants, DB, and rules into ZmEventNotification/ package (6dd9e77)

Testing

  • add 26 e2e tests for full config→pyzm detection→output chain (fabfe1b)
  • add comprehensive edge case tests for undefined values (a2e31b0)
  • expand test suite with 10 new test files and refactor detection output (67a8c00)
  • add comprehensive test suite for ES modules and Python hooks (a720faa)