|
| 1 | +# Changelog |
| 2 | + |
| 3 | +All notable changes to this project will be documented in this file. |
| 4 | + |
| 5 | +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). |
| 6 | + |
| 7 | +## [Unreleased] |
| 8 | + |
| 9 | +### Added |
| 10 | + |
| 11 | +- Mullvad first-class Tailscale coexistence option (`nixflix.mullvad.tailscale`) (#141). |
| 12 | +- Mullvad `persistDevice` option to keep login across reboots (#133). |
| 13 | +- Prowlarr indexer proxy support (#139). |
| 14 | +- Automatic known-proxy configuration (#123). |
| 15 | +- Support for remote Jellyfin instances in Jellyseerr authentication (#125). |
| 16 | +- Jellyfin VM tests (#64). |
| 17 | +- Jellyseerr module with Radarr/Sonarr integration and VM tests (#43, #73, #74). |
| 18 | +- Sonarr anime instance support (#40). |
| 19 | +- Initial Jellyfin configuration with library, branding, and encoding services (#24). |
| 20 | +- Delay profiles for Starr apps (#20). |
| 21 | +- TRaSH guide defaults for SABnzbd (#19). |
| 22 | +- Recyclarr with sane defaults, managed quality profiles, and automatic cleanup of unmanaged profiles (#13). |
| 23 | +- Download clients configuration service (#8). |
| 24 | +- SABnzbd configuration module (#6). |
| 25 | +- Prowlarr applications configuration (#5). |
| 26 | + |
| 27 | +### Changed |
| 28 | + |
| 29 | +- **Breaking:** `nixflix.mullvad.*` options have been replaced by |
| 30 | + `nixflix.vpn.*`. Update your configuration accordingly. |
| 31 | + |
| 32 | +- `nixflix.radarr.vpn`, `nixflix.sonarr.vpn`, etc. per-service VPN options now |
| 33 | + reference the generic `nixflix.vpn` namespace rather than Mullvad. |
| 34 | + |
| 35 | +- **Breaking (#162):** Recyclarr options schema updated to v8. |
| 36 | + |
| 37 | + - Remove `replace_existing_custom_formats` from your recyclarr config (dropped in recyclarr v8). |
| 38 | + - New fields available: `trash_id`/`score_set`/`min_upgrade_format_score` on quality profiles, `custom_format_groups`, `media_management`, `sqp-streaming`/`sqp-uhd` quality definition types. |
| 39 | + - If you use `nixflix.inputs.nixpkgs.follows = "nixpkgs"`, run `nix flake update nixpkgs` to get recyclarr 8.5.1. |
| 40 | + |
| 41 | +- Recyclarr timer no longer attempts to start sonarr-anime services when sonarr-anime is disabled (#158). |
| 42 | + |
| 43 | +- Services now wait for the Jellyfin API to be ready before running configuration services (#157). |
| 44 | + |
| 45 | +- ACME certificate configuration added (#154). |
| 46 | + |
| 47 | +- `nixflix.serviceDependencies` now correctly applied to Arr and Jellyfin services (#153). |
| 48 | + |
| 49 | +- **Breaking (#147):** `nixflix.jellyseerr` renamed to `nixflix.seerr`. |
| 50 | + |
| 51 | + - Update all `nixflix.jellyseerr.*` references to `nixflix.seerr.*` in your configuration. |
| 52 | + - If using `nixflix.inputs.nixpkgs.follows`, update your `flake.lock`. |
| 53 | + - **Without PostgreSQL:** rename `/data/.state/jellyseerr` to `/data/.state/seerr` and update ownership to `seerr:seerr`, or set `nixflix.seerr.dataDir = "/data/.state/jellyseerr"` and change ownership to `seerr:seerr`. |
| 54 | + - **With PostgreSQL:** data is preserved. To keep existing data, set `nixflix.seerr.user = "jellyseerr"` and `nixflix.seerr.group = "jellyseerr"`. If you see collation version warnings, refresh them: |
| 55 | + ```sh |
| 56 | + sudo -u postgres psql -c "ALTER DATABASE jellyseerr REFRESH COLLATION VERSION;" |
| 57 | + # repeat for each database (radarr, sonarr, prowlarr, lidarr, etc.) |
| 58 | + ``` |
| 59 | + |
| 60 | +- **Breaking (#146):** `nixflix.jellyfin.apiKey` is now required. Add the option to your configuration before deploying. |
| 61 | + |
| 62 | +- Jellyseerr/Arr PostgreSQL usage scoped to `nixflix.postgres.enable` to avoid conflicting with unrelated PostgreSQL instances (#127). |
| 63 | + |
| 64 | +- **Breaking (#115):** Recyclarr configuration options were refactored. Review the recyclarr module options for the updated structure. |
| 65 | + |
| 66 | +- Arr services now wait for `network-online.target` to fix DNS resolution errors after reboot (#91). |
| 67 | + |
| 68 | +- Recyclarr disabled by default (#80). |
| 69 | + |
| 70 | +- Individual Starr settings overrides added (#87). |
| 71 | + |
| 72 | +- Jellyseerr Radarr/Sonarr config converted from list to attrset (`nixflix.jellyseerr.radarr.<name> = {}`) (#73). |
| 73 | + |
| 74 | +- **Breaking (#107):** Reverse proxy routing switched from path-based to subdomain-based. Services are now served at `<service>.<domain>` instead of `<domain>/<service>`. Update any bookmarks, reverse proxy configuration, or hardcoded URLs accordingly. |
| 75 | + |
| 76 | +- **Breaking (#101):** qBittorrent module rewritten. Review the updated `nixflix.qbittorrent.*` options and update your configuration. |
| 77 | + |
| 78 | +- **Breaking (#90):** Starr service log databases are now separate from the primary databases. Existing logs will not be migrated — a fresh log database will be created on first start. Primary application data is unaffected. |
| 79 | + |
| 80 | +- `_secrets` pattern adopted for all secret paths (#56). |
| 81 | + |
| 82 | +- SABnzbd refactored with updated options (#46). |
| 83 | + |
| 84 | +### Removed |
| 85 | + |
| 86 | +- `modules/mullvad.nix` and all `nixflix.mullvad.*` options. |
| 87 | +- Mullvad CLI integration (`mullvad-vpn` service management). |
| 88 | +- `tests/vm-tests/mullvad-integration.nix` (replaced by `vpn-integration.nix`). |
| 89 | + |
| 90 | +### Fixed |
| 91 | + |
| 92 | +- qBittorrent category save path now correctly used (#148). |
| 93 | +- Download client timing issue causing connection-refused errors at boot (#134). |
| 94 | +- Arr services now wait for download client API readiness before proceeding (#128). |
| 95 | +- qBittorrent `DefaultSavePath` set to `downloadsDir/default` to prevent permission errors on uncategorized torrent imports (#122). |
| 96 | +- Download clients integration fixed (target address was incorrectly set to `0.0.0.0`) (#117). |
| 97 | +- Missing folders on NixOS rebuild without reboot (tmpfiles rules and permissions) (#113). |
| 98 | +- Secret values with special characters (commas, quotes) no longer mangled by ConfigObj in SABnzbd (#111). |
| 99 | +- Jellyseerr authentication after secure curl refactor (#96). |
| 100 | +- Prowlarr indexer documentation corrected (#79). |
| 101 | +- Username/password download clients for Starr apps (#86). |
| 102 | +- Timing issues with Starr services at boot (#84). |
| 103 | +- Systemd tmpfiles rules syntax corrected (wrong `root:media` owner format) (#83). |
| 104 | +- SABnzbd categories service: API key now passed to curl, redundant URL base slash removed (#68). |
| 105 | +- Indexer freeform type fixed; username/password credential option added for Prowlarr (#71). |
| 106 | +- Websocket and direct port access for Jellyfin (#37). |
0 commit comments