12.0 RC3
Pre-release🚀 Jellyfin Web 12.0 RC3
We are pleased to announce the third release candidate preview release of Jellyfin 12.0!
This is a preview release, intended for those interested in testing 12.0 before it's final public release. We welcome testers to help find as many bugs as we can before the final release.
As always, please ensure you stop your Jellyfin server and take a full backup before upgrading!
A note about versioning
Starting with this release, we are dropping the preceding 10. from our versioning. Thus, 10.11.x -> [10.]12.x = 12.x. The reason is simple: at this point in the project, we don't envision a hard break in the API like we planned way back in the early days, and this version scheme was causing a lot of confusion amongst users about what a "major" release was. For more information, please see the RC1 release notes.
What's new?
The main goal of this release has been performance. 10.11.0 dropped a major backend rewrite, and while it was broadly functional, it had a lot of rough edges. This release seeks to polish out most of those rough edges and bring better performance to all users.
There are many other small fixes, improvements, changes, and translations. See our draft release notes here or below for the full list of pull requests. You can also view the Server side changelog here.
Note: You must be on Jellyfin 10.10.7+ or 10.11.x (ideally, 10.11.11) before upgrading! If you are not, the upgrade will fail. Ensure you upgrade to one of these versions first!
Note: The initial load of Jellyfin 12.x will run a few migrations and will take several minutes. Please be patient and do not interrupt the process. You can leverage the (newly improved!) startup UI on your local network to see specific progress, or off-network to see general progress, by visiting the server URL in your web browser during startup.
Note: If you install the RC, you should disable all external plugins and reinstall using the unstable plugin repository, or plugins may fail to load and cause unintended side effects.
Installing
This preview release is distributed in all our traditional forms, though not automatically via our Apt repository or latest tag.
- For all non-Docker environments, you can find the files for manual download in our repository by selecting "Stable Preview" for your OS.
- For Docker, you can pull the
12.0-rc3orpreviewtags.
What's Changed (since v12.0-rc2)
- Rewrite
assign-inexpression by @timreichen in #7073 - Fix queued theme videos lose aspect-ratio by @aw-wrede in #7861
- Allow sorting books by index number by @AlkyoneAoide in #7482
- Disable image selection buttons when clicked to prevent OOB by @Mumbolio85 in #8033
- Restore OSD header's background in experimental mode by @shindouj in #8081
- Cleanup Api instance retrieval by @thornbill in #8110
- Add chapter name inside osd slider bubble by @will-blk in #7798
- Rename experimental and stable apps by @thornbill in #8113
- Add collections to item details page by @XSAM in #7972
- Update dependency @babel/core to v7.29.6 [SECURITY] by @renovate[bot] in #8070
- Update dependency webpack-dev-server to v5.2.5 [SECURITY] by @renovate[bot] in #7933
- Update dependency postcss to v8.5.10 [SECURITY] by @renovate[bot] in #7872
- Update dependency markdown-it to v14.2.0 [SECURITY] by @renovate[bot] in #8061
- Update dependency hls.js to v1.6.16 by @renovate[bot] in #8114
- Update Babel to v7.29.7 by @renovate[bot] in #8115
- Update CI dependencies - autoclosed by @renovate[bot] in #8116
- Update dependency @jellyfin/sdk to v0.0.0-unstable.202606300624 by @renovate[bot] in #8118
- Update dependency caniuse-lite to v1.0.30001799 by @renovate[bot] in #8119
- Update dependency postcss to v8.5.15 by @renovate[bot] in #8123
- Update dependency es-check to v9.6.4 by @renovate[bot] in #8121
- Update dependency idb-keyval to v6.2.5 by @renovate[bot] in #8122
- Update Linters by @renovate[bot] in #8124
- Update dependency cssnano to v7.1.9 by @renovate[bot] in #8120
- Update dependency autoprefixer to v10.5.1 by @renovate[bot] in #8127
- Update dependency axios to v1.18.1 by @renovate[bot] in #8128
- Update dependency globals to v17.7.0 by @renovate[bot] in #8129
- Update dependency swiper to v12.2.0 by @renovate[bot] in #8130
- Update Sass by @renovate[bot] in #8131
- Fix mobile/dektop layout modes using legacy in apps by @thornbill in #8138
- Fix item details backdrop position on mobile by @thornbill in #8139
- Improve styling of person cards in purple haze theme by @thornbill in #8140
- Use loading indicator on button when scan is in progress by @thornbill in #8142
- Update Webpack by @renovate[bot] in #8126
- Update React by @renovate[bot] in #8125
- Update dependency vitest to v3.2.6 by @renovate[bot] in #8117
- Update dependency jsdom to v29 by @renovate[bot] in #7758
- Update dependency autoprefixer to v10.5.2 by @renovate[bot] in #8144
- Update dependency @jellyfin/sdk to v0.0.0-unstable.202607010629 by @renovate[bot] in #8143
- Update tanstack-query monorepo to v5.101.1 by @renovate[bot] in #8146
- Update actions/checkout action to v7 by @renovate[bot] in #8147
- Fix cast menu being empty when no targets available by @MBR-0001 in #8135
- Fix position of subtitle sync by @dmitrylyzo in #8153
- Refactor appletv theme to use base theme by @thornbill in #8154
- Decouple gamepadtokey repeat rate from framerate by @brad1111 in #7996
- Filter movie suggestions by the current library by @Jian-Zhang08 in #8102
- Fix scroll icon color for light themes by @thornbill in #8156
- Update dependency @jellyfin/sdk to v0.0.0-unstable.202607081347 by @renovate[bot] in #8150
- Update dependency caniuse-lite to v1.0.30001800 by @renovate[bot] in #8174
- Update dependency idb-keyval to v6.2.6 by @renovate[bot] in #8177
- Update dependency postcss to v8.5.16 by @renovate[bot] in #8178
- Bump ws from 8.19.0 to 8.21.0 by @dependabot[bot] in #8175
- Update dependency @jellyfin/sdk to v0.0.0-unstable.202607090422 by @renovate[bot] in #8183
- Update tanstack-query monorepo to v5.101.2 by @renovate[bot] in #8184
- Update dependency markdown-it to v14.3.0 by @renovate[bot] in #8185
- Refactor useMovieRecommendations hook by @thornbill in #8171
- Fix forgot password route in modern layout by @thornbill in #8198
- Swap position of item count and play all controls in library toolbar by @thornbill in #8196
- Make app bar padding consistent with content by @thornbill in #8195
- Update CI dependencies by @renovate[bot] in #8186
- Update actions/dependency-review-action action to v5 by @renovate[bot] in #8148
- Update Webpack by @renovate[bot] in #8203
- Update cloudflare/wrangler-action action to v4 by @renovate[bot] in #8204
- Fix card footer padding by @thornbill in #8208
- Update dependency @jellyfin/sdk to v0.0.0-unstable.202607141554 by @renovate[bot] in #8202
- Fix invalid request for all items on page load by @thornbill in #8213
- Rollback tanstack to working version by @thornbill in #8215
- Fix missing unaired filter submission by @Shadowghost in #8166
- Use sdk version number utility functions by @thornbill in #8217
- Update dependency caniuse-lite to v1.0.30001803 by @renovate[bot] in #8216
- Update Vitest to v3.2.7 by @renovate[bot] in #8218
- Update actions/setup-node action to v6.5.0 by @renovate[bot] in #8219
- Fix react query error by always returning a value by @thornbill in #8224
- Add version restore warning by @theguymadmax in #8232
- migrate comics and PDFs to new BookOsd component by @dkanada in #8004
- Expose used SeriesName for Books in Metadata Editor by @jordanmichaelrushing in #8164
- Fix dark icons on card hover in light themes by @thornbill in #8188
- Enable iOS background play when screen is turned off by @jordanmichaelrushing in #8211
- Feature: Add filters for audio and subtitle languages (modern layout only) by @TheMelmacian in #8158
- Fix SyncPlay ping never being reported to the server by @riseprometheus in #8201
- Fix episode image handling in recently added by @Shadowghost in #8181
New Contributors
- @timreichen made their first contribution in #7073
- @aw-wrede made their first contribution in #7861
- @AlkyoneAoide made their first contribution in #7482
- @Mumbolio85 made their first contribution in #8033
- @shindouj made their first contribution in #8081
- @will-blk made their first contribution in #7798
- @XSAM made their first contribution in #7972
- @Jian-Zhang08 made their first contribution in #8102
- @jordanmichaelrushing made their first contribution in #8164
- @riseprometheus made their first contribution in #8201
Full Changelog: v12.0-rc2...v12.0-rc3