Table of Contents

Q2 2026 Release Notes

April - June 2026


New Features

  • Camera Bulk Edit & Delete: Select multiple cameras using checkboxes (including select all), then bulk edit settings (active mode, credentials, recording mode, schedule, notifications, and cloud) or delete them in one operation. A confirmation dialogue lists all affected cameras before any destructive action

Camera bulk actions - select, edit, or delete multiple cameras at once

  • File Attachments in Notes: Notes editors now support file uploads via drag & drop, paste, or the attach button for images, documents (PDF, Word, Excel, PowerPoint, CSV), and videos (up to 100MB). Attachments display as thumbnails and can be clicked to view full-size. A new management page under Settings shows all uploaded attachments, which resource they belong to, and lets you filter by status (active or orphaned) and file type to find and delete unused files

Improvements

  • Richer Event Classification (work in progress): Events are being reorganised around fifteen meaningful categories (motion, objects, movement, clothing, behaviours, vehicle, anpr, tampering, environmental, etc.) so you can filter for exactly what you care about. Cleaner notifications (no more stutters like "Motion Detected detected"), a help page that updates automatically whenever a new event type is added, and room for new detections like PPE checks, vehicle violations and demographics
  • Device Service Filtering: Filter devices by detected service (Web, SSH, Video, VNC, Other) or by specific open ports. Service badges appear next to device names showing available interfaces at a glance
  • Redesigned Page Loading: Cleaner page load indicator with a subtle indeterminate progress bar and branded loading overlay. Fonts load with higher priority to reduce text reflow during navigation
  • Exports Page: Exports list rebuilt with the redesigned table format, including sortable columns, search, and column visibility controls
  • Redesigned Tables: All data tables rebuilt with resizable, reorderable, and hideable columns. Preferences remembered per table. Includes search bar, column visibility toggle, and CSV/Excel export. Formatted columns (CPU usage, storage size, time durations) now sort by underlying values. Name is always the second column and bold for quick identification. Clicking a row opens the detail modal. Related links (company, user, timeline) open in modals instead of navigating away
  • Camera Avatars: Camera name columns now show a model image (where available) or colourful letter avatar, matching the user and company avatar style. Hovering a model image shows a larger preview. Avatars now also appear on the TetherBox detail page's Cameras tab and the Health page's Cameras tabs
  • Health Devices with Packet Loss: Added a name column with the connection indicator so packet loss percentage is visible at a glance
  • TetherBox Devices Tab: Reordered columns so the device name appears before Monitored, matching the layout elsewhere
  • Notes Improvements: Links and attachment images in note previews (map callouts, event popovers) now open in a new tab or full-size preview instead of navigating away. Images constrained to fit the container. Callouts no longer wait for images to load before appearing
  • Timelines Index: Added brand column with link to brand detail
  • Recording Mode Hints: Improved formatting for Active mode and Recording mode tooltips with bold labels and line breaks
  • DMS Coordinate Support: Site coordinates can now be entered in degrees-minutes-seconds format (e.g. 73°42'14.5"W) and are automatically converted to decimal
  • Faster Events, Cameras and Recordings Pages: Removed hidden per-row database lookups that accumulated on long lists, so page loads stay snappy as accounts grow

Bug Fixes

  • API Reference Dark Mode: The API reference page is now readable in dark mode with a light background container for the Swagger UI
  • Modal Background Scroll: Opening a modal no longer allows the page behind to scroll
  • Tooltip and Popover Formatting: Fixed missing paragraph breaks in tooltip and popover content
  • Column Selector Dropdown: The column visibility dropdown no longer clips behind the table container
  • Event Player Stall After Scrubbing: Fixed the event player getting stuck with a permanent loading bar after scrubbing forward. The player now buffers all remaining recording segments instead of only two ahead
  • Events Display Mode: The "All" display mode now correctly shows events in all states (pending, hidden, closed) on initial page load, matching the selected filter
  • Recording Download for Cloud-Backed Recordings: Fixed Access Denied errors when downloading recordings that are only stored in the cloud
  • Event Filmstrip Thumbnails: Filmstrip thumbnails now load directly from cloud storage when available, fixing missing images for older recordings no longer on the device
  • ANPR Date Filter: The ANPR page no longer crashes when an invalid date is entered in the filter, falling back to the default range instead
  • Filter Defaults: Online and Active filters now default to showing all items rather than only online or active ones, making newly added offline or inactive items visible without changing the filter
  • Timelapse and Filmstrip Images: Fixed missing images on the timelapse tab and event filmstrip for cameras with no timelapse cloud backup, a longer backup interval than five seconds, or thumbnail-only backup. The page now loads images directly from the TetherBox in those cases instead of trying a cloud copy that does not exist
  • Missing TetherBoxes on Subscriptions Page: Fixed TetherBoxes with no renewal date being absent from the Subscriptions page counts. Activations now always set a renewal date, including for replacement units inheriting from older units that predate renewal dates

Internal Changes

  • MongoDB Profiler (staff-only): New /mongo page captures a window of the mongod slow-query log (local or via SSH) and produces an actionable report — index drop-candidates, mirror pairs, plan instability, in-memory sorts, collection scans, shard-key candidates, and index-declaration drift comparing live indexes against the Mongoid model declarations so changes in code that leave stale indexes behind are caught automatically
  • Reduced N+1 Queries: Swept event, camera, recording, trigger, zone, item, and permission paths to use cached associations, eager loading, and foreign-key copies — measurably fewer MongoDB round-trips on high-traffic pages
  • Index Hygiene: Removed three redundant items indexes and added new composite indexes on item_anprs and devices to serve filtered queries without collection scans

Statistics

Metric Value
Commits TBD
Lines added TBD
Lines removed TBD
Net change TBD