• v1.7.8 9548eb41f5

    sofarr v1.7.8
    Create Release / release (push) Successful in 30s
    CI / Security audit (push) Successful in 2m9s
    Build and Push Docker Image / build (push) Successful in 2m18s
    CI / Swagger Validation & Coverage (push) Successful in 2m36s
    CI / Tests & coverage (push) Successful in 3m15s
    Stable

    gronod released this 2026-05-23 20:53:21 +01:00 | 97 commits to main since this release

    sofarr v1.7.8

    Docker

    docker pull docker.i3omb.com/sofarr:1.7.8
    

    Changes

    • merge branch 'develop' into 'main' - Release v1.7.8
    • chore: bump version to 1.7.8 and update CHANGELOG

    Downloads

    Downloads
  • v1.7.7 f8aa90011e

    sofarr v1.7.7
    Create Release / release (push) Successful in 22s
    Build and Push Docker Image / build (push) Successful in 2m3s
    CI / Security audit (push) Successful in 1m56s
    CI / Tests & coverage (push) Successful in 2m28s
    CI / Swagger Validation & Coverage (push) Successful in 2m21s
    Stable

    gronod released this 2026-05-23 20:38:39 +01:00 | 99 commits to main since this release

    sofarr v1.7.7

    Docker

    docker pull docker.i3omb.com/sofarr:1.7.7
    

    Changes

    • merge branch 'develop' into 'main' - Release v1.7.7
    • chore: bump version to 1.7.7 and update CHANGELOG
    • ci: use RELEASE_TOKEN for Gitea Container Registry authentication
    • ci: publish Docker container image to Gitea Package Registry in parallel

    Downloads

    Downloads
  • v1.7.6 6ff660b8af

    sofarr v1.7.6
    Create Release / release (push) Successful in 23s
    Build and Push Docker Image / build (push) Successful in 1m35s
    CI / Tests & coverage (push) Successful in 2m46s
    CI / Security audit (push) Successful in 1m41s
    CI / Swagger Validation & Coverage (push) Successful in 2m22s
    Stable

    gronod released this 2026-05-23 18:55:46 +01:00 | 103 commits to main since this release

    sofarr v1.7.6

    Docker

    docker pull docker.i3omb.com/sofarr:1.7.6
    

    Changes

    • merge branch 'develop' into 'main' - Release v1.7.6
    • fix: resolve rate-limiting and Ombi requests caching bugs (fixes #42, fixes #43)

    Downloads

    Downloads
  • v1.7.5 a021ceba47

    sofarr v1.7.5
    Build and Push Docker Image / build (push) Successful in 43s
    Create Release / release (push) Successful in 54s
    CI / Security audit (push) Successful in 1m48s
    CI / Tests & coverage (push) Successful in 2m41s
    CI / Swagger Validation & Coverage (push) Successful in 2m30s
    Stable

    gronod released this 2026-05-23 10:14:15 +01:00 | 105 commits to main since this release

    sofarr v1.7.5

    Docker

    docker pull docker.i3omb.com/sofarr:1.7.5
    

    Changes

    • merge branch 'develop' into 'main' - Release v1.7.5
    • chore: bump version to 1.7.5 and update CHANGELOG
    • fix(ombi): retrieve and include settings ID in webhook enable payload (resolves #41)

    Downloads

    Downloads
  • v1.7.4 2943afdbaf

    sofarr v1.7.4
    Build and Push Docker Image / build (push) Successful in 46s
    Create Release / release (push) Successful in 52s
    CI / Swagger Validation & Coverage (push) Successful in 2m53s
    CI / Security audit (push) Successful in 1m34s
    CI / Tests & coverage (push) Successful in 3m21s
    Stable

    gronod released this 2026-05-23 10:01:24 +01:00 | 108 commits to main since this release

    sofarr v1.7.4

    Docker

    docker pull docker.i3omb.com/sofarr:1.7.4
    

    Changes

    • merge branch 'develop' into 'main' - Release v1.7.4
    • chore: bump version to 1.7.4 and update CHANGELOG
    • fix(ombi): register ombiRoutes in production server entry point (resolves #40)

    Downloads

    Downloads
  • v1.7.3 9d91d85514

    sofarr v1.7.3
    Build and Push Docker Image / build (push) Successful in 57s
    CI / Security audit (push) Successful in 1m50s
    CI / Tests & coverage (push) Successful in 2m3s
    CI / Swagger Validation & Coverage (push) Successful in 1m40s
    Create Release / release (push) Successful in 15s
    Stable

    Gandalf released this 2026-05-23 09:45:55 +01:00 | 111 commits to main since this release

    sofarr v1.7.3

    Docker

    docker pull docker.i3omb.com/sofarr:1.7.3
    

    Changes

    • merge branch 'develop' into 'main' - Release v1.7.3
    • chore: bump version to 1.7.3 and update CHANGELOG
    • fix(ui): add brand icons and type badges to download client filter dropdown (resolves #39)
    • fix: resolve download client filter element ID mismatch and bind Select All/Deselect All (closes #38)
    • fix: add missing copyright header to ombiHelpers.js
    • docs: align swagger spec and README with Ombi features and blocklist eligibility (closes #37)
    • fix: resolve multi-instance capability in proxy routes (fixes #33)
    • fix: optimize polling parallelism and resolve redundant SABnzbd requests (fixes #35, fixes #36)
    • Fix #34: Allow non-admins to use blocklist-search under qualifying conditions
    • Delete directory '.windsurf/skills/gitea-interaction'
    • Delete directory '.agents/rules'
    • Update .gitignore
    • feat: add Gitea CLI integration rules and interaction skill documentation
    • fix: remediate audited defects (resolves #29, #30, #31, #32)
    • test: remediate test suite, enable skipped frontend/SSE tests, and add comprehensive unit tests
    • feat: Add Ombi request filtering and search
    • fix: secure webhook config endpoint and validate config on Ombi enable/test
    • fix: add common webhook config check for SOFARR_BASE_URL and SOFARR_WEBHOOK_SECRET
    • Handle Ombi API object-format requestedUser field
    • test: comprehensive test coverage for Ombi webhook changes
    • feat: add Ombi requests tab and webhook panel integration
    • Merge pull request 'feat(swagger): Add Swagger API reference, and fixes' (#28) from develop into main
    • Fix: Generate Ombi links directly from TMDB ID; show on downloads and history for all users
    • fix: add arrType field to history items for admin icon display
    • Fix: Add missing await before buildUserDownloads in SSE endpoint to resolve icon display issues
    • fix: make buildUserDownloads async to resolve test failures
    • test: add comprehensive test suite for Ombi integration
    • feat(ombi): Add Ombi PALDRA integration for request management
    • fix: replace client-side Swagger server detection with server-side dynamic spec
    • feat: replace static Swagger UI server selector with dynamic client-side detection
    • fix: resolve test failures - add missing emby route and fix YAML syntax errors
    • feat: add automated RAML 1.0 package generation to CI/CD pipeline
    • feat(ci): add RAML 1.0 package generation pipeline
    • fix(ci): allow Python-2.0 licence in licence-check
    • chore(release): bump version to 1.7.0
    • fix(swagger): use merged spec for integration-notes check
    • fix(swagger): adjust coverage test for test environment
    • fix(swagger): convert coverage test to ES modules
    • docs(swagger): document Swagger UI and hybrid approach
    • ci(swagger): add OpenAPI validation job to CI
    • test(swagger): add coverage validation test
    • docs(swagger): add JSDoc @openapi for public health endpoints
    • docs(swagger): add JSDoc @openapi for proxy routes
    • docs(swagger): add JSDoc @openapi for webhook endpoints
    • docs(swagger): add JSDoc @openapi for status and history endpoints
    • docs(swagger): add JSDoc @openapi for dashboard endpoints
    • docs(swagger): add JSDoc @openapi for auth endpoints
    • feat(swagger): mount Swagger UI at /api/swagger
    • feat(swagger): add central OpenAPI 3.1 specification file
    • feat(swagger): create develop-swagger branch and install dependencies

    Downloads

    Downloads
  • 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 | 161 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
  • v1.5.5 1f10414498

    sofarr v1.5.5
    Licence Check / Licence compatibility and copyright header verification (push) Successful in 1m8s
    Create Release / release (push) Successful in 41s
    Build and Push Docker Image / build (push) Successful in 21s
    Docs Check / Markdown lint (push) Successful in 32s
    CI / Security audit (push) Successful in 1m13s
    CI / Tests & coverage (push) Failing after 1m24s
    Docs Check / Mermaid diagram parse check (push) Successful in 1m49s
    Stable

    gronod released this 2026-05-20 01:13:59 +01:00 | 224 commits to main since this release

    sofarr v1.5.5

    Docker

    docker pull docker.i3omb.com/sofarr:1.5.5
    

    Changes

    • Update CHANGELOG for v1.5.5
    • Bump version to 1.5.5
    • Add speed formatting to display appropriate units (KB/s, MB/s)
    • Add logging to debug active download identification and speed
    • Apply overall SABnzbd speed to active download only
    • Remove speed from SABnzbd downloads - API doesn't provide per-download speed
    • Add logging to debug SABnzbd speed field in slot data
    • Add logging to investigate SABnzbd slot structure for speed field
    • Hide speed when it is 0 to avoid displaying misleading 0 speed
    • Fix missing speed on SAB cards and remove incorrect missing pieces display
    • Reduce card logo size to 32x32
    • Fix logo positioning by adding position: relative to download-card
    • Move card logo to bottom right with absolute positioning, fix duplication
    • Fix duplicate icon and user tag on page reload by adding class and duplicate check
    • Increase download client logo size in cards to 64x64px (4x), keep filter picker at 20x20px
    • Fix duplicate user tag and logo in download cards by removing old elements before updating
    • Add download client logo to download card with right-side positioning
    • Update rtorrent.svg logo
    • Add download client logos to filter UI with fallback handling
    • Fix filtering to use both client type and instanceId for unique identification
    • Use index-based unique identifiers for download client selection to prevent cross-selection
    • Fix duplicate checkbox ID issue causing cross-selection between clients
    • Fix double-toggling issue in download client filter
    • Update ARCHITECTURE.md, bump version to 1.5.4, add CHANGELOG entry
    • Add multi-select download client filter with client type display
    • Fix SABnzbd size and speed fields in SSE response
    • Add download client ordering and filtering to active downloads list

    Downloads

    Downloads
  • v1.5.3 3e06bdf8cd

    sofarr v1.5.3
    Build and Push Docker Image / build (push) Successful in 28s
    Create Release / release (push) Successful in 6s
    Docs Check / Markdown lint (push) Successful in 56s
    Licence Check / Licence compatibility and copyright header verification (push) Successful in 46s
    Docs Check / Mermaid diagram parse check (push) Successful in 1m31s
    CI / Security audit (push) Successful in 1m50s
    CI / Tests & coverage (push) Successful in 1m55s
    Stable

    Gandalf released this 2026-05-19 23:11:47 +01:00 | 251 commits to main since this release

    sofarr v1.5.3

    Docker

    docker pull docker.i3omb.com/sofarr:1.5.3
    

    Changes

    • Update CHANGELOG.md with 1.5.2 and 1.5.3; update README.md version reference
    • Merge branch 'develop'
    • Bump version to 1.5.3
    • Fix webhooks panel: hide on app load to sync with status panel
    • Fix status panel: remove innerHTML wipe that destroys status-content div
    • Fix undefined --background CSS variable causing blank status panel
    • Fix status card regression: revert webhooks-section to sibling structure
    • debug: Add DOM structure verification to trace missing contentDiv
    • debug: Add more detailed logging to renderStatusPanel
    • debug(ui): Add visible styling and debug logging for status panel
    • fix(ui): Add loading state and min-height for status-content
    • fix(ui): Add status-content container to preserve webhooks panel
    • fix(ui): Integrate webhooks panel into status panel
    • fix(pagination): Increase Sonarr/Radarr page sizes to fetch all items
    • debug: Add Sonarr queue titles to no-match output
    • fix(matching): Match SAB to Sonarr by downloadId first
    • debug(matching): Show queue vs history source and history titles
    • fix(matching): Check Sonarr/Radarr history for SAB matches
    • debug(sonarr): Log all available Sonarr queue fields
    • fix(matching): Normalize dots to spaces for SAB/Sonarr matching
    • debug(sse): Add detailed name matching logging
    • debug(sse): Add SAB matching stats to trace filtering
    • fix(sabnzbd): Handle labels as array or string
    • fix(downloads): Fix SABnzbd/qBittorrent collision and webhook metrics
    • fix(retrievers): Use unique key to prevent Sonarr/Radarr collision
    • fix(status): Check actual webhook config, show enabled even with 0 events
    • debug(sse): Add detailed logging for download matching
    • fix(webhooks): Load collapsed by default, add webhook metrics to status panel
    • refactor(webhooks): Integrate webhooks panel into status card
    • fix(webhooks): Send full notification object to test endpoint
    • fix(webhooks): Use numeric method value (1=POST) in notification payload
    • fix(webhooks): Use SONARR_INSTANCES/RADARR_INSTANCES config for notification routes
    • debug(webhooks): Add console.error logging to Sonarr/Radarr notification routes
    • fix(webhooks): Show webhooks panel only to admin users
    • fix(webhooks): Restore original vanilla JS app and add webhooks panel properly

    Downloads

    Downloads
  • v1.5.2 5ab8cc96a3

    sofarr v1.5.2
    Create Release / release (push) Successful in 18s
    Build and Push Docker Image / build (push) Successful in 35s
    CI / Security audit (push) Successful in 1m17s
    CI / Tests & coverage (push) Successful in 1m30s
    Stable

    gronod released this 2026-05-19 20:27:26 +01:00 | 286 commits to main since this release

    sofarr v1.5.2

    Docker

    docker pull docker.i3omb.com/sofarr:1.5.2
    

    Changes

    • Merge branch 'develop'
    • v1.5.2: Build and deploy React client with Webhooks Configuration panel
    • feat(webhooks): display webhook statistics (events received, polls skipped, last event) in status panel
    • Merge branch 'develop' into main — release 1.5.1
    • Merge hotfix: webhook routing + version 1.5.1
    • Merge branch 'develop' into main — release 1.5.0a
    • Merge branch 'develop' into main — release 1.5.0
    • Merge branch 'develop' Implements PDCA feature
    • Merge branch 'main' of https://git.i3omb.com/Gandalf/sofarr
    • Merge develop: Add MIT copyright headers
    • Merge pull request 'fix: documentation update' (#15) from develop into main
    • Merge branch 'develop'
    • release: v1.3.0

    Downloads

    Downloads