v0.6.11 (2026-04-12)
- Preserve full modal error dialog text where Kodi's Dialog API allows it
- Show NZBHydra outages and invalid responses in modal dialogs
- Keep duplicate NZB results visible instead of merging indexers

v0.6.7 (2026-04-10)
- Fix pylint W0621: remove redundant import os in _serve_temp_faststart

v0.6.6 (2026-04-10)
- Validate URL scheme in stream proxy to reject non-HTTP URLs
- Redact API keys and auth credentials from debug logs
- Reuse shared notification helper (remove duplicated logic)
- Reduce _serve_remux complexity by extracting seek and faststart helpers
- Localize "no video file found" notification string
- Truncate server failure messages to 80 chars for TV UI
- Fix all code scanning alerts (complexity, indentation, broad-except)

v0.6.5 (2026-04-10)
- Show nzbdav failure reason to user when download fails
- Notify user when download completes but no video file found on WebDAV
- Show stream errors to user instead of silently swallowing them
- Fix playback freeze caused by ffmpeg stderr pipe buffer filling up

v0.6.2 (2026-04-10)
- Fix flaky cache eviction test due to non-deterministic file sizes

v0.6.1 (2026-04-10)
- Narrow broad except handlers to specific exception types in stream proxy
- Remove unnecessary pylint disable comment in MP4 parser

v0.6.0 (2026-04-07)
- Add pure-Python MP4 moov-relocation proxy for native seeking, pause, and DV support
- Parse moov atom from remote MP4 via HTTP range requests, rewrite stco/co64 offsets
- Serve virtual faststart MP4 (moov-before-mdat) with Accept-Ranges: bytes
- Three-tier fallback: virtual faststart → temp-file faststart → MKV remux
- Direct redirect for already-faststart MP4s (skip proxy entirely)
- Add LRU byte cache for WebDAV range request coalescing
- Support co64 (64-bit chunk offsets) for files >4GB
- Compute moov location from mdat size instead of blind tail probing
- Use single streaming connection per seek instead of per-chunk requests
- Remove unused HLS segment endpoints
- Container column in NZB results list (MKV green, MP4 red)
- Fix zombie ffmpeg from duration probe eating 100% CPU
- Fix MKV duration via -metadata DURATION= for correct progress bar

v0.5.0 (2026-04-06)
- Simplify player installer to TMDBHelper-only (no multi-select dialog)
- Remove WebDAV URL setting (defaults to nzbdav URL automatically)
- Replace release group text fields with multiselect dialogs
- Add 93 known release groups with curated preferred/excluded defaults
- Fix continuation requests restarting ffmpeg from byte 0 instead of resuming
- Fix _validate_url crash when URL is None
- Extract _embed_auth_in_url helper to DRY auth credential embedding
- Remove duplicate server attribute initialization
- Narrow exception handling in seek-kill block to OSError
- Add handler-level tests for HEAD and GET responses

v0.4.3 (2026-04-06)
- Remux MP4 to MKV on the fly via ffmpeg (fixes 32-bit Kodi CFileCache bug)
- Add subtitle conversion (mov_text to SRT) with toggleable setting
- Add byte-range seeking with duration probe and progress bar support
- Fix playback-failed dialog caused by setResolvedUrl(False)
- Add background service for playback auto-recovery with retry
- Move stream proxy to background service to survive script exit
- Show helpful error messages on playback failure
- Resolve all GitHub code scanning alerts (pylint, bandit, CodeQL)

v0.4.1 (2026-04-06)
- Address high/medium findings from code review

v0.4.0 (2026-04-06)
- Show lightning bolt indicator for already-downloaded NZBs
- Suppress BrokenPipeError log spam when stopping playback

v0.3.0 (2026-04-05)
- Fix WebDAV streaming on CoreELEC with MP4 faststart proxy
- Route all formats through local proxy to fix stale handle playback
- Skip re-downloading if NZB already completed in nzbdav history
- Add Test Connection buttons for NZBHydra and nzbdav in settings
- Retry NZB submission up to 3 times on transient failure
- Propagate NZBHydra search errors to user with clear messages
- Show filter count and offer to show all when everything filtered
- Add LRU cache eviction when cache exceeds 50MB limit
- Harden PROPFIND XML parsing against malformed responses
- Add thread safety lock to stream proxy context assignment
- Add max iterations safeguard to resolve poll loop
- Use IMDB ID for TV show searches instead of title-only text search
- URL-encode WebDAV folder paths and auth header values
- Add detailed progress logging during search stages

v0.2.0 (2026-04-05)
- Add Kodi localization support for addon UI and settings labels
- Add GitHub community health files and repository best-practice coverage tests
- Fix enum settings labels so sort order renders localized text in Kodi
- Harden numeric setting parsing to avoid filter/search regressions

v0.1.0 (2026-04-05)
- Initial release
- NZBHydra2 search integration (movie + TV)
- nzbdav submission and WebDAV streaming
- TMDBHelper player integration
- PTT-based quality filtering (resolution, HDR, audio, codec, language)
- Custom full-screen results dialog with color-coded labels
- Keyword and release group filters
- Relevance-based sorting
- Search result caching
- Auto-select best match mode
- Playback monitoring with retry
