🚨 Important Notice: Default Access Tokens Removal
Starting with the next major release (expected within 30 days), Ryot will no longer include default access tokens for external services. This change affects self-hosted instances only - cloud users are unaffected. The services affected are:
- MyAnimeList - Default client ID will be removed
- Trakt - Default client ID will be removed
- TMDB - Default access token will be removed
Why this change?
As Ryot's popularity has grown with many self-hosted instances now in use, the shared default API keys are hitting rate limits and the volume of API requests is exceeding the free tiers of these service providers, causing errors. To ensure a better experience for everyone, users will need to obtain their own API credentials.
What you need to do
If you are running a self-hosted instance, please obtain your own API credentials before the next release by following these guides:
- MyAnimeList: docs.ryot.io/guides/myanimelist
- Trakt: docs.ryot.io/guides/trakt
- TMDB: docs.ryot.io/guides/movies-and-shows
These guides provide step-by-step instructions for creating free developer accounts and obtaining your personal API keys.
Configuration
Once you have your credentials, add them to your environment variables:
# MyAnimeList
ANIME_AND_MANGA_MAL_CLIENT_ID=your_mal_client_id
# Trakt
SERVER_IMPORTER_TRAKT_CLIENT_ID=your_trakt_client_id
# TMDB
MOVIES_AND_SHOWS_TMDB_ACCESS_TOKEN=your_tmdb_access_token
Updates in this release
- Improved user management - Add user reset functionality with better documentation
- Enhanced imports - Allow importing from Trakt public lists
- Performance optimizations - Significant improvements across the application with smaller TypeScript and Rust files
- Better UI/UX - Improved layout with zIndex properties and actual hyperlinks for display items
- Streamlined codebase - Refactored code organization for better maintainability
- Bug fixes - Long standing issue of duplicate people in the database
What's Changed
- f7998d4e - Add zIndex property to Indicator component for improved layout
- 5599de73 - Smaller typescript files (#1423)
- 5fd2893a - Refactor remove_old_entities_from_monitoring_collection to use last_updated_on for deletion criteria
- 92307d2e - Add user reset functionality and improve documentation (#1420)
- c3f84478 - Allow importing from Trakt public lists (#1418)
- 7af40548 - Performance improvements (#1417)
- 3a0730e5 - New metadata progress update flow (#1377)
- b306db5a - Improve access link handling and user metadata sorting (#1411)
- c62097c8 - Make display items to actual hyperlinks (#1408)
- 4fde489c - Refactor average rating calculation for user clarity and performance (#1406)
- 113330c1 - Smaller rust crates (#1402)
- b8f2fba4 - Merge pull request #1400 from IgnisDa:IgnisDa/issue1397
- 8423d797 - ci: Run CI
- ff4911e8 - chore(database): update ignored dependencies in Cargo.toml
- 103eedf5 - feat(activities): enhance user activity calculation with collection counts
- ee0f8dcd - refactor(dependencies): reorganize and update dependencies across multiple crates
- fb99b5ea - feat(collections): add user collections list functionality and update dependencies
- e3d0225a - feat(collections): update cache expiration logic for user collections
- d4e3947f - feat(database): enhance DailyUserActivity model with additional metadata fields
- 34bba33e - feat(migrations): update DailyUserActivity model with total counts
- c16b276d - feat(migrations): add new collection count fields to DailyUserActivity model
- a36aed59 - feat(database): add new fields to DailyUserActivity model
- 795ec0f5 - feat(migrations): add new migration modules and update DailyUserActivity enum
- 6ab8f843 - refactor(dependent): streamline entity collection handling in add_entity_to_collection function
- 41b8b2f8 - Support tickets (#1396)
- 4df8de81 - ci: update GitHub Actions workflow to use the latest version of the cargo-install-action and update the revision for cross tool installation
- fa86253c - Podcast update strategy (#1395)
- 49360ec3 - Allow empty passwords for Jellyfin (#1394)
- 0cd36a53 - fix(config): use correct hours format for infrequent cron jobs
- f0f258c7 - Change schedule for infrequent cron jobs (#1393)
- d1e2a4a8 - Testing setup (#1390)
- b9d42e86 - Update async-graphql and related dependencies to version 7.0.17, and upgrade Rust toolchain to version 1.86.0 for improved performance and compatibility.
- 9b3d4f55 - Separate page for each import source and integration (#1384)
- aa89adab - Use vitepress for documentation (#1383)
- 3d8944b4 - Fix regression for DateTimePicker (#1380)
- f0a3daf0 - Unable to use postgres non-public schema (#1373)
- 699e04ff - Resolve collection filter bugs (#1371)
- ab99ec60 - Refactor navigation in useGetWorkoutStarter and adjust default workout date calculation