Skip to content
2026-10-30

2026-10-30

Upgraded the application to Angular 20 with updated Angular Material and related libraries

Admin

  • Upgraded the application to Angular 20 with updated Angular Material and related libraries
  • Improved runtime configuration handling so environment-based frontend settings update reliably without cached stale values
  • Added a dedicated /healthz endpoint for improved deployment health and readiness checks
  • Hardened the production container with non-root execution and read-only filesystem support for more secure deployments
  • Internal environment template files are no longer publicly accessible

Hub API

  • Added passkey/WebAuthn authentication support, including APIs for registering, managing, and signing in with passkeys
  • Passkey registration now requires password confirmation and respects MFA verification when enabled for improved account security
  • Added feature-flag support for passkeys, with unsupported deployments now returning clear FEATURE_NOT_SUPPORTED API responses
  • Added a new Forwardable media filter for querying recordings and timeline/chart data tied to forwarded media metadata
  • Improved Slack alert channel configuration by validating and normalizing webhook and bot settings, preserving credentials across mode changes, and returning clearer errors for invalid configurations
  • Slack test notifications now use the account owner identity for more accurate delivery behavior
  • Improved audit logs across subscriptions, devices, groups, shares, and notification settings with clearer before/after values, safer handling of sensitive data, and more readable change tracking
  • Private case audit logs now better protect sensitive information by redacting case titles from stored audit changes

Hub Audit

  • Added support for delivering audit logs to S3-compatible object storage as gzip-compressed NDJSON batches
  • Added validation and configuration support for S3 destinations, including custom endpoints, path-style access, prefixes, and credential file loading with automatic credential reloads
  • S3 uploads now include integrity checksums and optional Object Lock verification to help ensure tamper-resistant audit storage
  • Audit event failure metadata is now normalized into consistent failure reason codes and messages for more reliable downstream analysis and reporting
  • Improved destination reliability by isolating destination initialization failures so other configured destinations can continue processing events

Hub Workflows

  • Hardened container images to run as a non-root user with a minimal read-only runtime footprint and reduced exposed surface area
  • Standardized runtime behavior around metrics exposure on port 8080 and documented updated deployment/runtime requirements for container environments
  • Improved container reliability validation with expanded smoke testing covering service connectivity, queue handling, graceful shutdown, and secure runtime operation
  • Updated core runtime dependencies, including Kafka, RabbitMQ, gRPC, and OpenTelemetry components, to newer supported versions

Hub Objecttracking

  • Improved distributed tracing compatibility by switching workflow queue messages to standard W3C trace context fields and ensuring workflow results propagate the correct trace context
  • Updated container images to include curl/libcurl security fixes for CVE-2026-92392
  • Upgraded the runtime and build environment to Go 1.26.10 for improved platform stability and compatibility

Hub ANPR

  • Improved container runtime compatibility and stability with a rebuilt native media/OCR stack, updated FFmpeg support, and bundled OCR language data
  • Added runtime validation checks during container builds to catch OCR and media-processing issues before deployment
  • Updated architecture detection for ONNX Runtime to improve support for x86_64 and ARM64 container builds
  • Included fixes and security hardening for bundled native dependencies used by video encoding and OCR processing

Hub Loitering

  • Container images now run as a non-root user in a minimal hardened runtime image, improving deployment security and compatibility with locked-down Kubernetes environments
  • Added documented configuration for RabbitMQ, logging, OpenTelemetry, and queue settings to simplify deployment and runtime configuration
  • Prometheus metrics are now documented as available at GET /metrics on port 8080 for easier monitoring integration

Hub Vlm

  • Improved security and runtime stability through updated platform, networking, and container dependencies

