v3.3.0-rc.0
Warning
Disclaimer
This is a release candidate, not a stable release. It is subject to change and may contain bugs or breaking changes. As always, make sure you have a backup of your database and library before upgrading to this version.
Welcome to the first release candidate of v3.3; v3.3.0-rc.0! Keep reading below for the draft release notes and instructions on how to run this release candidate.
Release notes
Work-in-progress release notes can be found here:
https://pr-846.dev.immich.app/blog/v3.3.0-release
Server
To use this RC version on the server, update the IMMICH_VERSION in your .env file:
IMMICH_VERSION=v3.3.0-rc.0
or
IMMICH_VERSION=v3-rc
Then pull and restart:
docker compose pull && docker compose up -dMobile
To use this RC version on the mobile app, follow the appropriate link for your platform:
Android
You can download the APK in the release note below, or tap on "Join the beta" from the Google Play Immich page
iOS
The iOS app is available via Testflight: https://testflight.apple.com/join/JTSTucBd
If you run into any issues, please report them on GitHub so we can address them before the final release. Thank you for helping us test!
And as always, bugs are fixed, and many other improvements also come with this release.
What's Changed
🚀 Features
- feat(mobile): stack edited photos over the original on upload by @santoshakil in #31082
- feat: birthday memories by @alextran1502 in #30831
- feat: people management by @danieldietzler in #31620
- feat(ml): trt-rtx by @mertalev in #31863
🌟 Enhancements
- feat(web): improve non-Latin text rendering on the map by @meesfrensel in #31611
- feat: improved storage template onboarding by @bwees in #31531
- feat(web): default the activity log to show the latest by @nekorevend in #28938
- feat(server): linear-light resampling by @mertalev in #31236
- feat(web): add leave album action by @kojomba in #31768
- feat(ml): improve model loading by @mertalev in #31742
- feat(ml): optimized model inference by @mertalev in #31750
- feat: editors can update album title & description by @jrasm91 in #31805
- feat(server): add support for .jfif files by @Trithereon in #31778
- feat: memory UI for birthday by @alextran1502 in #31798
- fix(server): use GeoNames for reverse-geocoded country names by @rufusutt in #30199
- feat: extract manufacturer and device for samsung videos by @jonastahl in #29375
- feat(server): sync OAuth claims on login (#8073) by @thomasdelorge in #29013
🐛 Bug fixes
- fix(ml): read CLIP model configs as UTF-8 by @justadityaraj in #31075
- fix(web): face editor coordinates on a not-yet-loaded video by @bo0tzz in #31083
- fix(mobile): handle transient loading states for map timelines by @agg23 in #29735
- fix(mobile): keep the original filename when sharing downloaded assets by @santoshakil in #30267
- fix(mobile): refresh server info when the websocket connects by @santoshakil in #31144
- fix: do not move faces of users other than the current owner by @danieldietzler in #31145
- fix(server): allow an empty assetIds array when creating an album shared link by @ufukdev in #31098
- fix: Build SDK in dev container by @Pecacheu in #31096
- fix(web): interaction with some filter elements closes the search panel by @alextran1502 in #31107
- fix(server): never unlink an untracked-file path that an asset now references by @justadityaraj in #31074
- fix: incorrect edit's openapi type by @alextran1502 in #31218
- fix(ml): race when submitting to rknn execution queue by @swbchangle in #31143
- fix(web): album date range formatting by @meesfrensel in #28564
- fix: face detection of edited assets by @danieldietzler in #31240
- fix(mobile): prevent inner mutability on Freezed classes by @agg23 in #31229
- fix(web): partner sharing timeline by @yranandika05 in #31241
- fix(mobile): use timeline scroll velocity to add placeholders by @agg23 in #29443
- fix(ml): openvino config has unnecessary devices and volumes by @mertalev in #31253
- fix(mobile): refresh the memory lane after resume by @santoshakil in #31239
- fix(mobile): make shared link download toggle depend on metadata toggle by @arth3mis in #31264
- fix(mobile): rewrite slideshow controller system by @agg23 in #30771
- fix(server): live photo transcode visibility by @jake-bybee in #31319
- fix(web): word-wrap long album names by @meesfrensel in #31265
- fix(web): use RTL-friendly layout for people panel buttons by @meesfrensel in #31266
- fix(mobile): hide negative age by @YarosMallorca in #31341
- fix: memory page navigation by @danieldietzler in #31334
- fix(web): change "View asset owners" to "Hide asset owners" when enabled by @jithendrabathala in #31393
- fix(server): vacuum after migrations, concurrent reindex by @mertalev in #31424
- fix: show partner assets on people page by @danieldietzler in #31435
- fix(web): asset remains in timeline after archive by @YarosMallorca in #31348
- fix(web): preserve search type by @YarosMallorca in #31394
- fix: sync client disconnect by @jrasm91 in #31461
- fix(web): scroll timeline to top when navigating without a scroll target by @timonrieger in #31464
- fix(web): show full path on hover in duplicates utility by @timonrieger in #31468
- fix: honor memory filters on explore page by @danieldietzler in #31540
- fix: face label clipping (again) by @danieldietzler in #31402
- fix: feature face update ignores soft-deleted faces by @danieldietzler in #31533
- fix: put back search untagged button by @alextran1502 in #31476
- fix: reset shouldChangePassword on password change by @shenlong-tanwen in #31276
- fix: metadata extraction of faces by @danieldietzler in #31551
- feat: people merge improvements by @danieldietzler in #31456
- fix: make local album provider reactive by @shenlong-tanwen in #31582
- fix: skip faces of other users when reassigning faces by @danieldietzler in #31580
- fix(web): trim strings before searching/comparing by @meesfrensel in #31614
- fix(mobile): load more than one image on Android with Remove animations by @agg23 in #31587
- fix(mobile): make EXIF provider reactive by @agg23 in #31552
- fix: set limit maximum zoom in asset viewer by @TokenLimitExceeded in #31609
- feat: asset face v3 by @jrasm91 in #31591
- fix(mobile): fill video placeholder to prevent flicker on open by @LeLunZ in #31621
- fix(mobile): show the real date for android local photos with no exif by @santoshakil in #29193
- fix(mobile): prevent live photo from getting stuck during dismiss animation by @LeLunZ in #28080
- fix(mobile): sync status page goes blank when the counts query fails by @santoshakil in #31642
- perf: faster server cold start by @holoskii in #31630
- fix(web): correct memory title date by @Dhruthiya in #31643
- fix(mobile): clamp out of range datetimes so timeline queries cannot crash by @santoshakil in #30490
- fix(web): scrollable search dropdown on mobile web by @meesfrensel in #31634
- fix(web): queue buttons focus outline by @meesfrensel in #31657
- fix(mobile): ios clear file cache feedback by @yranandika05 in #31401
- fix(mobile): prevent SurfaceLayer crashing on maps in Viewer on Android by @agg23 in #31709
- fix: preserve scroll position on memories page by @YarosMallorca in #31588
- fix(server): compare integrity paths independently of unicode normalization by @justadityaraj in #31102
- fix(mobile): retry the background backup when connectivity is restored by @santoshakil in #30909
- fix(web): refresh people after setting person thumbnail by @meesfrensel in #31744
- fix: save user_version in migration transaction by @shenlong-tanwen in #31039
- fix(mobile): play the server copy when the local video file cannot be read by @santoshakil in #31606
- fix(mobile): resume after the app was launched in the background by @santoshakil in #31557
- fix(web): prevent race when editing album description during upload by @dikshit-n in #31758
- fix(server): attach error handler to accepted sockets to prevent crash on connection reset by @aashish00021 in #31079
- fix(mobile): ask before deleting local only photos on android 10 and below by @santoshakil in #31146
- fix(web): remember selected search type by @DawidKrynski in #31799
- fix: face bounding box label alignment by @danieldietzler in #31793
- fix(server): incorrect scaling of rotated videos when transcoding by @fabxyz in #31473
- fix(web): keep other comments visible when deleting a comment by @DawidKrynski in #31848
- fix(server): write tag updates to exif table by @jorbrock in #31425
- fix(server): exclude hidden assets from large files search by @bo0tzz in #31479
- fix: favorite workflow step description by @xCJPECKOVERx in #31840
- fix(ml): stricter typing and request validation by @mertalev in #31856
- fix(server): emit sidecarwrites and assetupdates consequently by @meesfrensel in #31777
- fix: library watcher should respect ignore patterns by @etnoy in #31418
- fix: email template by @danieldietzler in #31859
📚 Documentation
- chore(docs): deprecate outlook SMTP by @mmomjian in #31139
- feat: new FAQ entries by @bo0tzz in #31227
- fix(docs): add needed mobile app developer setup step by @arth3mis in #31263
- docs(server): document the UTC timestamp format for timeBucket by @alangrainger in #31421
- chore(docs): add note about opening issues to contributing by @meesfrensel in #31607
- docs: link to the docker compose builder by @bo0tzz in #31610
- fix: page path in better face clusters guide by @bo0tzz in #31671
- docs: document locked folder session behaviour by @howroyd in #31735
- docs: update backup settings menu path to Database Dump Settings by @MalibThalion in #31270
🌐 Translations
New Contributors
- @ufukdev made their first contribution in #31098
- @Pecacheu made their first contribution in #31096
- @swbchangle made their first contribution in #31143
- @yranandika05 made their first contribution in #31241
- @arth3mis made their first contribution in #31264
- @maximal made their first contribution in #31304
- @jake-bybee made their first contribution in #31319
- @jithendrabathala made their first contribution in #31393
- @TokenLimitExceeded made their first contribution in #31609
- @holoskii made their first contribution in #31630
- @lg114 made their first contribution in #31654
- @Dhruthiya made their first contribution in #31643
- @howroyd made their first contribution in #31735
- @dikshit-n made their first contribution in #31758
- @aashish00021 made their first contribution in #31079
- @nekorevend made their first contribution in #28938
- @kojomba made their first contribution in #31768
- @DawidKrynski made their first contribution in #31799
- @Trithereon made their first contribution in #31778
- @fabxyz made their first contribution in #31473
- @rufusutt made their first contribution in #30199
- @avaly made their first contribution in #31770
- @MalibThalion made their first contribution in #31270
- @jonastahl made their first contribution in #29375
- @thomasdelorge made their first contribution in #29013
Full Changelog: v3.2.4...v3.3.0-rc.0