2026-08-21
2026-08-21
Added new feature flags and configuration support for markers, organisations, and projects, including switcher and settings controls
Hub Frontend
- Added new feature flags and configuration support for markers, organisations, and projects, including switcher and settings controls
- Upgraded the frontend stack to Angular 21, NgRx 21, RxJS 7, TypeScript 5.9, and newer Angular Material components
- Migrated Angular builds to the
browser-esbuildpipeline with updated serve/extract targets and optimized asset handling - Modernized styling and module imports by replacing legacy Angular Material APIs and Sass
@importusage - Updated runtime and demo/staging/production configurations to support organisation and project feature toggles across environments
- Reduced frontend build memory requirements and refreshed multiple dependency versions for compatibility and performance improvements
Hub API
- Added new
/markers/{markerId}/mediaendpoint to resolve recordings linked to markers with legacy fallback support - Migrated authentication to
appleboy/gin-jwt/v3with updated JWT handling, configurable access token expiry, and refresh-token cookie support for SSO flows - Improved device management APIs with repository-backed updates, preset handling, muting, deletion cleanup, and heartbeat persistence
- Enhanced task access control to support organisation-aware ownership validation and repository-driven task mutations
- Updated subscription management to use repository-based create, update, cancel, resume, and delete operations
- Added repository-backed organisation provisioning during user registration instead of direct database user creation
Hub Workflows
- Added project-scoped workflow ingesting by persisting and propagating
ProjectIdthrough workflow runs and media patch operations - Fixed enabled workflow lookup to use canonical-first organisation ownership filtering with backward-compatible legacy support
- Propagated compiled workflow stage routing to workers so downstream stages can reliably resolve declared dependencies
- Refined workflow engine architecture and documentation to distinguish boot-loaded config workflows from organisation-scoped database workflows
- Added extensive regression and routing tests covering tenant scoping, persisted workflow stages, and ingest project validation
Pipeline Monitor
- Added source device ownership propagation to stamp organisation and project IDs onto pipeline media events
- Fixed on-demand uploads to retain ownership context while skipping entitlement, activity, and latest-media processing
- Updated subscription lookups to use organisation-based ownership with backward-compatible legacy user fallback
- Improved device latest-media updates to scope writes by resolved device ownership instead of user ownership
Pipeline Sequence
- Added trusted media ownership resolution to persist and validate organisation/project IDs from media events
- Introduced shared project-scoped resource filtering for consistent multi-tenant media and marker queries
- Updated media upsert logic to self-heal project assignments without MongoDB update path conflicts
- Extended legacy media ownership migration to include compatible project scoping and project ID updates
- Fixed marker backfill seam-boundary matching to prevent markers from being linked to adjacent recordings
- Ensured marker backfill operations propagate project IDs and apply scoped ownership filters during updates
Pipeline Throttler
- Improved throttling reliability by loading and validating persisted throttler state with structured MongoDB models and safer failure handling
- Added robust OpenTelemetry tracer integration and enhanced queue lifecycle/error logging throughout the service
- Introduced media parsing helpers supporting both structured metadata and legacy filename formats for throttling decisions
- Fixed tenant ownership propagation to preserve monitor organisation and project IDs across queue serialization
- Updated Docker and development tooling to align with the Go 1.25 build environment and architecture changes
Pipeline Notification
- Added strict tenancy and ownership validation for notifications, requiring organisation and project IDs before persistence
- Introduced asynchronous audit logging for notification delivery and persistence outcomes with tenant-aware metadata
- Improved custom and generic alert handling by stamping notifications with trusted media ownership data
- Migrated marker creation to the ingest markers service with project-aware metadata and linked media references
- Removed deprecated sequence-notification update logic and legacy sequence-related code paths
- Hardened database queries for alerts, groups, and media with source-scoped tenant/project filtering
Pipeline Analysis
- Added tenancy-aware ownership resolution across detections, classifications, counting, thumbnails, sprites, and dominant color processing to correctly scope data by organisation and project
- Improved classification and counting markers with precise event-based timestamps instead of defaulting to full-recording duration
- Detection ingestion now supports project-aware idempotent upserts while remaining backward compatible with legacy records lacking
projectId - Marker creation now links directly back to source recordings via
MediaKeysand includes project metadata for more reliable media association - Added tests validating ownership resolution, project fallback behavior, and duplicate-safe detection upsert filtering
- Extended media edit workflows to propagate
projectIdduring case media status updates - Added detailed MongoDB configuration documentation, including TLS, retry writes, and DocumentDB compatibility options
Pipeline Thumbnail
- Fixed tenant ownership handling to preserve project and organisation ownership data after queue serialization/deserialization
Pipeline Counting
- Fixed tenant ownership propagation to preserve organisation and project IDs in downstream counting pipeline events
Pipeline Sprite
- Fixed tenant ownership handling to preserve project and organisation IDs across pipeline queue serialization/deserialization
Pipeline Export
- Added organisation/project ownership binding and scoped MongoDB filters to enforce tenant-safe export operations
- Hardened export claim and update workflows with ownership-aware CAS checks and mismatch detection
- Scoped case media and attachment queries/updates to the correct project and organisation context
- Added validation and fallback handling for legacy ownership and default project resolution
- Introduced comprehensive ownership filter tests covering tenant scoping, legacy compatibility, and project matching