Changelog
Global Association Multicamera Tracking filter release notes
v0.1.14 - 2026-10-22Direct link to v0.1.14 - 2026-10-22
AddedDirect link to Added
- With
per_class_global_ids, each class publishes its own global id sequence. The registry key stays unique, so two classes can both be 1. A class flicker on the same local track keeps the original number and class. The published id is the bare per-class number, soglobal_id_prefixstill forms the registry key and is not part ofglobal_id. - The drawn global id sits on the top-right corner of the box.
FixedDirect link to Fixed
- With
per_class_global_idson, a blank class is its own bucket and does not take a labeled track's number. - Distance checks use the bbox last seen on the current camera, so a cam_2 track does not lose its id when cam_1 writes a distant box.
- When
source_allow_same_camera_reassociationis true, a source camera can re-acquire a global id that an overlapping camera still holds. The new box must sit withinsame_camera_reassociation_max_center_distanceof the box last stored for the source camera, the gap since that overlapping camera last saw the entry must fall inside[same_camera_reassociation_after_seconds, same_camera_reassociation_max_seconds], and the association score must reachmatch_threshold. A gap inside the window whose score is still below the threshold mints a new id. A distant track on the same camera still mints. A local-id switch on the source camera also still mints when that id was last seen on the source camera itself: the flag does not turn offalways_create_new_on_source_camerafor those entries. With the flag off, the source camera keeps minting.
ChangedDirect link to Changed
- With
per_class_global_idsoff, a missing class no longer matches a labeled one. - Bump the openfilter dependency to 1.5.0
- Bump the openfilter dependency to 1.5.1
v0.1.13 - 2026-09-23Direct link to v0.1.13 - 2026-09-23
ChangedDirect link to Changed
- Bump the openfilter dependency to 1.4.0
v0.1.12 - 2026-08-20Direct link to v0.1.12 - 2026-08-20
ChangedDirect link to Changed
- Build the filter image on
openfilter-base:py3.14(waspy3.11). The published wheel supports Python 3.14, so the image now ships 3.14. Running on 3.10–3.13 is unaffected.
v0.1.11 - 2026-08-18Direct link to v0.1.11 - 2026-08-18
ChangedDirect link to Changed
- Update the openfilter dependency to 1.3.0
- Add Python 3.13 and 3.14 support: raise the
requires-pythonceiling to<3.15; the CI test matrix now runs 3.10–3.14.
v0.1.10 - 2026-08-10Direct link to v0.1.10 - 2026-08-10
ChangedDirect link to Changed
- Build the image on
openfilter-base(weekly apt-upgraded python-slim) instead of a stalepython:X.Y.Z-slimpin, clearing the OS-package CVEs the pin carried. - Update the openfilter dependency to 1.2.2
v0.1.9 - 2026-08-04Direct link to v0.1.9 - 2026-08-04
ChangedDirect link to Changed
- Update
openfilter[all]to>=1.2.1 - Replaced the exact
opencv-python-headless==4.13.0.90pin with the bounded range>=4.13,<6. The filter only usesrectangle,putText,getTextSizeandFONT_HERSHEY_SIMPLEX, and opencv also arrives transitively through openfilter, so an exact pin here only creates a conflict the moment that transitive constraint moves. - Pin the Docker base to
python:3.11.12-slim. - Refresh the
docker-compose.yamlopenfilter utility image tags to1.2.1and pin the filter's own image to the release version.
v0.1.8 - 2026-06-04Direct link to v0.1.8 - 2026-06-04
FixedDirect link to Fixed
- Fixed global_id to be sticky on single camera tracks, preventing id freezing when cam2 is added to the association
v0.1.7 - 2026-05-20Direct link to v0.1.7 - 2026-05-20
FixedDirect link to Fixed
- Fixed global_id to prevent id freeezing on cam2
v0.1.6 - 2026-05-11Direct link to v0.1.6 - 2026-05-11
AddedDirect link to Added
- Add global_id association optimizaition
v0.1.5 - 2026-04-27Direct link to v0.1.5 - 2026-04-27
AddedDirect link to Added
- Add QUICKSTART.md with full two-camera pipeline examples, association tuning guide, and containment tracking section
- Expand .env.example to cover all FILTER_* parameters including gating, weights, and containment tracking
- Rewrite README to remove stale template text and document the full pipeline, output contract, and configuration
v0.1.4 - 2026-04-24Direct link to v0.1.4 - 2026-04-24
FixedDirect link to Fixed
- Restore RELEASE.md heading format
v0.1.3 - 2026-04-23Direct link to v0.1.3 - 2026-04-23
ChangedDirect link to Changed
-
Bump openfilter SDK, align CI workflow with shared release gate (source-paths)
-
Bump openfilter dependency to
>=0.1.30.
v0.1.2 - 2026-04-20Direct link to v0.1.2 - 2026-04-20
ChangedDirect link to Changed
- Simplify filter.mk build-image (plain docker build, DOCKER_TAG)
v0.1.1 - 2026-04-17Direct link to v0.1.1 - 2026-04-17
ChangedDirect link to Changed
- Switch to premium release workflow for GAR publishing
- Migrate Dockerfile to python:3.11-slim with source install
- Simplify filter.mk build-image (no GAR secrets needed)
- Simplify Makefile install (all deps on PyPI)
- Update Makefile IMAGE to premium-filters/
- Add .dockerignore
v0.1.0 - 2025-02-22Direct link to v0.1.0 - 2025-02-22
AddedDirect link to Added
- Initial Release: new Global Association Multicamera Tracking filter