Skip to content

Shoko Server Changelog

Below is the changelog for Shoko Server.

When available, you can click on Release Notes to be redirected to the corresponding blog post, which provides detailed information about the key changes in that version. Please note that this list is not exhaustive and only includes the most recent 15 releases.

Ver 5.1.0 - Janurary 19th, 2025

Version 5.1.0
Janurary 19th, 2025 | View Release Notes

Breaking

7 Entries
  • Removed ALL TvDB support from server except the TvDB IDs stored on the TMDB show/episode models and the exposed TvDB IDs sourced from said models in the APIv3.
  • Soft deprecated TvDB support in APIv1, so we won't make Shoko Desktop throw any weird errors.
  • Replaced the TvDB usage in APIv2 with TMDB or removed it outright, except the TvDB IDs.
  • Removed all TvDB endpoints and models in APIv3 except for the TvDB IDs exposed in the Shoko series/episode models sourced from the TMDB data.
  • Simplified IImageMetadata in plugin abstraction.
  • Convert episode images from a list to the images DTO model in APIv3.
  • Refactored TMDB APIv3 endpoints in one or more breaking ways. See the individual commits for more details.

Added

14 Entries
  • Added 'fake' TMDB season cross-references inferred from the linked episodes.
  • Added the images linked to the seasons to the Shoko series entry, because apparently there isn't a 100% overlap between the show images and season images.
  • Added genres to TMDB remote searches.
  • Added new filter expressions.
  • Added a new generated playlist service to generate m3u8 playlists for media player consumption.
  • Added new file endpoints in APIv3.
  • Added duplicates management and missing episodes endpoints, and move around existing release management endpoints in APIv3.
  • Added a 'log sql in console' debug setting.
  • Added actions to purge all movie collections & show alternate orderings.
  • Added hidden flag for TMDB episodes.
  • Added direct virtual getters to get to the TMDB entities through the plugin abstraction.
  • Added action to search for TMDB matches for all unlinked AniDB anime.
  • Added UpdateTraktShowJob & Trakt series sync/refresh endpoints in APIv3.
  • Added an action to purge all AniDB↔TMDB links and optionally reset the auto linking state.

Changed

17 Entries
  • Tweaked default AniDB settings.
  • Improved TMDB linking logic to be more through.
  • Store TMDB keywords and production countries.
  • Only check if a zip is attached to the release when checking for new Web UI releases.
  • Make AniDB rate limiting configurable and non-blocking, among other improvements to the provider such as fixing some incorrectly assumed AniDB UDP bans.
  • Modified the trakt provider to use TMDB IDs for the search. And removed the stored TvDB IDs from the Trakt Show model, and added TMDB IDs to the model instead. The Trakt support may still need an overhaul though, but this is a start at least.
  • Moved the code to check the validity of the trakt token to a job that runs every 12h instead of spamming the log every few minutes.
  • Exposed if a Shoko episode is hidden in the plugin abstraction.
  • Reimplemented anime↔character/creator mappings for AniDB internally, and made them show up properly in APIv3.
  • Added indexes for all TMDB tables, and cached more core TMDB tables.
  • Exposed community rating on images if available in APIv3.
  • Improved TMDB cross-reference import endpoint. Made it remove existing cross-references for the episodes not in the import file by default, but allow the user to disable this behavior at import time if needed. Allowed optionally not downloading the missing movies/shows if the respective query parameter is set to false.
  • Improved concurrency when scheduling jobs.
  • Made it possible to search for only restricted episodes/series in the APIv3 dashboard endpoints, and also made it possible to return a list of episodes for a given time-frame, and not just the `x` number of next days from today.
  • More query options for the random image metadata endpoint in APIv3.
  • Exposed created/updated timestamps for episode/group in APIv3.
  • Exposed main AniDB anime ID for Shoko group in APIv3.

Fixed

