Jellyfin logo

Jellyfin

Free software media system for organizing and streaming your movies, TV shows, and music

Alternative to: netflix, plex, emby


About Versions (100)

v10.4.0

2019-10-07

Jellyfin 10.4.0

After a lot of work over several months, we’re pleased to offer Jellyfin 10.4.0.

New Features and Major Improvements

  • Speed! WebUI responsiveness has been greatly improved, resulting in a much snappier experience with the WebUI.
  • Tons and tons of backend improvements to help stability and increase speed.
  • General improvements to various areas of the WebUI, including hover animations, icon improvements, scroller fixes, and other general fixes.
  • Configurable base URL functionality [Feature Request #37].
  • New web layout option to help future webOS clients, including keyboard navigation support.
  • Removal of most bundled libraries from the WebUI to streamline performance.
  • Keyboard shortcut support in the video player.
  • Unhid the Activity page in the Dashboard for eventual improvement.
  • Reorganization of the Dashboard menus, including separating out most of the former “Advanced” menu.
  • Manual subtitle synchronization support [Feature Request #178].
  • FFmpeg >4.0 support; jellyfin-ffmpeg upgraded to 4.2.1; warnings for unsupported versions in the logs [Feature Request #203].
  • Proper installer for Windows users [Feature Request #83].
  • Full hardware acceleration support for VAAPI, NVEnv/NVDec, and OMX [Feature Request #75].
  • “Purple Haze” theme added as an in-built option.
  • New plugin: Bookshelf, for managing eBooks [Feature Request #43].
  • New plugin: FanArt, removed from core server.

Important Release Notes

  • [All] As always, ensure you back up your Jellyfin data and configuration directories, with Jellyfin stopped, before upgrading. This is very important in case you want to roll back to a previous stable release.
  • [All] Some plugins have updated versions to work with 10.4.0; if any installed plugins are missing after upgrading, re-install them from the catalog.
  • [All] FanArt support has been moved to a plugin.
  • [Kodi Integration] Due to recent updates, if syncing fails, you may need to kick off a manual full sync, after which normal syncs will work again.
  • [Windows] For 10.4.0, the default Windows data directory has moved from %AppDataLocal%\Jellyfin to %ProgramData%\Jellyfin\Server. Move/copy your data to this new location before upgrading.
  • [Windows] Ensure you remove any previously-installed zip-based installs, or you may get duplicate Windows Service entries.
  • [Windows] Startup shortcuts are not present for non-service installs and must be created manually.
  • [Windows] Service installs require correct permissions; keep this in mind if you get permission errors accessing media or configurations.
  • [Windows] Service installs won’t have access to network shares unless your computer is in an Active Directory domain by default; you must change the service login to a named account manually and provide credentials to any network shares for this to work, or do not install Jellyfin as a service.
  • [Windows] The installer also does not take care of any firewall rules for you, make sure to add the appropiate Windows Firewall rules.

FFmpeg

Jellyfin 10.4.0 is complemented by jellyfin-ffmpeg 4.2.1 on the following platfoms:

  • Debian (stretch, buster; amd64, arm64, armhf)
  • Ubuntu (xenial, bionic, cosmic, dapper; amd64, arm64, armhf)
  • Docker

And by a build based on the current master (N-95234-g35a63a9127, https://github.com/FFmpeg/FFmpeg/commit/a1e5c35a6e43ef8722017b070c124e72d628c0cd) for Windows.

On these platforms, our FFmpeg includes a patch to help aleviate premature skips near the end of videos (#1694). We hope this is a stopgap until our patch is accepted upstream, or a fix found within Jellyfin.

For now, other platforms may still experience this bug as their FFmpeg is not patched.

Please ensure you upgrade jellyfin-ffmpeg as well as jellyfin for 10.4.0 for optimal performance. Older versions will however still work fine.

Changelog

GitHub Project: https://github.com/orgs/jellyfin/projects/8

Jellyfin

  • #1846 Switch to custom patched build for ffmpeg for the Windows installer
  • #1845 Correct missing mesa-va-drivers package
  • #1844 Fix missing image on seasons without posters
  • #1841 Update Docs to docs.jellyfin.org URL
  • #1829 Fix SchedulesDirect authentication
  • #1825 Revert “Fix premature stop when streaming”
  • #1822 Update README for new docs location
  • #1820 Properly build DLL for porable
  • #1819 Ignore exception when attempting to kill ffmpeg that has exited
  • #1818 Fix SourceBranch -> SourceBranchName in git clone for Web UI
  • #1817 Change PRAGMA mode from WAL to TRUNCATE
  • #1815 Fix tests
  • #1814 Fix ffmpeg version check for unknown versions
  • #1812 Avoid editing preferences without user interaction
  • #1811 Configure Kestrel listener to use configured IPs
  • #1809 Recursively zip Windows packages
  • #1808 Change Win32 AMF flag to d3d11va
  • #1805 Fix plugin installation
  • #1804 Add tests for EncoderValidator and add support for ffmpeg 4.2
  • #1803 Don’t log revision number
  • #1802 Fix premature stop when streaming
  • #1801 Do explicit dotnet publish in Dockerfiles
  • #1798 Fix SetImage to avoid out of range exception
  • #1793 Clean up and update builds to use new jellyfin-web
  • #1791 Remove submodule and add clone and build to CI for web UI
  • #1788 Include libssl-dev dep in Ubuntu build containers
  • #1785 Add mediabrowser route back for now
  • #1777 Add escapes for path quotes in the NSIS Installer
  • #1775 Fix multiple mistakes and warnings
  • #1773 Remove WAN DDNS
  • #1772 Hide new users from public API by default
  • #1770 Remove WAN IP Detection
  • #1768 Set log level to debug for HTTP range requests
  • #1765 Add submodule update to CI build.
  • #1764 Fix publish CI YAML parse error
  • #1763 Add two manually triggered pipelines for publishing artifacts.
  • #1752 Improve Skia error handling
  • #1751 Reset invalid login counter on successfull login
  • #1746 Docker - Build jellyfin-web
  • #1744 Rewrite ItemDataProvider to be more robust
  • #1735 Update deps
  • #1731 Fix culture problem on Windows for segment_time_delta argument.
  • #1727 Add mesa-va-drivers to main Dockerfile for AMD VAAPI transcoding
  • #1723 Possible fix for MrMC
  • #1709 Fix crash due to missing userRootFolder data
  • #1708 Fix translate link
  • #1707 Fix default build arg
  • #1704 Fix replace multiple spaces
  • #1702 Fix more warnings
  • #1700 Restore flac mime type
  • #1699 Bump version to 10.4.0
  • #1696 Add VSTest support to CI
  • #1695 Make Docker ffmpeg version configurable
  • #1693 Update Debian build to Buster and LibSSL 1.1
  • #1692 NSIS improvements
  • #1691 Enable VAAPI decoding without hardware encoding
  • #1687 Move IsoMounter to plugin
  • #1686 More warning fixes
  • #1685 Fix invalid arg for
  • #1683 Move the transcode path and other small fixes
  • #1680 Fix q6fn dlna seek for direct play
  • #1678 Fix ArgumentOutOfRangeException in ParseTimeSeekHeader
  • #1677 Remove legacy auth code
  • #1676 Fix login
  • #1665 Fix warnings, improve performance
  • #1659 Fix segment_time_delta value for ffmpeg 4.1
  • #1656 Fix firewall-cmd: Error: INVALID_SERVICE: ‘jellyfin’ not among existing services
  • #1651 Fix local trailers playback
  • #1650 Upgrade SQLitePCL to v2
  • #1646 Return DB lock immediately
  • #1645 Fix UserNotFoundError
  • #1644 Fix possible hidden exceptions
  • #1643 Fix some documentation warnings for MediaBrowser.XbmcMetadata
  • #1642 Speed up BaseItem deserialization
  • #1641 Tmdb cleanup and re-add Writer and Producer
  • #1636 Add analysers to Emby.IsoMounting and enable TreatWarningsAsErrors
  • #1634 Fix build on .Net Core 2.x
  • #1633 Attempt to fix #1391
  • #1632 Improve LocalizationManager
  • #1631 Fix build for .Net Core 2.x
  • #1629 Fix tvdb guest stars with multiple roles
  • #1628 Always fetch episode id as EpisodeInfo does not contain it
  • #1625 Fix instant crash.
  • #1624 Fix possible Nullref
  • #1622 Add a task to clean up transcode cache
  • #1614 Document all public/internal members of Emby.Drawing
  • #1613 Update deps + document startup project
  • #1612 Fix warnings
  • #1608 Add link to feature request hub to readme
  • #1605 Fix Docker build
  • #1602 Update the Stale-bot config
  • #1597 Set log level to debug for HTTP range requests
  • #1593 Docker - make web version more configurable
  • #1590 Adds null check on studio/network name
  • #1588 Add base url option to server configuration
  • #1584 Check checksum for plugin downloads
  • #1583 Add Fider to README
  • #1582 Include library via NuGet instead of via source
  • #1581 Use System.Net abstractions instead of raw socket
  • #1580 Ignore Ipv6 link-local addresses
  • #1579 Fix #1388 and #1472
  • #1578 Replace custom code with Asp.Net Core code
  • #1574 Add the —azure-pipelines switch to the compat checker
  • #1573 Use a dictionary to look up mimetypes
  • #1572 Remove the issue template for feature requests.
  • #1568 Add DLNA headers if requested by the client
  • #1562 Don’t copy the complete response stream
  • #1555 Add Stale app configuration starting point
  • #1541 Override the Debian installinit name
  • #1540 Fixed SMI Encoding Bug
  • #1536 Fix broken symlinks in deployment
  • #1534 Use dash or underscore on mv command
  • #1524 Remove IpAddressInfo and IpEndPointInfo classes
  • #1521 Clean up livestreaming code
  • #1519 Fix merge errors
  • #1518 Update the GitHub token to a Grant Auth token
  • #1517 Update the GitHub connection name to use the GitHub App token
  • #1516 Move VACUUM command to fix merge error
  • #1513 Fix style issues
  • #1511 Add NSIS installer build support
  • #1505 Qualified Namespace of pscredential
  • #1500 Add optional password field on user creation
  • #1499 Log IP address on failed login attempt
  • #1484 Update TVDB provider to search based on series display order
  • #1463 Update deps
  • #1462 Improvements to InstallationManager
  • #1457 Stop path substitution in SubtitleEncoder - Fix #1446
  • #1454 Simplify file serving code
  • #1453 Improve main code flow
  • #1452 Improvements to UserManager
  • #1451 Create Media Playback issue template
  • #1448 Use the username for the user config path
  • #1440 Change UsCulture to InvariantCulture
  • #1433 Add support for encoding with libx265 and hevc_nvenc
  • #1427 Move fanart image provider to plugin
  • #1397 Streamline authentication proccess
  • #1369 Enable Exynos MFC encoder and fix transcoding bitrate control
  • #1368 Only return useful drives
  • #1367 Ignore casing photo extensions
  • #1366 Fix more warnings
  • #1363 Update getting-help link in README
  • #1293 Fix query time logging
  • #1274 Prevent null reference when request content type is x-www-form-urlencoded
  • #1247 Adjust detection of ‘sample’ in filenames to use regex boundaries
  • #1245 Remove unused event
  • #1229 Cleaning WebSocketSharp continued
  • #1225 Fix help message to indicate the right output folder
  • #1224 Fix missing Unraid cache mount and name capitalization
  • #1218 Disable dotnet_compat part of pipeline
  • #1212 Clean WebSocketSharpRequest.PathInfo
  • #1211 Update Unraid Docker icon
  • #1210 Fix README documentation link
  • #1182 Speed up DeepCopy
  • #1176 Remove unused dependency for Emby.Naming

Jellyfin Web

  • jellyfin/jellyfin-web#503 Fix some minor issues with the dashboard page
  • jellyfin/jellyfin-web#502 Update Docs to docs.jellyfin.org URL
  • jellyfin/jellyfin-web#501 Resolves missing policy error on user creation
  • jellyfin/jellyfin-web#500 Restore prepare script
  • jellyfin/jellyfin-web#498 Fix issues with scrollbutton visibility
  • jellyfin/jellyfin-web#497 Update documentation links
  • jellyfin/jellyfin-web#492 Add webpack-dev-server
  • jellyfin/jellyfin-web#490 Add jQuery to global scope
  • jellyfin/jellyfin-web#484 Revert “Allow card text to continue through line breaks”
  • jellyfin/jellyfin-web#481 Fix missing jQuery in medialibraryeditor
  • jellyfin/jellyfin-web#479 Improve the user settings interface
  • jellyfin/jellyfin-web#478 Fix video osd header styles
  • jellyfin/jellyfin-web#477 Fix mediainfo display on tv mode
  • jellyfin/jellyfin-web#474 add 700ms timer for ‘mousemove’ and ‘touchmove’ volume listeners
  • jellyfin/jellyfin-web#472 Remove WAN domain name options
  • jellyfin/jellyfin-web#470 Azure pipelines
  • jellyfin/jellyfin-web#468 Fix Duplicate loading animation
  • jellyfin/jellyfin-web#466 Fix toggle on tv layout mode
  • jellyfin/jellyfin-web#464 update apphost appVersion to 10.4.0
  • jellyfin/jellyfin-web#463 Changed to non-blocking subtitles
  • jellyfin/jellyfin-web#462 Add style for metadata sidebar Icon folder
  • jellyfin/jellyfin-web#461 Fix: Not all players support xxxSubtitleOffset
  • jellyfin/jellyfin-web#460 Added toast notification when copy-stream is executed
  • jellyfin/jellyfin-web#459 Added more details to itemdetails page
  • jellyfin/jellyfin-web#458 Refactor several files and methods
  • jellyfin/jellyfin-web#456 Require hls.js from npm
  • jellyfin/jellyfin-web#455 Allow fldSelectLoginProvider for admins
  • jellyfin/jellyfin-web#451 Improve button style when focused
  • jellyfin/jellyfin-web#450 Disable animations in editor sidebar
  • jellyfin/jellyfin-web#449 Don’t hide play all and shuffle buttons on mobile
  • jellyfin/jellyfin-web#448 fix AutoRunWebApp checkbox on dashboardgeneral
  • jellyfin/jellyfin-web#446 Dashboard layout improvements
  • jellyfin/jellyfin-web#444 Minor update for media info
  • jellyfin/jellyfin-web#443 Fixed blurred My Media images
  • jellyfin/jellyfin-web#441 Improve image quality on detail page
  • jellyfin/jellyfin-web#439 Add media file size to Playback Data
  • jellyfin/jellyfin-web#436 Always have last sort of movies be by production year
  • jellyfin/jellyfin-web#435 Change primary highlight for delete confirmation dialog
  • jellyfin/jellyfin-web#434 Add string for LabelFolder
  • jellyfin/jellyfin-web#433 Quick fix Now playing bar controls
  • jellyfin/jellyfin-web#432 Add icon to metadata editor side bar
  • jellyfin/jellyfin-web#430 Fix layout issues for device cards on dashboard
  • jellyfin/jellyfin-web#429 Add prepare script for git installs
  • jellyfin/jellyfin-web#428 Fix preload background color
  • jellyfin/jellyfin-web#427 Add sorting for music albums in an artist’s details page
  • jellyfin/jellyfin-web#425 Bump eslint-utils from 1.4.0 to 1.4.2
  • jellyfin/jellyfin-web#424 Add a “Copy Stream URL” button in the dropdown menu, for easy Direct Play in VLC
  • jellyfin/jellyfin-web#422 Use same css rules for section tabs
  • jellyfin/jellyfin-web#418 if collection has no playable items hide play and shuffle btns
  • jellyfin/jellyfin-web#417 add favorite books section to favorite tab
  • jellyfin/jellyfin-web#415 Fix redirect on wizardfinishpage
  • jellyfin/jellyfin-web#414 Resolve deviceId promise properly during apphost init
  • jellyfin/jellyfin-web#413 Fix card layout on home for books
  • jellyfin/jellyfin-web#412 Move transcoding page to playback settings and improve strings
  • jellyfin/jellyfin-web#411 Clean up unused filter audio language
  • jellyfin/jellyfin-web#410 Disable Group versions for non admin
  • jellyfin/jellyfin-web#408 Reflect changes made to main repo’s stale bot config.
  • jellyfin/jellyfin-web#406 Enable blurred footer in chrome
  • jellyfin/jellyfin-web#405 Upgrade dependencies
  • jellyfin/jellyfin-web#403 Fix text overlap on now playing bar
  • jellyfin/jellyfin-web#402 Selectively hide manual login button
  • jellyfin/jellyfin-web#400 Add base url option to web client
  • jellyfin/jellyfin-web#399 Delete enhancement-request.md and feature-request.md
  • jellyfin/jellyfin-web#398 Add stale app config.
  • jellyfin/jellyfin-web#397 Allow card text to continue through line breaks
  • jellyfin/jellyfin-web#396 Move download action to major button for books (itemdetailspage)
  • jellyfin/jellyfin-web#388 Enable display mode setting
  • jellyfin/jellyfin-web#386 Change media info display
  • jellyfin/jellyfin-web#382 Fix homesection ‘On now’ display elements
  • jellyfin/jellyfin-web#381 Fix homesection programs button to go to correct page
  • jellyfin/jellyfin-web#380 Fix to enable tuner edit again
  • jellyfin/jellyfin-web#379 Add an ImageHelper class to consolidate frequently used icons
  • jellyfin/jellyfin-web#378 Add optional password field on user creation
  • jellyfin/jellyfin-web#377 Fix log issue from jellyfin/jellyfin-web#365
  • jellyfin/jellyfin-web#376 Fix adminDrawerLogo
  • jellyfin/jellyfin-web#375 Fix querySelector for Save metadata and images as hidden files
  • jellyfin/jellyfin-web#372 Add ‘Series’ button to Live TV menu off homesection
  • jellyfin/jellyfin-web#366 Minor fixes for section headers
  • jellyfin/jellyfin-web#365 Fix repeated automatic attempts to cast to a device
  • jellyfin/jellyfin-web#360 Small tweaks to the server settings
  • jellyfin/jellyfin-web#356 Fix certain elements getting incorrectly centered on firefox
  • jellyfin/jellyfin-web#353 Add proper styling to DlnaProfile and ScheduledTask pages
  • jellyfin/jellyfin-web#350 Move fanart provider to plugin
  • jellyfin/jellyfin-web#348 Fix firefox dropdown
  • jellyfin/jellyfin-web#343 Bundle npm dependencies using webpack
  • jellyfin/jellyfin-web#342 Add span class to fix a margin issue with some icons
  • jellyfin/jellyfin-web#339 Add editorconfig
  • jellyfin/jellyfin-web#337 Correction and translation of texts or words in spanish
  • jellyfin/jellyfin-web#336 Update purple haze theme and fix some unstyled elements
  • jellyfin/jellyfin-web#335 Always show options menu next to mouse
  • jellyfin/jellyfin-web#330 Merge current translations
  • jellyfin/jellyfin-web#327 Changes checkboxes focus appearance
  • jellyfin/jellyfin-web#326 Fix icon
  • jellyfin/jellyfin-web#325 Add some missing strings and remove gradients from themes
  • jellyfin/jellyfin-web#324 Change warning icons on dashboard to a bell instead of “pvr”
  • jellyfin/jellyfin-web#322 Fix secondery title position and show year on tv show ui
  • jellyfin/jellyfin-web#318 Add a response on icon hover and other style fixes
  • jellyfin/jellyfin-web#315 Move buttons to top right for custom scroll element
  • jellyfin/jellyfin-web#314 Initial support for keyboard navigation (for webOS remote etc.)
  • jellyfin/jellyfin-web#313 Improve the library page and dialog UX
  • jellyfin/jellyfin-web#312 Always show the start task button except on errors
  • jellyfin/jellyfin-web#307 Redirect when loading video player fails
  • jellyfin/jellyfin-web#300 Fix dashboard column & update purple haze
  • jellyfin/jellyfin-web#299 remove networking information from the dashboard
  • jellyfin/jellyfin-web#295 Add a round progress bar to purple haze theme
  • jellyfin/jellyfin-web#294 change cast & crew view to horizontal scroller
  • jellyfin/jellyfin-web#292 Fix some issues with the user preference page
  • jellyfin/jellyfin-web#278 New keyboard shortcuts
  • jellyfin/jellyfin-web#276 Fix text overflow not displaying ellipsis in cards
  • jellyfin/jellyfin-web#275 Add double click to fullscreen
  • jellyfin/jellyfin-web#272 Remove option to enable debug logging
  • jellyfin/jellyfin-web#271 Remove similar themes with accent changes
  • jellyfin/jellyfin-web#266 fix rounded progress bars
  • jellyfin/jellyfin-web#265 Update links for most of the old documentation
  • jellyfin/jellyfin-web#264 Fix Thumb rendering without thumbnails
  • jellyfin/jellyfin-web#251 Adding new Purple haze themes with rounded layout
  • jellyfin/jellyfin-web#241 Fix logout session storage
  • jellyfin/jellyfin-web#238 Remove unusable assets and update a string reference to connect
  • jellyfin/jellyfin-web#232 Replace more web archive buttons with new documentation
  • jellyfin/jellyfin-web#230 Remove unnecessary overflowY changes
  • jellyfin/jellyfin-web#229 Fix “Password Reset by PIN” page
  • jellyfin/jellyfin-web#224 Conversion to webpack - part5 - module resolution, data-require cleaned
  • jellyfin/jellyfin-web#220 Add subtitle synchronization on HTML video player