For AI agents: a documentation index is available at /llms.txt. Markdown versions are available at matching .md URLs.

Skip to content

Redactor Release Notes

Redactor changelog

Review Redactor API, server, embedded UI, media processing, and workflow changes across recent and historical releases.

Archives

Older release notes are split into smaller archive pages for faster loading and cleaner agent retrieval:

7.1.3 – May 5, 2026

New Features

  • Out-of-Disk-Space Protection
    When disk usage on the app data folder exceeds the threshold, the server replies with HTTP 503 to all requests except /health and resumes automatically once it drops. Configurable via REDACTOR_OODSTRACK_THRESHOLD_PCT (default 90%) and REDACTOR_OODSTRACK_INTERVALS.

  • Memory Diagnostics
    A new tracker samples heap usage and logs new high-water marks, and can write a V8 heap snapshot when usage exceeds a configurable percentage of the heap limit. Controlled via REDACTOR_DIAG_OOMTRACK_INTVL, REDACTOR_DIAG_OOMTRACK_DUMP_PCT, and REDACTOR_DIAG_OOMTRACK_DUMP_PATH.

  • Hide API User Identity in Video List
    The new REDACTOR_UI_SHOW_USERNAME_API env var controls whether api:<id> / emb:<user> shows in the "In Use" overlay. Now hidden by default.

  • Optional Persisted Redaction History
    Per-session history persistence is now opt-in via the new REDACTOR_HISTORY_ENABLED env var (default 0=off), reducing disk I/O for high-throughput API workloads. For in-depth audit logs you might want to set it to 1.

Updates

  • Server Stability Internal optimizations got added to make the backend more robust and responsive under concurrent API (and sometimes regular user) load.

  • Operational Logging
    Active session and operation counts are now logged on each change, and OS resource limits are logged at startup.

Bug Fixes

  • KeepAlive Interval with Polling Transport
    Setting REDACTOR_FORCE_POLLING_TRANSPORT=1 could hit the server with too many keepAlive POSTs. This is now back to regular, recommended intervals.

  • Box Border Visuals
    The borders for background / keep-unredacted boxes did not render properly. The original visual concept got improved for better visibility.

  • Reaction to Malformed Requests
    All effective endpoint flows are now validated thoroughly againt malformed traffic (observed on publicly-exposed/non-firewalled hosts).

7.1.0 – March 25, 2026

New Features

  • Smart Fill Redaction Mode
    "Smart Fill" is now available as a dedicated redaction mode in the export UI, providing visually more pleasing redaction compared to fixed color filling.

Updates

  • Improved Audio Gap Filling
    Audio gap filling during conversion now uses proper resampling and silence padding, improving handling of videos with incomplete or irregular audio streams. One side effect of this was that rendering was reported as success, but no output file had been actually created.

Bug Fixes

  • License Activation Error Reporting
    License activation now correctly reports rejection errors: unknown serial numbers show "serial number not found" instead of "server unreachable", rejections are no longer masked as success when a valid license is already present, and mixed activation responses (some serials accepted, some rejected) now yield a partial success instead of a blanket error.

  • Context Menus During Object Creation
    Context menus on existing detection objects are now suppressed while the add-new-objects mode is active, preventing potential race conditions and unintended edits.

7.0.6 – March 17, 2026

Updates

  • GPU Pre-Configuration at Startup
    GPU environment variables are now configured before any CUDA initialization can occur, preventing conflicts when GPU usage is disabled. New environment variables SIO_ACTIVE_CUDA_DEVICE and SIO_CUDA_DISABLED allow complete CUDA bypass at the driver level.

  • Early License Validation
    The license is now validated before spawning a processing job, so invalid-license errors surface immediately rather than after a costly process start.

  • Bulk Selection Menu Labels
    The bulk selection context menu now shows type-specific labels (e.g. "Remove videos", "Remove images") instead of the generic "Remove media" label.

  • Deinterlace Filter Applied Unconditionally
    The deinterlace filter was being applied to all jobs instead of only when explicitly requested, this has now been optimized.

  • Error Dialogs Showing Raw JSON
    Error dialogs in export, processing, and server-error flows now show a meaningful human-readable reason instead of raw JSON.

Bug Fixes

  • Crash on Videos with Non-Standard Resolutions
    Videos with frame widths not divisible by 4 (e.g. screen recordings at 1170px wide) caused the conversion stage to silently truncate the frame dimensions, leading to an out-of-bounds crash during redaction rendering. This has been fixed.

  • Video List Empty After Browser Refresh
    Refreshing the browser while inside an open editor session could leave the video list empty. The list now correctly reloads on re-attach.

7.0.5 – February 24, 2026

Bug Fixes

  • Crash While Probing for Video Decoders
    On some drivers/hardware (CUDA confirmed) probing for the video decoding capabilities caused a crash, even if video decoding in general was set to CPU only mode (default). Such ahead-probing is now explicitly disabled.

  • API: operations failed if file output URI was given without an export
    In this edge case an output URI indicating a file name (missing / at the end of the path) would cause the operation to fail late in the run if the MEDIA_RENDER feature wasn't provided. This has now been mitigated by the output URI be simply ignored, so existing code will still function. Notice in general that the output URI does not get persisted across operations.

7.0.4 – February 19, 2026