49 Entries
  • Fixed width/height for IImageMetadata implementation on images served in APIv3.
  • Hide files in "import limbo" from the unrecognized files option again, but this time properly add new include options to the monolithic file endpoint to include them separately. They're hidden/excluded by default but can be included if needed.
  • Fixed match field of search result in internal search utility.
  • Fixed serialization error in SyncTraktEpisodeHistoryJob.
  • Fixed default sort of files in APIv3.
  • Ensured only 1 cross-reference per company exist.
  • Removed stall entry during relocation.
  • Always remove files from the file watcher exception list after they have been moved.
  • Don't send cross-references for non-existing files in APIv3.
  • Get top level groups for groups matching the filter.
  • Search all group names.
  • Don't drop cross-references if we're unable to get the anime id and instead allow the missing id to be later retrieved.
  • Fixed casing for AniDB episode UDP command.
  • Fixed relation depth comparison in GetAniDBAnimeJob.
  • Use correct IDs for custom tag endpoints in APIv3.
  • Don't dispose the AniDB connection at first time setup.
  • Fixed restricted tags not getting saved.
  • Avoid the logout timer trying to acquire the lock twice.
  • More accurate release date selection logic for TMDB movies.
  • Also resolve Shoko series links for alternate TMDB seasons.
  • Fixed default settings for default renamer config.
  • Fixed TMDB cross-reference import endpoint in APIv3.
  • Check the max image limits properly for TMDB.
  • Only add the same tag once in case we're using a newer tag.
  • Strip the ' (voice)' appearing at the end of each character name, because we only have voice-actors for anime, and no live-action actors.
  • Get all relations in APIv3 and plugin abstraction.
  • Extend ProductionCountries column length for MySQL/MariaDB & MS SQL Server.
  • Remove cross-references for missing TMDB episodes.
  • Added a database migration and endpoint to download missing TMDB people.
  • Update datetime to datetime2 for MS SQL Server.
  • Fixed setting/viewing preferred episode images.
  • Removed bogus '$' in TMDB role details in APIv3.
  • Only schedule AniDB images if the entry's image path is not empty.
  • Small fixes in APIv2.
  • Return plex IsAuthenticated false if token is missing.
  • Ensured requests wait for TMDB metadata lock.
  • Remove creator if it's not found on AniDB and also reschedule any related anime to be downloaded again.
  • Lock while getting TMDB config and add fallback for when we're unable to get the config in some scenarios.
  • Fix NRE when looking up images for TMDB shows.
  • Lock when updating movie collection.
  • Save staff cross-references for new relations.
  • Ignore places virtual field on import folder when serializing it.
  • Only use cross-references with files for file summaries.
  • URL decode renamer config names to allow '/'.
  • Always force MyList sync when ran as an action.
  • Check for error code 330 in case the user's MyList is empty.
  • Delete any and all preferred image overrides set to an image that is being disabled.
  • Set all fields when converting the current TMDB image to IImageMetadata.
  • Added missing MediaInfo codec ID mapping for 'V_AV1' → 'AV1'.

Removed

2 Entries
  • Remove unused AniDB settings.
  • Removed old deprecated and unused endpoints in APIv3.

Ver 5.0.0 - October 12th, 2024

Version 5.0.0
October 12th, 2024 | View Release Notes

Added

9 Entries
  • New queueing system, the queue processor.
  • Proper support for linking TMDB Series and Movies.
  • Rebuilt filter system.
  • Brand new Web UI.
  • Added SHOKO_HOME environment variable support.
  • Mark episodes as hidden so they don't count against you.
  • Added MEDIAINFO_PATH environment variable support.
  • A ton of new API endpoints.
  • Added missing relation, alternative version.

Changed

