• v1.6.0 9aca9c45e2

    sofarr v1.6.0
    Create Release / release (push) Successful in 32s
    Build and Push Docker Image / build (push) Successful in 34s
    CI / Security audit (push) Successful in 1m19s
    CI / Tests & coverage (push) Successful in 1m38s
    Stable

    gronod released this 2026-05-21 11:56:16 +01:00 | 29 commits to main since this release

    sofarr v1.6.0

    Docker

    docker pull docker.i3omb.com/sofarr:1.6.0
    

    Changes

    • Release v1.6.0
    • chore: bump version to 1.6.0, update CHANGELOG and ARCHITECTURE docs
    • Merge pull request 'fix: remove client/ from .dockerignore to fix Docker client-build stage' (#27) from develop-refactor into develop-refactor2
    • Fix CSRF token and currentUser references in api.js
    • Fix blocklist CSRF token reference error
    • Add client-side logging to blocklist button for debugging
    • Add logging to blocklist-search endpoint for debugging
    • Fix progress calculation to support both mbleft and mbmissing fields
    • Fix missing progress bar for SABnzbd downloads
    • Fix background fetch to not overwrite cache with empty data
    • Fix status route test paths
    • Fix inconsistent speed formatting in download updates
    • Fix status route path to avoid 404
    • Fix logout button by using state object references
    • Add error display for status panel failures
    • Fix history pagination and status panel issues
    • docs(ARCHITECTURE): update to reflect develop-refactor2 changes
    • Add comprehensive tests for staged history loading
    • Add client-side handler for history-update SSE events
    • Implement staged history loading with SSE push
    • Fix status button ID mismatch - use status-btn instead of status-toggle
    • Increase history pageSize from 100 to 500 to fetch more records
    • Add logging for total Sonarr/Radarr records fetched
    • Add logging for filtered event types and missing series/movie objects
    • Add detailed logging for all series/movies with raw tag IDs to debug missing items
    • Add debugging logs for history filtering to diagnose missing series
    • Fix tab selection - use data-tab attribute instead of missing IDs
    • fix: update test to reflect that unmatched torrents should not be displayed
    • Exclude public directory from copyright header check
    • Add file details to copyright header check failure output
    • Improve license check to output failing package names
    • Fix: Remove unmatched torrents from download display
    • Fix CSP violations and ignoreAvailable reference error
    • ci: trigger rebuild with .dockerignore fix
    • fix: remove client/ from .dockerignore to fix Docker client-build stage
    • fix: remove client/ from .dockerignore to fix Docker client-build stage
    • Add frontend unit tests with Vitest + jsdom
    • Extract matching logic into new DownloadMatcher service
    • Add JSDoc comments and defensive error handling to DownloadBuilder.js
    • refactor: Complete technical debt remediation - final cleanup
    • refactor: Complete technical debt remediation (all steps)
    • Extract createClientLogo helper to eliminate 2× client-logo duplication
    • Extract renderTagBadges helper to eliminate 4x tag-badge rendering duplication
    • Migrate frontend from monolithic app.js to vanilla ES modules
    • refactor: extract status route and WebhookStatus service, slim dashboard.js
    • Refactor: Deduplicate download assembly logic into DownloadBuilder service
    • Add guard test for DownloadBuilder service
    • Extract DownloadAssembler service from dashboard routes
    • Refactor: Extract tag functions to TagMatcher service
    • fix: limit history pagination to prevent 40s response times
    • test: add integration and unit tests for dashboard, emby, sonarr, radarr, sabnzbd routes
    • Merge pull request 'fix: use stable *arr IDs for matching before fragile title fallback' (#21) from fix-arr-matching into develop-merge
    • Merge pull request 'fix: webhook replay cache atomicity and instanceName precision' (#22) from fix-webhook-receiver into develop-merge
    • Merge pull request 'fix: QBittorrent fallback state corruption after full sync' (#23) from fix-qbittorrent-client into develop-merge
    • Merge pull request 'fix: SABnzbd speed assignment and size/progress parsing' (#24) from fix-sabnzbd-client into develop-merge
    • Merge pull request 'fix: full pagination + non-silent errors in PollingRadarrRetriever' (#25) from fix-radarr-retriever into develop-merge
    • Merge pull request 'fix: full pagination + non-silent errors in PollingSonarrRetriever' (#26) from fix-sonarr-retriever into develop-merge
    • fix: use stable *arr IDs for matching before fragile title fallback
    • fix: webhook replay cache atomicity and instanceName precision
    • fix: QBittorrent fallback state corruption after full sync
    • fix: SABnzbd speed assignment and size/progress parsing
    • fix: full pagination + non-silent errors in PollingRadarrRetriever
    • fix: full pagination + non-silent errors in PollingSonarrRetriever

    Downloads

    Downloads