Bug Fixes

  • Track Resizing caused leftover objects
    Race condition where sometimes objects lost their associated tracks, which caused the UI to error out. This has been fixed and former data inconsistencies being automatically mitigated.

  • Missing Labels
    The vehicle and screen labels, for existing detection, were not shown in the video list.

7.0.3 – February 13, 2026

New Features

  • More Detection Classes
    Redactor can now detect these new classes:

    1. Documents in general
    2. IDs, e.g. driver licenses or passports
    3. Screens (laptops, monitors, phones)

    These classes are also selectable via the API.

  • H.265 Importing
    It is now possible to import H.265 (aka HEVC) video files into Redactor. Rendering will still happen i the H.264 format (highest compatibility for video playback)

  • High Contrast Boxes
    The object boxes are now a compound of color shades (instead of single solid color) to enhance visibility no matter what the background behind them is.

  • Undo/Redo Support
    Support for such actions via the common [Ctrl]+[Z] (undo) and [Ctrl]+[Y] keyboard input. As usual these keyboard shortcuts can be recalled by pressing the [F1] key. This covers all areas of editing (boxes, audio regions, grouping). The scope is limited for the currently opened session, until it gets closed, hence it will not touch edits (of potentially other users) beyond this. The data amount does not matter, you can do a very long auto-detection, undo it but then also bring the whole set back (redo) if you want. Notice that after an undo any new (committed) action will clear the redo history.

  • Background Redaction
    Two features were added to make background (aka as reverse) redaction possible:

    1. An object can be marked a As background, in such a case other objects will rendered on top of it. This is usually used to simply make one static box, selectively over a certain time range, being full screen to cover the background.
    2. An object can be marked with the Keep unredacted flag, for which at rendering time it won' be redacted and always be visible. However it will be drawn over by objects which are marked to be redacted.

    The common scenario is to have e.g. 1+ persons in a scene visible, with everything else redacted. In such a case the scene is marked using (1) to be redacted and the person objects in question being flagged as to keep unredacted like in (2).

  • Escape Key to Cancel
    Wherever there is a [Cancel] button visible it is possible to trigger it by pressing the [Esc] key.

  • Audit Data Generation
    For 1+ videos (when not being opened) audit logs can be requested via the context menu. It will yield a ZIP file containing pairs (for each video) of two files:

    1. One CSV file, ready to exported in spreadsheet apps, with each row documenting for what session and user happened when, e.g. 2025-...,99b635d2...,john,,02789...,redactor.export,begin,. Some events can be linked together with identifiers.
    2. One gz file containing the full history of the session, encoded in JSON, as snapshots of each editing attempt, stored when a video is closed. The data itself is of internal format right now, but an exact 1:1 copy of what would have been sent at the export/rendering time, so it's possible to replay the individual modifications manually.

    These audio log data items will also be exported when via the API a session is placed into remote storage, hence two new files, {session-id}_history.csvand {session-id}_audit.csv will appear from now on.

  • Show User Name in Video List
    If a video is shown as "In Use" in the (server) video list the name of the user working on it will also be displayed. In case of API users (during operation processing) or embedded users an identifier for easy correlation will be displayed.

  • API: Hash Generation
    By default an SHA-256 hash is computed over the original media file (pre-conversion/intake) and stored with the associated session data. Other algorithms can be defined by the environment variable REDACTOR_HASH_TYPES_IMPORT, even multiple ones if comma-separated. The current ones support are md5,sha1,sha256,sha512. Similarly an optional selection can be defined via REDACTOR_HASH_TYPES_EXPORT, the computed hashes over the exported media file will then be exposed via the audit and meta data.

  • API: Session Data Snapshots
    When saving sessions into storage locations there is now a new companion file called video_data.hjson, in which basic session information is present. This facilitates support requests and/or can be used to figure out other potential issues. While being a private data structure at this moment it might even be helpful for operations.

  • API: TypeScript types published
    We now provide d.ts files for all of the public data types used in the API calls and/or results.

Updates

  • Bulk Operations
    Offer bulk selection mode only if there are enough items available.

  • API: operations succeeded even if nothing was exported
    If a session didn't have redactions no output is rendered, but this was declared to be successful with nothing placed the the output URI. Such a scenario will cause an error now.

  • Enhanced Crash Support
    In cases of crashes during loading, processing or rendering detailed crash dump information is collected, which can then be send off in one convenient ZIP file, allowing maximum possible reproducibility of the issue on the support side.

Bug Fixes

  • Live Recording Uninterrupted
    The inactivity timeout on the server version terminate connections even if live recording was happening. This is now detected and sessions will stay connected as long as such activity is going on.

  • Live Recording Boxes Stuck
    The selection box would stay visible after an early live recording cancellation.

  • Delete Key Ignored after Selection
    It was possible to delete objects after new boxes where selected, by using the [Delete] key.

  • Audio Region Hidden
    The greyed out parts (=already played) in the audio timeline was hiding/overlaying existing regions.

  • Export Progress Bar after Reopening
    When returning to a session where an export was happening the progress did not indicate that it was an export which was going on, but some general processing.

  • Conversion Process kept running on Cancel
    When an import was cancelled the conversion process kept running in the background until finally finished and the result ignored.

  • Full Frame boxes missed one Line
    If a box was placed to occupy the whole video frame, one line on the bottom didn't get blurred out, depending on the resolution.