23 Entries
  • AvDump updated to AVDump 3.
  • Auto install AvDump 3 on Linux.
  • Migrate settings when new version is released.
  • Refined group creation/update logic in the v3 API.
  • Enabled image width/height customization via a feature flag in API.
  • Refined Shoko's watched series logic to avoid false status based solely on episode count match.
  • Refactor and unify various search methods used in the API.
  • Ensure the Main Series is always listed first in a group.
  • Rename All Groups action does not rename custom named groups.
  • Check for missing images only if "Run Import on Start" is enabled.
  • Only check and use the air date for normal episodes.
  • Eliminate language bias in main titles and treat any non-main/official titles as synonyms.
  • Properly handle HTTP 400 errors for Trakt authentication.
  • Update AniDB MyList syncing to allow generic files.
  • Improved Shoko Server startup speed.
  • Validate group main series when previous main series entry has changed.
  • Don't require a script for WebAOM Renamer if Renaming isn't enabled.
  • Don't create empty series when attempting to manually link a series.
  • Allow unsetting all libraries in plex.
  • Reschedule Jobs on Login or Ban Failure.
  • Retry UDP command when session is invalid.
  • Adjust anidb ping frequency and logout period.
  • Update MediaInfo to 24.06

Fixed

23 Entries
  • Preferred Episode Naming not respecting selected languages.
  • Filesystem Watcher crashing during startup.
  • Group details not automatically updating when switching the default series for unnamed groups.
  • Removal of empty groups when the last series is moved out.
  • Resolved 403 and 404 errors during image download.
  • Series air date issues due to missing AniDB data.
  • Updating Watched State when marking as deleted.
  • Multiple hashing related issues leading to incomplete hashing due to external events.
  • Newly imported episodes showing as duplicates.
  • SQL Server port issues.
  • Potential nullable reference in mediainfo.
  • Database locking and then not unlocking.
  • Handle malformed file chapter timestamps.
  • Handle series updating when AniDB episode is removed.
  • Incorrect missing episodes stats
  • VOBSUB not being renamed and skipped.
  • TraktTV episode matching.
  • Shoko creating series for related anime not in your collection.
  • Don't attempt to rename if import folder is.
  • Allow file relocation without rename.
  • Group filter watch states not corresponding to actual watch states.
  • Delete All in Recreate All Groups not working properly.
  • Import directory being deleted.

Removed

2 Entries
  • TVDB Linking.
  • AVDUMP_MONO env var from Dockerfiles as its no longer needed.

Ver 4.2.2 - April 2nd, 2023

Version 4.2.2
April 2nd, 2023

Fixed

2 Entries
  • Fix AniDB languages not being updated properly.
  • Fix the display of normal and special episode counts in Shoko Desktop.

Ver 4.2.1 - March 30th, 2023

Version 4.2.1
March 30th, 2023

Fixed

1 Entry
  • Fix up the series episode endpoint.

Ver 4.2.0 - March 29th, 2023

Version 4.2.0
March 29th, 2023 | View Release Notes

Added

4 Entries
  • GitHub Releases now contain zip files and an installer for the stable versions .
  • Basic ARM64 support.
  • New plugin events and SignalR events.
  • Added additional endpoints to the v3 REST API.

Changed

9 Entries
  • Moved to .NET 6.
  • Significant speed improvements during the import process.
  • General speed improvements.
  • A rewritten AniDB provider — now more modern, more efficient, and less error prone.
  • Improved Filesystem Watcher
  • Improved Support for Crossover Episodes
  • Improved Stability with MediaInfo
  • Stop Shoko from automatically relinking user removed TvDB links when automatic linking is enabled.
  • Startup refactor.

Fixed

7 Entries
  • Fixed cache-control headers for web ui.
  • Fixed dozens of locking issues.
  • Fixed scrobbling watch states using Shokofin.
  • Fixed setting linux permissions during rename/move.
  • Make the unrecognized tab in Shoko Desktop show files that are incompletely imported.
  • External sub files rename and move with the associated video file when running the renamer.
  • Dozens of minor fixes to improve overall stability.

Ver 4.1.2 - June 27th, 2022

Version 4.1.2
June 27th, 2022 | View Release Notes

Added

4 Entries
  • Added new endpoints to the v3 REST API.
  • Added anime staff data.
  • Scrobble to Trakt when using the v3 REST API.
  • Added file, episode, and series events for plugins.

Changed