Hub Frontend

  • Added full passkey/WebAuthn support, including passkey sign-in, account management, enrollment/removal flows, translated error handling, and feature-flagged profile controls
  • Redesigned the login experience with a more responsive layout, improved mobile behavior, and a modal-based “Forgot password” flow with better validation and feedback
  • Improved media playback reliability with automatic refresh of expired media URLs, smarter buffering/preloading between recordings, and smoother scrubbing transitions
  • Updated timelines, charts, markers, and playback calculations to correctly handle local time zones and daylight saving time changes
  • Enhanced the mobile recordings timeline with pinch zoom, touch scrub previews, resizable bottom-sheet modes, clustered markers, larger touch targets, and accessibility improvements
  • Added timeline marker clustering to improve readability and interaction in dense recording timelines
  • Expanded Slack integration options with webhook and bot delivery modes, inline recording uploads, improved validation, masked credentials, and preserved settings when switching modes
  • Added a reusable accessible settings modal system with focus trapping, draggable behavior, translated error messages, and customizable backdrop blur
  • Updated face redaction and floor-plan editing tools for improved object handling, resizing, pointer interactions, and rendering consistency
  • Improved recording thumbnail support for extensionless and Vault-signed image URLs
  • Updated recordings wall hover behavior to reduce visual clutter while keeping names accessible on hover, focus, and drag interactions
  • Removed browser zoom restrictions and improved mobile toolbar, dropdown, and language-switcher behavior for better accessibility and usability
  • Improved site-map marker animations with reduced-motion accessibility support
  • Refined device alert duration controls with clearer defaults, minimum values, and updated duration text
  • Improved audit labels and links with better translated fallback names and more direct livestream device navigation
  • Media forwarding actions are now feature-flagged and shown only when supported recordings are available

Hub Cleanup

  • Container images now expose the metrics endpoint on port 8080, with /metrics available by default on that port
  • Container images now run as a non-root user in a minimal hardened runtime image, with support for read-only filesystems and reduced Linux capabilities

Hub Monitor Device

  • Added grouped device status notifications that batch multiple camera changes into a single alert for email, Slack, Telegram, Pushover, Pushbullet, SMS, and Alexa
  • Added configurable notification grouping delays with new DEVICE_GROUPING_HOLD_SECONDS and DEVICE_SCAN_INTERVAL_SECONDS settings to control batching behavior and scan frequency
  • Improved grouped notifications with summaries organized by site/group, customizable titles and email templates, tenant-aware device links, and clearer messaging when devices briefly disconnect and recover
  • Continued sending webhook, IFTTT, and realtime feed notifications immediately even when grouped notifications are enabled for user-facing channels
  • Improved device status messaging with clearer recovery states such as cameras coming back online or reconnecting streams
  • Fixed offline detection timing so devices are marked offline as soon as the configured threshold is reached
  • Improved notification reliability in multi-instance deployments by preventing duplicate grouped notifications and making user data handling more tolerant of inconsistent account records

Pipeline Event

  • Improved RabbitMQ connectivity and stability through an update to the underlying AMQP client library

Pipeline Monitor

  • Added a /metrics endpoint for metrics collection and liveness monitoring
  • Expanded runtime configuration support and documentation for MongoDB, RabbitMQ, and OpenTelemetry environment variables
  • Improved container runtime security by running as a non-root user with a minimized read-only runtime image
  • Container deployments now expose TCP port 8080 by default

Pipeline Sequence

  • Forwarded recordings with dated object keys now reuse existing undated media records instead of creating duplicates, preserving existing IDs, annotations, provenance, ordering, and marker references
  • Improved reliability when matching and updating existing on-demand media records by retrying temporary lookup and marker update failures instead of creating duplicate entries
  • Added a /metrics endpoint on port 8080 for liveness checks and metrics access

Pipeline Throttler

  • Container images now run as a non-root user in a minimal hardened runtime image with support for read-only deployments
  • The service now listens on port 8080 by default, with the /metrics endpoint exposed on the same port
  • Updated container packaging and runtime libraries to improve compatibility and reliability for Kafka-based workloads

Pipeline Notification

  • Added configurable notification retry behavior with delayed retry queues for more reliable delivery and backoff handling
  • Improved retry handling by distinguishing temporary delivery issues from permanent provider rejections, preventing unnecessary resend attempts
  • Slack notifications now support selectable delivery modes using either incoming webhooks or Slack bots
  • Slack bot delivery can now upload playable video files directly into Slack channels instead of only sending links
  • Slack delivery configuration is now validated more strictly to prevent accidental delivery to the wrong channel or fallback behavior
  • Slack notification sending now includes request timeouts, cancellation handling, and improved handling of transient Slack API failures and rate limits
  • Slack webhook overrides now reliably force webhook delivery for alert-specific channels
  • Updated device group notification wording to describe cameras “changing status together” instead of only going offline together

