github connorgallopo/Tracearr v1.4.25

13 hours ago

Tracearr v1.4.25 - TimescaleDB License Fix, Chunk Repair, and Stability

The timescaledb-ha Docker image now defaults to the Apache license, which silently blocks compression, continuous aggregates, and retention policies.

Tracearr now detects the Apache license at startup and switches to the Community Edition license via ALTER SYSTEM. The Timescale License is free for all self-hosted use — the only restriction is offering TimescaleDB itself as a managed database service.

If you run the standard Docker compose — the docker-compose.pg18.yml now passes timescaledb.license=timescale on the postgres command line. Update your compose file or add -c timescaledb.license=timescale to your postgres command: block.

If you run supervised — the entrypoint already sets it in postgresql.conf. No action needed.

If you run a custom setup — add timescaledb.license = 'timescale' to your postgresql.conf or pass it via -c on the postgres command.

New maintenance job in Settings > Jobs. Scans all compressed TimescaleDB chunks for pg_attribute catalog corruption, decompresses recoverable chunks, and drops unrecoverable ones so the table is usable again. The backfill job now also detects this specific corruption and tells you to run the repair first instead of failing with a cryptic error.

  • 415 Unsupported Media Type — Some reverse proxies (Zoraxy, certain Nginx configs) inject Transfer-Encoding: chunked on bodyless requests, which makes Fastify think there's a body and reject it. Tracearr now strips transfer-encoding when there's no Content-Type.
  • Long device IDs (#636) — Jellyfin Webview clients can report device IDs over 255 characters. Player name, device ID, and product fields are now truncated to fit the column limit. Affects both live sessions and Tautulli imports.
  • Mobile dashboard not refreshing (#651) — TanStack Query's focusManager wasn't hooked up to React Native's AppState. Dashboard now re-fetches when the app comes back to the foreground.
  • Inactivity check duplicates — Violations were only deduplicated against unacknowledged no activity violations. A dismissed user could get flagged again immediately. Now deduplicates against all existing violations.
  • Concurrent streams chart — Window function ordering included the delta column, which produced incorrect running totals when multiple events shared the same timestamp.
  • Bandwidth chart (#640) — Interval selector dropdown was clipped on smaller viewports.
  • Backup free space (#642) — Volumes over 1 TB showed incorrect free space. Moved to a shared formatBytes utility that handles larger units.
  • basePath resolution — Fixed for Node 25 compatibility while staying backwards compatible with Node 24 and earlier.

As always - thank you for the support and feedback!

Don't miss a new Tracearr release

NewReleases is sending notifications on new releases.