Skip to content
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-esbuild pipeline with updated serve/extract targets and optimized asset handling
  • Modernized styling and module imports by replacing legacy Angular Material APIs and Sass @import usage
  • 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}/media endpoint to resolve recordings linked to markers with legacy fallback support
  • Migrated authentication to appleboy/gin-jwt/v3 with 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 ProjectId through 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 MediaKeys and 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 projectId during 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