Releases: ShokoAnime/Shokofin
Shokofin Dev 5.0.2.1
Update your plugin using the dev manifest or by downloading the release from GitHub Releases and installing it manually!
Changes since last build:
fix
: Don't assume item id and library options are available:
Don't assume the ItemId
and LibraryOptions
are always available on VirtualFolderInfo
. They can both be null if the library failed to be parsed.
fix
: Better media folder mapping logic:
Check all ≥101 (up from ≥100) locations for a match before deciding on a mapping between the media folder and import folder, instead of picking the first found match. This will help in cases where some files have multiple locations with the same file name but different relative paths.
Fixes #68
repo
: Update README.md for JF 10.10 UI changes (#77).
fix
: Split library check in two:
Split the library exists check and library id is valid check into two, because the library id may be null if the virtual folder is in a bad state in core Jellyfin, but the library may still exist in the UI.
fix
: Check if subtitle file is a symbolic link:
When attempting to move a subtitle file, check if it's a symbolic link and abort if the link target doesn't exist, or create a copy to use if it exists but is pointing to the wrong place.
feat
: Automagically move trickplay files:
Automagically move trickplay files between the VFS and the underlying library/libraries.
misc
: Add logging when moving:
Added debug logging when moving subtitle files and trickplay files from the VFS to the underlying library.
cleanup
: Remove unused dictionary in api manager.
fix
: Ignore non-titles for episodes:
Ignore non-titles for episodes, e.g. "Episode X",Special X", "OVA", "Complete Movie", and fallback to the next title source or null if it's the last source in the list.
fix
: Also ignore volumes.
fix
: Move control for merge seasons setting to the correct tab.
repo
: Make discord hook optional for building dev releases.
fix
: Use ignore patterns during media folder search and in the ignore rule:
Use a copy of the ignore patterns taken from the Jellyfin core (since they're not exposed through the abstraction used by plugins) to ignore paths we shouldn't check in the media folder mapping check and in the ignore rule check. The latter check is redundant since the core also has such a check, but in the off-case that the shoko ignore rule is ran before the core ignore rule then we won't attempt to check the paths that would otherwise had been checked because of the run order.
fix
: Check if provider is enabled for item in added/updated events before looking up ids.
fix
: Also check if the provider is enabled for seasons/series and not just videos.
fix
: Add extra type for 'talk show'.
cleanup
: Remove unnecessary namespacing.
fix
: Fix dir exists checks for trickplay directory in vfs.
fix
: More robust trickplay move logic in VFS:
Some more fixes for moving the trickplay directories in the VFS because the rephrase point is treated like a file while real directories are not, so both need their own handling.
fix
: Better forward season merging logic:
Added better forward merging logic for the season merging to allow the "primary" series to match the year regex. Also uglified the year regex some more.
Note: Casual reminder not to use the season merging advanced setting if you don't like pain.
fix
: Respect no merge tag:
If you want a series to never be merged, then (potentially create and) add the "shokofin/no merge"
custom tag on the series in shoko server, and it will never be merged with another series in the plugin.
fix
: Always run custom providers.
fix
: Respect map as specials tag:
The custom tag "shokofin/map as specials"
should generally be applied to OVAs where you want the episodes to show up as specials and not normal episodes, but the system will allow you to set the tag on any series and it should Just Work™. It can also be combined with the season merging, or used outside it in shoko groups.
fix
: Await production locations instead of genres.
fix
: Better removal of alternate versions:
Improved the logic where we split the alternate versions in the merge versions manager to also account for local alternate versions. Since we're only operating on Shoko managed libraries then I'm fine with the plugin completely managing the alternate versions so we'll just take control of it all, instead of the partway control we before this commit where we were intentionally ignoring the local versions and somewhat half-baked removing the linked local versions.
Also hello 👋 to the one reading this.
fix
: Attempt to upgrade trickplay files:
Attempt to "upgrade" the trickplay files in the underlying library if we have a newer version in the VFS compared to what is in the underlying library.
fix
: Skip visited videos regardless of depth.
feat
: Make multiple version order configurable (#78):
The order in the multiple versions drop-down on the episode/movie pages for libraries managed by the plugin is now configurable through the plugin settings, and by default will use the imported at date, but you can change the ordering as an advanced setting if you feel like it.
Thanks to @GlawenC (Discord: <@707281950355881994>) for doing the research needed to implement this feature and for providing the basic implementation that was built upon in this commit.
Closes #46
fix
: Use backdrops as thumbnails for "movie" episodes:
Use backdrops tied to the episode as thumbnails for "movie" episodes inside a shows type (or mixed type) library when a movie type series is showing up as a show.
feat
: Add series configuration + more:
-
Added new per-series configuration, stored on the server as custom tags.
-
Added a new selector to chose between anidb structure, shoko structure, and tmdb structure to use by default for all libraries, and together with the new per-series configuration we allow it to be overridden on a per-series basis, though no UI to do it yet.
-
Added a new per-series setting to display specials as normal episodes after the normal episodes.
fix
: Fix episode type masking:
Fix the episode type masking i just broke in the last commit.
refactor
: Reconstruct the episode info:
Remove the directly exposed anidb and shoko objects on the episode info, and instead place the needed properties directly on the episode info object to make it easier to add episode info for tmdb episodes in the future.
fix
: Only mark specials and not normal episodes.
refactor
: Add tmdb episode data and constructor for episode info.
fix
: More through refresh dispatching logic:
Made the refresh dispatching logic in the event dispatcher service more through, by distincting the input lists we get from the core, and also tracking which entities has been updated and their parents, and only firing the event if the entity or it's parents haven't been updated since the last usage stalled event or if the clear plugin cache task is ran.
refactor
: Drop ordering information for now:
Don't request the ordering information for now. We'll request it later if we need it for any future features.
refactor
: Add season id to episode info.
fix
: Removed erroneous "$" in TMDB API Request (#79):
The pains of working in C# and JS. 😔
feat
: Add series config. option to order by airdate:
This option will only make sense if you enable the other series config. to include specials as episodes.
chore
: A dashing commit (#81):
The biggest commit ever seen by man (||maybe||).
refactor
: Implement multi-structure support + more:
Implemented Multi-Structure Support
-
Finally implemented support for multiple library structures. Users can now set a base structure and override it on a per-Shoko-Series basis. With the addition of the new TMDB shows and movies structure, the library now supports three possible structures, which can be used as a whole and overridden as needed.
-
Leveraging the updated data abstraction, the plugin can now map TMDB shows as movies ¹ or TMDB movies as shows.
-
For movies, if TMDB movie collections are enabled in Shoko, the plugin uses these collections to create either show entries or collection entries based on how your libraries and plugin settings are configured. In show-type libraries, movies are mapped as seasons/episodes, while in movie-type libraries² collections are mapped as actual collections.
-
For shows, we support using "alternate orderings" (or "episode groups" in TMDB terminology) if enabled in Shoko, allowing alternate season/episode arrangements³ if the default arrangement is not to your liking. You will have to configure the alternate ordering to use in Shoko for now, until the utility is done (
totally not foreshadowing). -
Added support for TMDB metadata across all structures, including studios, content ratings, production locations, tags, and genres. The settings apply globally across all structures, and metadata is excluded if any of these options are disabled, even if available.
General Changes
-
Replaced the global language code setting for images with per-entity-type, per-image-type settings. Existing settings are automatically migrated, but feel free to tweak them after the update.
-
Fixed an issue with "missing" episodes. The plugin now disables the server's unaired filter, ensuring unaired episodes populate correctly. Sorry about that.
-
Introduced an option to replace images during automatic metadata updates triggered by Signal...
Shokofin 5.0.2 Released
Small patch release to fix cast/crew on the stable server.
Note: The missing TMDB support I promised will still arrive in a feature update.
Highlights
Here are some of the key features and improvements since the last stable release (5.0.1):
Bug Fixes
- Suppress roles without a proper staff member name available.
For the full list of changes, please check out the complete changelog here on GitHub.
Shokofin 5.0.1 Released
Small patch release to fix compatibility with the new and old stable server.
Note: The missing TMDB support I promised will still arrive in a feature update.
Highlights
Here are some of the key features and improvements since the last stable release (5.0.0):
Bug Fixes
- Fixed
CreatorRoleType
to be compatible with both Shoko Server 5.0.0 and 5.1.0.
For the full list of changes, please check out the complete changelog here on GitHub.
Shokofin Dev 5.0.0.65
Update your plugin using the dev manifest or by downloading the release from GitHub Releases and installing it manually!
Changes since last build:
refactor
: Remove TryGetEpisodeIdFor
in favor of TryGetEpisodeIdsFor
.
fix
: Better "missing" episode removal logic:
This should hopefully fix the faulty removal logic for good… hopefully.
Shokofin Dev 5.0.0.64
Update your plugin using the dev manifest or by downloading the release from GitHub Releases and installing it manually!
Changes since last build:
fix
: Readjust season id read from path before use.
Shokofin Dev 5.0.0.63
Update your plugin using the dev manifest or by downloading the release from GitHub Releases and installing it manually!
Changes since last build:
refactor
: Remove VFS cache placement option.
Shokofin Dev 5.0.0.62
Update your plugin using the dev manifest or by downloading the release from GitHub Releases and installing it manually!
Changes since last build:
fix
: Check staff name, not role name, during transform to person info.
Shokofin Dev 5.0.0.61
Update your plugin using the dev manifest or by downloading the release from GitHub Releases and installing it manually!
Changes since last build:
fix
: Missed a spot in the last commit:
Added the changes to a missing spot in commit def7e76.
fix
: Log which locations will be emitted:
Log which locations will be emitted to the core in the event dispatch service when verbose/trace logging is enabled for the service.
Shokofin Dev 5.0.0.60
Update your plugin using the dev manifest or by downloading the release from GitHub Releases and installing it manually!
Changes since last build:
repo
: Update shoko link: (Skip CI)
fix
: Improve file system change reports for physical VFS libraries:
Leave it 100% to Jellyfin for how to handle it when new series have been added to the VFS, instead of giving it a random folder in the root of the physical VFS and say it has changed.
Shokofin Dev 5.0.0.59
Update your plugin using the dev manifest or by downloading the release from GitHub Releases and installing it manually!
Changes since last build:
fix
: Hard code haruhi '06 for VFS: