This is the final v8 release. The changelog will be present in the release notes of the v9 release.
What's Changed
- 2441996a - Final V8 release (#1498)
- b57db8d3 - Customer purchases and cancelling (#1497)
- b532da57 - fix: update MediaSortBy enum to replace LastSeen with LastConsumed
- 493628bc - Change provider_watched_on to providers_consumed_on array (#1496)
- d7d44781 - fix: update migration to remove spaces when altering column type in application_cache
- 76879144 - Remove 'MarkPlayed' event and streamline progress calculation in Jellyfin webhook (#1494)
- b106257d - Implement session-based authentication system (#1493)
- a1615bdc - Implement Two-Factor Authentication and Refactor User Settings Pages (#1489)
- 017384ca - feat: hide search and filters when reordering collection entities
- 32fdc902 - Add fractional ranking and reordering for collection entities (#1487)
- 6b9e3299 - Remove daily_user_activity and optimize analytics (#1485)
- 210e276b - Enhance Radarr and Sonarr integrations with tag ID support and improved documentation (#1481)
- ceb17d2d - Refactor providers into separate workspace crates (#1480)
- e185a481 - Upgrade @conform-to packages to v1.8.2
- b4660e71 - Enhance error handling in Spotify access token retrieval
- a433185f - Refactor error handling and image processing in SpotifyService (#1476)
- c2ea75ef - Add Spotify provider integration (#1475)
- 9a99d2cd - Automatically start timer for duration based exercises (#1472)
- 740ad48c - Add Ryot Browser Extension with enhanced features and integrations (#1465)
- 823a030c - Add Claude Code GitHub Workflow (#1467)
- 02ebf5c0 - Fix metadata operations to only set creators and watch providers when not empty
- fbc3f1ab - Add maxFileSizeMb field to CoreDetails type and GraphQL queries (#1464)
- ab41d321 - Fix progress updates for manga and anime (#1461)
- 93789fec - Add support for provider-specific metadata search options (#1459)
- 97badf46 - Improve collection and form handling with enhanced validation and data management (#1455)
- ab27d5e9 - fix(frontend): rename value prop to values in MultiSelectCreatable component
- 67b74dbb - Refactor Anilist provider to remove GraphQL dependency (#1454)
- eefa9d0e - Add Grouvee integration for game metadata import (#1452)
- 81d7a18b - Optimize async operations for improved performance (#1451)
- 3539570f - fix(frontend): update collections list display to show item count and improve layout
- d6519702 - fix(frontend): improve collections list layout and add collection count
- 01a903c2 - Add GiantBomb integration for video game metadata (#1448)
- a378da93 - refactor(frontend): remove truly unused TypeScript exports
- 3e13170e - fix(frontend): improve summary component type safety and code organization
- 50c2d5e4 - Refactor frontend imports for clarity and restore component functionality (#1446)
- 4b79bd0e - fix(frontend): update ExportItem layout to use Paper component and improve styling
- abee68a2 - fix(frontend): disable media MultiSelect when editing is disabled
- e03ff060 - Refactor export history display to show timestamps and duration
- 371264ec - Refactor metadata progress update forms UI
- 60c475f9 - Return collection extra information (#1442)
- add7a71a - Allow importing from Hardcover (#1434)
- 2a9123c0 - fix(backend): return correct contents from metadata group details query
- fa01473b - Allow adding entity to collection from progress update modal (#1440)
- 4c3af9ae - Allow custom start and end time while updating progress (#1438)
- 7099dd23 - Fullscreen image displays (#1436)
- 33543baa - refactor: replace formatDateToNaiveDate with convertTimestampToUtcString for improved date handling (#1433)
- 7f514840 - Update SubmitButton logic for enabling/disabling (#1431)
- 00068133 - docs: fix link to MyAnimeList guide in documentation
- ae4fc35f - Docs on how to get access tokens (#1429)
- 33ff5385 - Handle duplicate person records and improve source specifics handling (#1427)