v1.113.0
Warning
Breaking changes
For OAuth users, please replace app.immich:/
with app.immich:///oauth-callback
for the Redirect URI in your OAuth provider settings
Highlights
Welcome to release v1.113.0
of Immich! This is one of the biggest releases yet, introducing some of the most requested features since the early days of Immich. Let's dive right into what we have in place for this release:
- Folder view
- Tags
- Timeline improvements
- Library refresh stability
- Mobile album sync
Folder view
You can now browse your photos and videos by folder like in a file explorer. You can use the storage template migration feature for the best experience with uploaded assets in this view.
This feature is especially useful for scanned photos, which are difficult to put in a timeline. It has been a long-requested feature.
You can enable this feature from the Users Settings > Features > Folders
.
The UI is currently only available for the web; mobile will come in a subsequent release.
Tags
Immich now supports hierarchical tags, with the ability to read existing tags from the TagList
and Keywords
exif properties. Any changes to tags made through Immich are also written back to a sidecar file. You can re-run the metadata extraction jobs for all assets to import your existing tags.
You can enable this feature from the Users Settings > Features > Tags
.
The UI is currently only available for the web; mobile will come in a subsequent release.
tag-operations-1.mp4
Timeline improvements
This release introduces a rewrite of the web timeline component. It can now handle a large number of assets in a single day or month and has been successfully tested with a very large data set (over a million assets). Photographers frequently request this since they can easily take thousands of photos in a given day.
With these performance improvements, you'll see fewer placeholders while loading, which will make for a more fluid scrolling and scrubbing experience.
Library refresh stability
In relation to the previous point, the stability of library scanning has improved. Previously, you could run out of memory when starting a refresh with libraries containing millions of assets. Now, we queue the refresh jobs in batches. These enhancements won't make scanning go any faster, but they greatly reduce the likelihood of out-of-memory errors that would cause Immich to crash.
Mobile album sync
You can now sync or mirror an album from your phone to the Immich server on your account. For example, if you select Recents
, Camera
and Videos
album for backup, the corresponding album with the same name will be created on the server. Once the assets from those albums are uploaded, they will be put into the target albums automatically.
You can enable this feature from the album selection in the backup screen.
For existing installations, you can sync the already uploaded assets by going to the backup screen and pressing the Sync
button.
Have a wonderful weekend,
Cheers!
Support Immich
If you find the project helpful, you can support Immich by purchasing a product key at https://buy.immich.app.
Cheers! 🍻
What's Changed
🚨 Breaking Changes
- feat(server): granular permissions for api keys by @jrasm91 in #11824
- refactor(server): stacks by @jrasm91 in #11453
- fix(server): album statistics endpoint by @jrasm91 in #11924
- fix: remove
asset.resized
by @jrasm91 in #11983 - fix(mobile): use a valid OAuth callback URL by @qrkourier in #10832
🚀 Features
- feat: folder view by @davidakerr in #11880
- feat(web): Scroll to asset in gridview; increase gridview perf; reduce memory; scrollbar ticks in fixed position by @midzelis in #10646
- feat: loading screen, initSDK on bootstrap, fix FOUC for theme by @midzelis in #10350
- feat(mobile): preserve mobile album info on upload by @alextran1502 in #11965
- feat: tags by @jrasm91 in #11980
- feat(web): jump to timeline by @alextran1502 in #12117
🌟 Enhancements
- feat(server): do not automatically download android motion videos by @jrasm91 in #11774
- feat(web): pasting coordinates by @michelheusschen in #11866
- feat(web): drag and drop or paste directories for upload by @simkli in #11879
- feat(web): Left hand navigation for memories by @carlesalbasboix in #11913
- feat(web): my immich shortcut by @danieldietzler in #12007
- fix(web): show a clearer confirmation message when deleting an unnamed album by @Snowknight26 in #11988
- feat(format): nrw format by @avsm in #12048
- feat(web): restore scroll position on navigating back to search page by @alextran1502 in #12042
- feat(server): Storage template support album condition by @feyst in #12000
- fix(mobile): Changes in the UI for the image editor pages by @Yuvi-raj-P in #12018
- feat(web): announce notifications to screen readers by @ben-basten in #12071
- fix(server): don't crash when refreshing large libraries by @etnoy in #7934
- feat(server): sort images in duplicate groups by date by @GeoffreyFrogeye in #12094
- feat(ml): support dynamic scaling by @rkojedzinszky in #12065
- feat(web): navigate assets with gestures (next/prev) by @kaziu687 in #11888
- fix(mobile): allow create empty non-shared albums, add proper button colors by @src52 in #12103
- feat: user's features preferences by @alextran1502 in #12099
- chore(server): log path when generating external thumbnail by @etnoy in #12107
🐛 Bug fixes
- fix(web): focus trap inside portal by @michelheusschen in #11797
- fix(mobile): show correct notification icon for android by @karthikraja001 in #11863
- fix(web): show camera make in search options after searching by @michelheusschen in #11884
- fix(web): correctly populate the camera model search dropdown by @Snowknight26 in #11883
- fix(server): create shared album from the mobile app does not trigger send email invite by @alextran1502 in #11911
- fix(server): do not match live photos across libraries by @jrasm91 in #11952
- fix(web): rating stars accessibility by @ben-basten in #11966
- fix(mobile): Fix for incorrectly naming edited files and structure change by @Yuvi-raj-P in #11741
- fix: align camera model drop down behavior with other drop downs on web and mobile by @x24git in #11951
- fix(web): announce current theme to screen reader users by @ben-basten in #12039
- fix(web): show supporter badge for account less than 14 days by @alextran1502 in #12058
- fix(web): shared link expiration date accessibility by @ben-basten in #12060
- chore(web): ignore shortcut toggle when entering email and password by @alextran1502 in #12082
- chore(web): ensure goto is awaited for login page by @alextran1502 in #12087
- fix(server): ensure new exclusion patterns work by @etnoy in #12102
- fix(server): skip smtp validation if unchanged by @michelheusschen in #12111
- fix(mobile): long waiting time for login request when server is unreachable by @alextran1502 in #12100
- fix: user specific fields in asset search by @jrasm91 in #12125
- fix(web): Device list shows Ubuntu as unknown OS by @spfncer in #12127
- fix(web): reset asset grid after changing album order by @michelheusschen in #12139
📚 Documentation
- fix(docs): read-only affects XMP writing by @C-Otto in #11823
- docs: clarify external domain setting by @pikapower9080 in #11958
- docs: add Immich Kiosk and Immich Power Tools to Community Projects by @Tyree in #12055
- docs: mTLS/self signed FAQ entry by @mmomjian in #12074
- docs: external library deletion/edits by @mmomjian in #12079
- docs: sql query for duplicate files by @mmomjian in #12086
- docs: Documentation updates by @aviv926 in #11516
- docs: update roadmap by @jrasm91 in #12126
- fix: README_zh_CN.md link by @ttzytt in #12124
- docs(guide): nginx caching proxy by @pcouy in #12140
New Contributors
- @aaronjrodrigues made their first contribution in #11851
- @karthikraja001 made their first contribution in #11863
- @simkli made their first contribution in #11879
- @carlesalbasboix made their first contribution in #11907
- @pikapower9080 made their first contribution in #11958
- @davidakerr made their first contribution in #11880
- @x24git made their first contribution in #11951
- @Tonux599 made their first contribution in #12027
- @avsm made their first contribution in #12048
- @Tyree made their first contribution in #12055
- @feyst made their first contribution in #12000
- @Tiefseetauchner made their first contribution in #11874
- @qrkourier made their first contribution in #10832
- @GeoffreyFrogeye made their first contribution in #12094
- @rkojedzinszky made their first contribution in #12065
- @kaziu687 made their first contribution in #11888
- @src52 made their first contribution in #12103
- @spfncer made their first contribution in #12127
- @ttzytt made their first contribution in #12124
Full Changelog: https://github.com/immich-app/immich/compare/v1.112.1...