github qooode/nzbdavex v1.0.0
davex 1.0.0

6 hours ago

First official release of davex. davex is an independent fork of nzbdav, rebuilt into a fast on-demand usenet client with a token-scoped search API, self-healing content resolution, and a live observability dashboard. This release captures everything the fork added since it diverged from nzbdav 0.6.4.

Highlights

  1. Search Profiles: a token-scoped, multi-adapter search API. Each profile exposes its own Newznab adapter, JSON search, and NZB proxy endpoints behind a scoped token, so *arr apps and other external clients can search and fetch straight from davex. This is the backbone of the fork. (93e61fc, 81e6e20)
  2. Watchdog: self-healing resolution with a live dashboard. When a client requests an item, davex works down the ranked candidates across your indexers and providers and automatically falls through dead, incomplete, or excluded releases until one resolves, so a single bad release no longer breaks the request. The Watchdog page shows it happening live: every click grouped into its attempts with indexer, provider, size, outcome, fail reason, and timing, plus the winning release and how fast it resolved. Filter by live, resolved, failed, or excluded, and the whole history persists across restarts. (476484a, 874681b, 6bb315f, 6f805ad)
  3. Live Overview dashboard. A real-time control center built from scratch: throughput chart, error donut, activity heatmap, provider and indexer scoreboards, lifetime totals, and an active-reads panel showing exactly what is being served right now, all pushed live over WebSocket. (93e89b7, 3130a89, 051112f)
  4. Preflight verification. davex can pre-verify the top search candidates and cache their NZB bytes before a client ever connects, so the first read lands on a known-good release. Mode, candidate count, TTL, and max indexer wait are all configurable. (e4ae7cc)
  5. Size-aware content variants. When the same title shows up as several releases, the variant resolver keeps the best one by size (with configurable tolerance and eviction) instead of re-downloading duplicates. (2e6951c)
  6. Faster RAR access. Lazy RAR mounting parses only the first volume at import and defers the rest to first read, dropping click-to-mount from roughly 5 to 15 seconds down to 1 to 2 seconds on typical releases. Trailing volumes then pre-warm in the background so the first read no longer stutters. Toggle via api.lazy-rar-parsing; unsupported archives fall back to the eager processor automatically. (18f6a67, 88f6a14)
  7. Provider usage tracking and data caps. Track each Usenet provider's usage against a configurable data cap, toggle providers on and off, and give them nicknames, all surfaced in the client and on the scoreboards. (1855512, 989673a, 3f53915, 17ce0b9)

Features

Search and indexers

  • ID resolvers for TVDB, IMDb titles, and external IDs, with a configurable query fallback when the first search returns too few results. (60896c6, 6d7397f, f0b54b3)
  • Strict matching to cut false positives, plus per-indexer category overrides (extra movie/TV categories and an ignore-filter toggle). (4fa8222, d31404f)
  • Result filtering by age and grab count, with richer result metadata. (174e7cb, 0d393fc)
  • Per-indexer request timeouts, custom User-Agent, and proxy support, plus a Newznab rate limiter and an NZB resolution cache. (2335550, e9e2d4a, 9c1bb8f, c451079)
  • Indexer API-usage tracking: hits against each indexer's configured limits, shown on the Overview and Indexer settings. (0f17473)

Content delivery

  • New profile delivery pipeline with active read sessions and a session registry. (051112f, 6212172)
  • Suffix-length range requests (bytes=-N), video-resolution caching, extended content-type mappings, and Cache-Control headers. (f06f896, 3f8173e, ba0749f)

Observability

  • Live log viewer that pushes backend logs over WebSocket in real time, with download. (ef0111b)
  • Transfer metrics (bytes served and throughput) feeding the live dashboard. (67f1016, ade1815)

UI and settings

  • Rebrand from nzbdav to davex with refreshed branding and app icons. (17db1a4, 7596bc4, b7b2dd4)
  • Reworked Indexers settings (card layout and modal), an advanced settings tab with accordion, a cleaner SABnzbd settings page, and an explore route with a toolbar, multi-select, and delete. (c808876, 166bf94, 7b2002e, 9faedbb)
  • Custom checkboxes and toggle switches across the app. (49213ab)

Packaging

  • Multi-arch Docker images (linux/amd64 and linux/arm64) published to GHCR with edge and semver tags, and removal of the legacy workflows and Dependabot config. (6317dcc, b5c49c1)

Bug Fixes

  • forward /adapters/* to the backend so addon manifest and Newznab URLs stop 404ing. (e42f9d8)
  • harden MultiSegmentStream and handle NNTP read timeouts more gracefully. (51c6c1b, 817cccd)
  • lazy RAR resolver: skip SharpCompress seek-past-data stalls and serialize concurrent persistence. (f04113a, 7f4c57e)
  • negative-cache failed WebDAV item lookups and return structured request errors. (8e8a2e8, d875049)
  • drop static XElement references in WebDAV property managers to avoid cross-request races. (14fbaaf)
  • cap search results at 100, normalize titles, and raise the regex timeout for exclude-pattern matching. (ff6e10c, 77c8176, d52aea7)
  • cancel in-flight verify tasks more reliably, with consistent route paths and NWebDav path-segment exclusions. (216b5d5, 7467446, ce6f177)

Don't miss a new nzbdavex release

NewReleases is sending notifications on new releases.