github Kha-kis/arr-dashboard v2.9.2
v2.9.2 — Bug Fixes, Architecture Improvements, Dependency Updates

latest releases: v2.24.1, v2.24.0, v2.23.0...
4 months ago

What's Changed

Bug Fixes

  • Calendar Sunday events (#207) — Events were appearing on the wrong day for users in negative UTC timezones (Americas). Shows airing Sunday evening local time had UTC dates on Monday, causing them to appear on Monday's calendar cell. Now uses the local air date for grid bucketing.
  • Sonarr/Lidarr statistics (#209) — Dashboard showed inflated missing counts and inconsistent downloaded percentages. Sonarr now uses monitored episode count as the denominator (not total including unaired). Lidarr now only counts tracks from monitored artists.
  • OIDC Authentik compatibility (#208) — Authentik includes a trailing slash in its canonical issuer URL, causing login to fail with "issuer property does not match." New resolveCanonicalIssuer() fetches the provider's discovery document to store the exact canonical value. Self-healing retry in login flow auto-corrects existing stored issuers without database migration.

Architecture Improvements

  • Centralized query keys — All React Query keys consolidated into query-keys.ts. Migrated 15 hook files from local objects and inline strings to centralized key factories. Prevents key drift and enables consistent cache invalidation.
  • useRefreshState hook — Extracted the "refresh with animation" pattern (duplicated in 6 components) into a shared hook with proper timeout cleanup on unmount, fixing a potential memory leak in 5 of 6 original implementations.
  • Polling standardization — Migrated 28 inline refetchInterval values to 6 named constants (POLLING_REALTIME through POLLING_BACKGROUND). All polling intervals are now auditable from a single file.
  • useEnrichableItems hook — Extracted duplicated library item enrichment logic from Seerr and Plex hooks. Fixes a hidden type mapping inconsistency where Seerr used "tv" and Plex used "series" for the same media type.

Documentation

  • CLAUDE.md rewrite — Reduced from 1,177 to 158 lines (87% smaller). Only actionable instructions that prevent bugs. Detailed reference sections extracted to docs/THEMING.md, docs/AUTH.md, docs/API-ROUTES.md.
  • Authentik OIDC test infrastructure — Docker Compose setup with PostgreSQL, Redis, and Authentik for end-to-end OIDC flow testing.

Dependencies

  • Prisma 7.4.2 → 7.5.0, Next.js 16.1.7 → 16.2.1, TanStack Query 5.90.21 → 5.95.0
  • Tailwind CSS 4.2.1 → 4.2.2, Biome 2.4.6 → 2.4.8, Vitest 4.0.18 → 4.1.0
  • better-sqlite3 12.6.2 → 12.8.0, pnpm/action-setup v4 → v5
  • 28 total package updates + effect override to 3.20.0 (Dependabot alert #32)

Full Changelog: v2.9.1...v2.9.2

Don't miss a new arr-dashboard release

NewReleases is sending notifications on new releases.