Jellyfin
Free software media system for organizing and streaming your movies, TV shows, and music
Alternative to: netflix, plex, emby
v10.3.0
2019-04-1910.3.0 release.
Release Notes
-
This release makes non-backwards-compatible changes to the
users.dbdatabase (#870). Ensure you take a backup of this database (with Jellyfin stopped) before upgrading if you wish to revert back to an earlier release. -
This release requires Windows users move the data directory from
%APPDATA%\jellyfinto%LOCALAPPDATA%\jellyfin(#851). This is automatic withinstall-jellyfin.ps1. Based on RC testing this shouldn’t cause any long-term problems. -
The 3rd-party API no longer accepts pre-hashed passwords for authentication; the clients MUST send a plaintext password, and this MUST be encrypted via HTTPS to avoid password leakage. Administrators who do not use HTTPS already (either in-app or via reverse proxy) are strongly encouraged to do so.
-
Plugins installed with Jellyfin 10.2.Z might not upgrade properly due to a bug in the plugin management system that has now been corrected. If you encounter errors while upgrading a plugin, the easiest solution is to remove the plugin first, then re-add it. To preserve configuration as well, delete the plugin directory on the filesystem (e.g. in Debuntu/Fedora under
/var/lib/jellyfin/plugins) the reinstall the newer version. -
Users of Yatse should remove then re-add their Jellyfin server as the new Jellyfin type or authentication may fail.
-
OpenSubtitles support has been moved to a plugin.
Major features
- Uses the Kestrel web server instead of the previous homebrew web server.
- The insecure authentication system has been revamped to store passwords more securely and enable future external authentication.
- Individual user passwords can be reset without affecting other users.
- A mostly-Webpack-compatible WebUI.
- More translations.
- Numerous bugfixes around both the front- and back-end.
Changelog
jellyfin
#735 Readability changes
#776 Update tvdb provider to v2 api
#785 Remove useless abstraction around XmlReaderSettings
#800 Add CentOS and update rpm spec for the cachedir option
#801 Move to Microsoft.Extensions.DependencyInjection
#829 Removed some unused fields
#830 Removed remaining self-update code
#844 Reworked FFmpeg path discovery and always display to user
#847 Make websockets code async
#848 Minor changes to reduce allocations
#849 Less string allocations
#851 Simplify code to get data dir
#862 Add dotnet-compat ABI testing and Debug configuration building to drone-CI
#870 Better default authentication
#885 More warning fixes
#887 Replace primitive injection with IConfiguration
#889 Fix uncaught xml error
#891 Reduce the amount of db calls during the post scan event
#898 Switch to Roslyn naming rules in EditorConfig
#900 Implement proper FFmpeg version checking
#902 COPR auto building
#907 Fix assembly visibility
#913 Reduce log spam
#914 Separate HttpPostedFile into it’s own file
#915 Remove IEncryptionManager
#930 checking user-permission in GetQueryResult
#934 Don’t require a restart for 75% of plugins
#936 Fixed the assemblynames for compatibility check in drone.
#939 Clean up and rename obsolete deployment platforms
#947 Add Azure Pipelines YAML
#950 Replace OptimizedPriorityQueue source with NuGet reference
#952 Populate video extras again
#955 Avoid exceptions due to folder and file not found
#959 Reduce string allocations at startup
#962 Fix Path
#977 Always set ffmpeg flag +genpts when video stream is being copied
#978 Fix DLNA for multiple interfaces on linux
#981 Close the response stream after fetching temp files
#984 Update kz.csv
#986 Backmerge submodule updating strategy
#996 Reduce the amount of exceptions thrown
#999 Check that ffmpeg log target isn’t disposed before writing to it
#1000 Don’t close the socket response multiple times
#1003 Use stopwatch for more accurate measurements and reduce log spam
#1007 Log time in a standardized way
#1009 Implement SxxExx EpisodeNum Processing
#1010 Remove System.Net and port to Kestrel
#1011 Don’t try to order the response the same as the request
#1018 Fix rmvb video can not play under DLNA
#1020 Do not allow new users to delete content by default
#1021 Fail on warnings for Jellyfin.Server
#1028 Simplify rating loading
#1032 Correct the list of series types
#1043 Update image overlays to use Jellyfin blue
#1051 Build improvements for wrapping infrastructure
#1058 Cleanup/simplification
#1059 Remove EnvironmentInfo
#1060 Remove redundant class AssemblyInfo
#1061 Remove dead code
#1062 Fix the 2 new warnings
#1063 Update to renamed DownloadGitHubRelease task (Microsoft/azure-pipelines-tasks#9481)
#1064 Remove file added in #996
#1065 Don’t set status code if response is closed
#1067 Add urlprefixes during init
#1069 Quick nullref fix
#1071 Fix error
#1072 Remove New File Header
#1075 Remove mirror images from library thumbnail
#1077 Make MusicBrainz base url configurable
#1081 Disable HTTPS in Kestrel if Certificate is null
#1089 Update translations
#1090 Set DisplayTitle for subtitles
#1091 Do not use the nuget packages for comparison, but the last master build
#1092 Add configurable webdir option
#1093 Use better path configuration for packages
#1094 Skip processing of images that don’t exist
#1095 Add AppConfig to the DI service collection
#1096 Remove open subtitles from the server
#1098 Fix build by removing non existent namespace
#1100 Finalise removal of —ffprobe switch
#1103 Improvements around streams
#1104 Disable the Drone CI ABI check
#1105 Only delay making MusicBrainz request if necessary
#1106 More warning fixes
#1110 Adjusted the Product Name so the User Agent is correct/better
#1114 Only remove /var/lib/apt/lists/* in Dockerfile
#1115 Clean apt lists in arm Dockerfiles
#1116 Fix exception caused by #1096
#1117 Check before flushing ffmpeg log
#1119 MusicBrainz 503 Retry Strategy
#1120 Quick fix for auth bug
#1121 Update username regex to string literal with escaped -
#1127 Add configurable user lockout
#1136 Require access type to be included in bug report
#1137 Fix default value for Expires header
#1139 Update init scripts for compatibility with Devuan
#1140 Add Doxygen config
#1149 Adds per user password reset
#1151 Use public ports and advertise DNS if available for WAN address
#1153 Check if disposed first
#1157 Simplify/remove/clean code
#1166 Fix exception on startup
#1169 Use new libexecdir location for jellyfin-ffmpeg
#1170 Correct bad quote characters
#1171 Add Ubuntu armhf build
#1172 Minor improvements to release build setup
#1178 Updates windows installer default lib location
#1188 Fix problems with plugin installation
#1189 Update local path to include the jellyfin dir
#1190 Update Dockerfiles
#1195 Optimize images with image_optim
#1199 Use TLS 1.2 to download NSSM
#1209 Override username with AuthenticationProvider
#1221 Make Jellyfin search its base dir for ffmpeg
#1239 Clean up UDP responders, and move ProductName to Public endpoint
#1242 Fix metadata path save
#1244 Hotfix authapi
jellyfin-web
jellyfin/jellyfin-web#128 Always show FFmpeg path in Transcoding page jellyfin/jellyfin-web#144 Add top offset and bottom offset margins in emby-scrollbuttons jellyfin/jellyfin-web#153 Make types more consistent jellyfin/jellyfin-web#159 remove some deprecated plugin code jellyfin/jellyfin-web#162 Convertion to webpack - part1 - npm and dynamic module resolution for site.js jellyfin/jellyfin-web#166 Better progressive playback controls of bottom pages jellyfin/jellyfin-web#168 Lots of changes to the server configuration pages jellyfin/jellyfin-web#170 Updated translations jellyfin/jellyfin-web#171 Sort item results in the same order as requested jellyfin/jellyfin-web#172 Add web path as config option jellyfin/jellyfin-web#175 Update the translation help link jellyfin/jellyfin-web#177 Conversion to webpack - part2 - emby-webcomponents into components and module naming resolution jellyfin/jellyfin-web#178 Remove unused localization strings (updated) jellyfin/jellyfin-web#180 Apply typo fix for apphost jellyfin/jellyfin-web#181 Correct syntax error in networkPath jellyfin/jellyfin-web#187 Add CI for eslint jellyfin/jellyfin-web#188 Conversion to webpack - part3 - routes isolation, module resolution, refactoring appStorage jellyfin/jellyfin-web#189 Fix require apiInput jellyfin/jellyfin-web#190 Add setting to support configurable user lockout jellyfin/jellyfin-web#195 Remove no to nb jellyfin/jellyfin-web#196 Return inner promise in createConnectionManager jellyfin/jellyfin-web#197 Cleanup cordova modules - webpack fix jellyfin/jellyfin-web#202 Remove sync and registration services jellyfin/jellyfin-web#203 Remove all unused strings from translation files jellyfin/jellyfin-web#204 Fix CI jellyfin/jellyfin-web#205 Move assets and third party libs out of components and update some strings jellyfin/jellyfin-web#206 Conversion to webpack - part4 - module resolution, appStorage refactor, minor cleanup jellyfin/jellyfin-web#211 Adds web options to support better password resets jellyfin/jellyfin-web#214 Fix Direct Playback broken in Chrome 73 jellyfin/jellyfin-web#216 Remove sync menu from multiselect jellyfin/jellyfin-web#217 Re-add missing strings jellyfin/jellyfin-web#218 Solve random dark pane over video playing in fullscreen mode jellyfin/jellyfin-web#219 Change Chromecast volume instead while casting jellyfin/jellyfin-web#221 Fix local chromecast play behind reverse proxy jellyfin/jellyfin-web#222 Remember device volume/mute on Chromecast playback stop jellyfin/jellyfin-web#223 When playing on Chromecast make volume buttons change chromecast volume jellyfin/jellyfin-web#225 Fix restart button API call jellyfin/jellyfin-web#226 Optimize images with image_optim jellyfin/jellyfin-web#227 Update add server input type jellyfin/jellyfin-web#231 Improve the plugin catalog and related controllers jellyfin/jellyfin-web#235 Add check for multiserver on login page jellyfin/jellyfin-web#237 Avoid element overlap with music controls jellyfin/jellyfin-web#244 Fix a deminification issue with the plugin page jellyfin/jellyfin-web#245 Add Missing strings “HeaderFavorite…” jellyfin/jellyfin-web#247 Update the name in Manifest.json jellyfin/jellyfin-web#249 Correct edititemmetadata.js script location jellyfin/jellyfin-web#253 Readd missing strings