3 Entries
  • Update the tag filter system.
  • Do not err when moving a file to the same location, but err when moving to the location of another file.
  • Allow the renamers to run on all files, even unrecognised files.

Fixed

9 Entries
  • Fixed non-fuzzy series search in the v3 REST API.
  • Fixed path conversion from windows to linux in file path search in the v3 REST API.
  • Fixed model bindings in plex hook.
  • Do not escape "`" for mediainfo.
  • Fix watch state not importing properly.
  • Fix descriptions in Swagger not showing up.
  • Fix the 'Orignal Work' tag in tag filters.
  • Hopefully fixed newer MariaDB compatibility.
  • Fix TvDB episode entries to also respect user-overrides in the v3 REST API.

Removed

1 Entry
  • Removed Google Analytics as it was causing issues.

Ver 4.1.1 - August 29th, 2021

Version 4.1.1
August 29th, 2021 | View Release Notes

Changed

3 Entries
  • Try Escaping Some Characters for MediaInfo.
  • Add a better unrecognized file message to the Group Aware Sorter.
  • Implement a sink for the Filesystem Watcher to allow Pausing.

Fixed

4 Entries
  • Plex unlinking doesn't work.
  • Fix external subtitle renaming.
  • Fix Fallback for Moving.
  • Fix infinite recursion in CanAccessFile.

Removed

1 Entry
  • Remove Cloud settings.

Ver 4.1.0 - February 1st, 2021

Version 4.1.0
February 1st, 2021 | View Release Notes

Changed

5 Entries
  • Refactored Plugin system.
  • Refactored Renamer system.
  • Cleanup when TvDB links are generated.
  • Improve the Title Matching for TvDB Matches.
  • Improve the Matching for long running, still airing series.

Ver 4.0.1 - August 29th, 2020

Version 4.0.1
August 29th, 2020 | View Release Notes

Fixed

2 Entries
  • Fixed Import Folder Name for Plugin API.
  • Fix TvDB thumbs in APIv3.

Ver 4.0.0 - August 21st, 2020

Version 4.0.0
August 21st, 2020 | View Release Notes

Added

7 Entries
  • Added a BUNCH of API v3 Endpoints
  • Added plugin API
  • Added support for renamer plugins
  • Added tray icon on Windows
  • Added setting for deleting duplicates on import
  • Added setting for renaming and then moving files instead of move and rename
  • Added support for having the same folder as both drop source and destination

Changed

5 Entries
  • Converted to .NET Core
  • Made Shoko into a service on Windows
  • Changed WebUI folder location
  • Better external subtitle handling
  • Mediainfo stability improvements

Fixed

4 Entries
  • Fixed missing episode stats
  • Fixed a problem with Shoko fetching Plex servers on every request
  • Fixed codec display on Desktop
  • Fixed trakt search

Ver 3.9.7 - April 30th, 2020

Version 3.9.7
April 30th, 2020 | View Release Notes

Added

1 Entry
  • Add "Has Trakt Link" Group Filter Condition.

Changed

10 Entries
  • Update TVDB API URL to current working one.
  • Update TvDBSharper.
  • Save settings on update.
  • Clean titles when searching TvDB for auto-linking.
  • Better Sorting for New Series Window Search.
  • Change default AniDB MyList type to HDD.
  • Migration to AniDB.net.
  • Add a setting for max episode name length in legacy renamer.
  • Don't do TvDB things if disabled.
  • Improve Episode Creation Logic.

Fixed

7 Entries
  • Fix slow episode imports in large series
  • Fixed an issue with LatestEpisodeAirDate formatting causing issues with SQL Server.
  • Fixes an issue where users were unable to add additional renaming scripts if previous script ID was 0.
  • Delete backup file to trigger rebuild.
  • Fix null pointer when searching.
  • Fix downloading AniDB Title Cache.
  • Fix sentry logging.

Removed

1 Entry
  • Remove Thumbnails for TvDB FanArt

Ver 3.9.6 - November 27, 2019

Version 3.9.6
November 27, 2019 | View Release Notes

Added

2 Entries
  • Add docker multi-stage.
  • Add logging for HTTP Ban and a warning for when a ban or no data occurred during anime data update.

Changed

6 Entries
  • Move community sites to HTTPS.
  • Only Regenerate Titles for Series We Have.
  • Don't regen titles on startup.
  • Improve Search Functions.
  • Ignore Locale decimal symbol.
  • Disable calls to WebCache while.

Fixed

16 Entries
  • Crashing while hashing since 3.9.5.
  • SignalR crash fix.
  • Shoko Server 3.9.5 crashing on start.
  • TvDB Image Issues.
  • Fix Episodes with No Titles at Startup (using cache only).
  • Fix the hard crash when files are touched while scanning.
  • Fix Filesystem Opening error.
  • Fix Linux MediaInfo.
  • Fix a TvDB Linking error.
  • Fix matching error when AniDB has a series marked as a movie and TvDB has it marked as a series.
  • Fix Copy Pasta error related to MediaInfo parsing.
  • URL decode the search string.
  • URL Decode a search parameter before passing it on.
  • Fix an i18n issue.
  • Fix Mini Calendar.
  • Fix Trakt & token persistence.

Ver 3.9.5 - July 21, 2019

Version 3.9.5
July 21, 2019 | View Release Notes

Added

1 Entry
  • API - Added support for marking episode as watched based on file.

Changed

9 Entries
  • Download new anime data first
  • Add logging for HTTP Ban and a warning for when a ban or no data occurred during anime data update.
  • Give the error when File cannot be accessed
  • Speed up empty dir removal
  • Update plex webhook with better parsing, not being dependant on the title.
  • Make webui serve index.html on unknown urls.
  • Download new AVDump
  • Speed up deletion of files in batches.
  • Migrated to ASP.NET Core from Nancy.

Fixed

19 Entries
  • AniDB Mylist watched type reset after re-importing files.
  • /Stream/ endpoint is broken.
  • /api/file/offset broken.
  • /Stream/ byterange is broken.
  • Fix a code error in plexhelper.
  • Fix small logic error on file renaming.
  • Fix initial population of Group Filters
  • Fix Initial User Creation when password is specified
  • Fix HTTP logging on release versions.
  • API - Fix Images for AniDB Posters.
  • API - Fix Search by filename in Unrecognized Utility for Desktop
  • fix GetEpisodesRecentlyAddedSummary to return the defined number of shows with recently added episodes.
  • Fix a stack overflow when changing an import folder via API.
  • Fix Import Folder Saving and Properly Refactor Out the Logic
  • Fix GetFilesByGroupAndResolution by URL Decoding the Release Group and properly handling raw-Files.
  • Properly handle manually linked files while deleting a release.
  • Fix log location and setting settings from Desktop.
  • Fix linking 1 file to x episodes.
  • Fix Recently Added Series.

Ver 3.9.4 - December 31, 2018

Version 3.9.4
December 31, 2018 | View Release Notes

Added

1 Entry
  • Add basic Analytics API.

Changed

4 Entries
  • Handle File in Use better for systems without locking (due to filesystems or scripts).
  • Improve Permission Checking for drop folders
  • Improvements to first time setup process
  • Properly get ALL updated anime when too many have updated

Fixed

4 Entries
  • Fix MovieDB image getting
  • Fix Plex Linking
  • Fix an error with Year calculation in some cases
  • Fix rare issues preventing startup

Ver 3.9.3 - August 20, 2018

Version 3.9.3
August 20, 2018 | View Release Notes

Changed

2 Entries
  • Error with creating ssl/tls secure channel.
  • Sort File for episodes by File Quality Preferences in Desktop.

Fixed

4 Entries
  • Fix Adding Files to MyList with Manually Linked Files.
  • Hopefully fix rare error with Downloading Release Group type.
  • Delete Episode and Override Links when Deleting TvDB Links.
  • Fix some logic errors and state when adding Manually Linked files.