Pipeline Notification Test

  • Slack notification tests are now sent directly by the service, improving delivery reliability and retry handling for failed test messages
  • Added support for Slack bot and webhook delivery modes with validation for the required configuration in each mode
  • Slack test messages now better match real deliveries by including media URLs and thumbnail previews when available
  • Slack notification tests now correctly resolve account and inherited organization-level Slack settings during delivery validation

Pipeline Analysis

  • Added support for overriding analysis queue names with the ANALYSIS_QUEUE environment variable while keeping existing default queue names unchanged.
  • Added a documented /metrics endpoint on port 8080 for container health checks and monitoring integrations.
  • Updated deployment requirements for RabbitMQ configuration, including required host, exchange, username, and password environment variables.
  • Hardened the container runtime to support read-only filesystem deployments and reduced Linux capabilities for improved security.

Pipeline Dominantcolors

  • Updated the runtime environment and minimum supported Go version to newer patched releases, including security-related updates for Alpine, curl, and libcurl components

Pipeline Thumbnail

  • Vault jobs now detect and fail empty source downloads instead of attempting thumbnail generation on invalid media
  • Empty or truncated media downloads are now retried automatically, improving thumbnail generation reliability for transient download issues

Pipeline Counting

  • Updated the container image to use a hardened minimal runtime with stricter security defaults, including non-root execution and read-only filesystem support
  • Upgraded the service runtime to Go 1.26.10 and updated the bundled Kafka client runtime libraries
  • Clarified deployment expectations for container environments, including supported health-check behavior and hardened runtime requirements

Pipeline Sprite

  • Improved handling of pipeline events with incomplete ownership metadata by automatically filling in missing organisation and project identifiers before validation, reducing avoidable processing failures

Pipeline Export

  • Updated build and runtime requirements to Go 1.26.10+ and Alpine 3.24.3
  • Added updated curl/libcurl runtime requirements to address CVE-2026-92392 security vulnerabilities

Pipeline Redaction

  • Updated the runtime image and bundled media stack, including newer FFmpeg and image-processing libraries, for improved compatibility and stability when handling audio, video, and image content
  • Added compatibility updates for newer FFmpeg/libavcodec versions to improve video processing and hardware encoding support across modern media environments
  • Included fixes and security hardening for OpenCV/OpenJPEG processing to improve reliability and safer handling of JPEG 2000 media inputs
  • Improved container security defaults by running the application as a dedicated non-root runtime user

Vault

  • Container images now run as a non-root user by default and listen on port 8080 instead of 80; deployments using custom networking, health checks, or mounted volumes may need configuration updates.
  • Added a built-in healthcheck command and improved container health check behavior for more reliable orchestration and monitoring.
  • Added support for Kafka via bundled librdkafka runtime libraries in the container image.
  • Frontend tooling migrated to Vite, improving development and build performance while adding support for PUBLIC_URL asset paths and injected REACT_APP_* environment variables.
  • Frontend development now requires Node.js 20.19.0 or newer.

Factory

  • Added support for custom Agent tag registries, including OCI-compatible registries such as GHCR and Harbor, with optional authenticated access
  • Improved Agent tag browsing with pagination, deduplicated results, search filtering, and more consistent version sorting
  • Improved reliability of Agent tag retrieval with clearer error handling for invalid registry configuration and upstream registry failures
  • Updated the UI terminology from “Cameras” to “Agents” across navigation, deployment flows, forms, upgrade screens, and empty-state guidance
  • Improved Agent upgrade workflows to better detect and handle container image tags and digests when selecting versions for upgrades

