[1.5.0.0] - 2026-05-15
v1.5 foundation (architecture and quality-intent groundwork)
Database evolution groundwork
- Added optional PostgreSQL backend support through
SLIMARR_DB_URLwhile keeping
SQLite as the default backend. - Added startup database connection retry/backoff to better tolerate transient
startup races in containerized deployments. - Added pool configuration support for PostgreSQL (
SLIMARR_DB_POOL_SIZE,
SLIMARR_DB_MAX_OVERFLOW,SLIMARR_DB_POOL_TIMEOUT,SLIMARR_DB_POOL_RECYCLE). - Added slow-query timing instrumentation with warning logs for expensive queries.
- Added runtime database diagnostics exposure (
db_backend, pool checked-out count)
in system info.
Preferred Quality / Force-Keep foundation
- Added per-movie quality policy fields:
quality_intent,force_keep,allow_larger_replacements, and
quality_profile_overrides. - Added new quality-intent API endpoint:
POST /api/v1/library/movies/{movie_id}/quality-intent. - Added compare-engine profile-aware decision logic for intents:
space_saver,balanced,premium,reference,locked, andpinned. - Added policy-level safeguards to block automated replacements for locked/pinned
or force-kept movies. - Added support for initial per-movie override hooks in compare decisions:
preferred codec, preferred sources, resolution floor, release-group rejects,
and max size increase policy. - Added automation-cycle safeguards to skip force-kept titles entirely.
- Hardened protected-title automation so locked/pinned titles and force-kept
titles are skipped consistently during single-movie processing. - Hardened preferred-release automation so stored preferred releases only win
when the compare engine still accepts them; rejected preferred candidates now
fall back to normal scoring. - Hardened quality override parsing so malformed numeric/list overrides fall
back to policy defaults instead of aborting candidate comparison. - Replaced raw Movie Detail quality override JSON editing with explicit controls
for resolution floor, preferred codec, preferred sources, rejected groups, and
max size increase. - Added indexer/Prowlarr quota detection for HTTP 429, Newznab request-limit
errors, and common API limit/quota response text. Quota events now emit
actionable Search Diagnostics warnings, realtime user toasts, reliability
counters, and failure-heatmap entries instead of looking like silent empty
searches.
Documentation and roadmap
- Added
docs/V1_5_FOUNDATION_ROADMAP.mdcontaining:
implementation plan, refactor roadmap, risk assessment, observability plan,
worker architecture proposal, ffprobe roadmap, security recommendations,
technical debt audit, performance analysis, migration guidance, and phased
priorities for v1.5+. - Added
docker-compose.postgres.ymlas an optional write-heavy deployment
template. - Expanded
docs/DOCKER.mdwith PostgreSQL backend guidance.
Tests
- Added new regression tests for quality-intent compare behavior in
tests/backend/test_quality_intent.py.
Installer reliability
- Improved
install.ps1native-command logging so pip/network errors are written
cleanly tostartup-error.logwithout noisy PowerShell wrapper output. - Added targeted install diagnostics for blocked package index access (for example
WinError 10013) with explicit firewall/proxy remediation guidance. - Added offline dependency fallback support in
install.ps1:
if online pip install fails due network restrictions, installer now tries local
wheelhouse paths (.\wheelhouse,.\dist\wheelhouse, or-WheelhousePath).
Home theater and quality-lock planning
- Added v1.5 planning scope for a dedicated home-theater intent built on existing
quality_intent+ lock semantics so users can preserve premium reference copies
(for example 4K HDR/DV high-bitrate with lossless/7.1 audio) instead of over-compressed
alternatives. - Added planning notes for optional curated title seeding (for example Oscar winners,
IMDB Top lists, and operator-imported watchlists) so "media center" movies can be
bulk-marked for premium retention policies.
Docker launch UX
- Added no-download launch path planning so operators can start Slimarr via shell
directly from the official compose template without manually copying files first. - Fixed Windows installer/start-menu launchers so first launch starts the tray app
path instead of headless-only mode, making the tray icon appear immediately.