Design

  • Added a comprehensive reusable “Hub Widgets” UI library with themed components for forms, tables, scheduling, navigation, notifications, modals, selections, feedback states, and dashboards, including light/dark theme support and accessibility-focused interactions.
  • Expanded Storybook with interactive Hub Widget demos covering validation flows, async states, scheduling editors, searchable selects, notifications, modals, KPI layouts, and responsive component behaviors.
  • Added browser-based branding tools for generating and exporting social banners and logos with live customization, PNG export, embeddable modes, and shareable URL-configured settings.
  • Added downloadable favicon bundles and refreshed favicon handling with cache-busted assets and updated manifest/app icon support.
  • Replaced the in-app Components page with direct links and redirects to the external Storybook component catalog.
  • Added new animated isometric illustration components and themed figure variants for use across product and marketing experiences.
  • Upgraded the interactive world map with a real map image layer, responsive badge positioning, improved badge visibility behavior, and smoother interactive overlays.
  • Production container/runtime now uses port 8080 and includes a new /healthz health-check endpoint for deployments and monitoring.

Learn

  • Added podcast support across Learn content, including embedded audio players, chapter navigation, playback controls, resume progress, and podcast-optimized page layouts
  • Introduced collapsible grouped “Topics” navigation with custom ordering and improved site-wide table-of-contents behavior
  • Refreshed Learn site styling with product-specific themes, redesigned dark-mode code blocks, improved copy controls, and smoother horizontal scrolling
  • Added animated product illustrations and reusable interactive embeds with accessibility support
  • Expanded product overview and onboarding content for Agent, Factory, Hub, and Vault
  • Added cookie consent management and enhanced analytics support, including GA4 Consent Mode v2 and optional third-party analytics integrations
  • Improved privacy by replacing Google-hosted fonts with self-hosted font assets
  • Expanded Hub documentation for authentication, MFA, passkeys, OIDC SSO, audit events, notifications, organisations, roles, and scoped resource assignments
  • Added the latest release notes covering API updates, recordings UI improvements, workflow and media handling updates, Vault routing, retry behavior, and Helm configuration changes
  • Refreshed favicon, web manifest, and application icon assets for improved cache handling and branding consistency

Website

  • Added new Privacy, GDPR, Security, and Legal pages with detailed information on data handling, compliance, security disclosures, and website terms.
  • Introduced new deployment solution pages for RTSP camera AI and Kubernetes camera management with implementation guidance and product links.
  • Added a new “Drone Engineering Internship” careers page with structured job details and application metadata.
  • Added a cookie consent banner and privacy controls for analytics preferences across the site.
  • Integrated Google Analytics 4 with consent-aware tracking for contact submissions and careers interactions.
  • Added a new interactive livestream demo experience with searchable, filterable, paginated multi-camera views and expandable previews on the Hub product page.
  • Expanded product pages with FAQ sections, contextual solution links, richer structured SEO metadata, and updated product messaging.
  • Improved site SEO and sharing metadata with canonical URLs, structured data, dedicated social preview images, and automatically generated sitemaps.
  • Updated branding assets, application icons, and site manifest details across the website.
  • Improved site performance with precompressed asset delivery, browser caching support, self-hosted fonts, and optimized image loading.
  • Added redirects and canonical URL handling for consistent routing, including redirecting www.uug.ai to the primary domain.
  • Added new footer navigation links for legal resources, deployment guides, AI crawler information, and analytics preference controls.
  • Removed the public CV/resume page and related downloadable profile content.

Helm Charts

  • Added passkey (WebAuthn) authentication support, including passwordless sign-in and passkey management in the user profile UI
  • Added optional S3-backed audit log archiving with configurable bucket, retention, endpoint, and credential settings
  • Added grouped camera status notifications that combine multiple device state changes into a single notification email
  • Added configurable device monitoring scan intervals to control camera status check frequency and grouped notification timing
  • Added frontend feature flags for bulk media forwarding actions and media analysis visibility in media details
  • Expanded Helm chart hardening options with configurable security contexts, non-root runtime support, read-only filesystems, health checks, and custom container ports across frontend, admin, and worker services
  • Added dedicated ServiceAccount configuration support for the audit service deployment