Skip to content

Releases

v3.4.0-rc.2

v3.4.0-rc.2 Pre-release
Pre-release

Choose a tag to compare

@immich-push-o-matic immich-push-o-matic released this 04 Nov 21:47

v3.4.0-rc.2

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 second release candidate of v3.4; v3.4.0-rc.2! This release exclusively contains bug fixes. 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-934.dev.immich.app/blog/v3.4.0-release

Machine Learning

Set MACHINE_LEARNING_MODEL_REVISION=v2 to take full advantage of the memory usage and performance improvements in this release.

Server

To use this RC version on the server, update the IMMICH_VERSION in your .env file:

IMMICH_VERSION=v3.4.0-rc.2

or

IMMICH_VERSION=v3-rc

Then pull and restart:

docker compose pull && docker compose up -d

Mobile

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

image

iOS

The iOS app is available via Testflight: https://testflight.apple.com/join/JTSTucBd

image

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

🐛 Bug fixes

New Contributors

Full Changelog: v3.4.0-rc.1...v3.4.0-rc.2

v3.3.6

Choose a tag to compare

@immich-push-o-matic immich-push-o-matic released this 04 Nov 17:24

Unfortunately we missed that onnxruntime enabled telemetry by default in a recent release, resulting in the ML container automatically sending anonymous metric data to Microsoft. We have now disabled it. Apologies to everyone that we did not catch this change immediately, and thanks to our community for flagging it!

What's Changed

🐛 Bug fixes

New Contributors

Full Changelog: v3.3.5...v3.3.6

v3.4.0-rc.1

v3.4.0-rc.1 Pre-release
Pre-release

Choose a tag to compare

@immich-push-o-matic immich-push-o-matic released this 30 Oct 17:53

v3.4.0-rc.1

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.4; v3.4.0-rc.1 (yeah yeah, we had to sacrifice a release again)! 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-934.dev.immich.app/blog/v3.4.0-release

Server

To use this RC version on the server, update the IMMICH_VERSION in your .env file:

IMMICH_VERSION=v3.4.0-rc.1

or

IMMICH_VERSION=v3-rc

Then pull and restart:

docker compose pull && docker compose up -d

Mobile

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

image

iOS

The iOS app is available via Testflight: https://testflight.apple.com/join/JTSTucBd

image

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

🔒 Security

  • fix(server): apply shared link metadata visibility in asset mapper by @bo0tzz in #32561
  • fix(server): anchor plugin allowedHosts matching by @bo0tzz in #32560
  • fix(server): require upload access for checksum duplicate check by @bo0tzz in #32559
  • fix(server): escape template variables in custom email templates by @bo0tzz in #32563
  • fix(cli): only act on files that were sent in the bulk upload check by @bo0tzz in #32564
  • fix(server): restrict partner timeline requests to timeline assets by @bo0tzz in #32565
  • fix(server): sanitize EXIF template variables and tighten storage path check by @bo0tzz in #32566
  • fix(server): only serve edited assets to shared links in archive downloads by @bo0tzz in #32562
  • fix(server): only set OAuth cookies for server-generated state by @bo0tzz in #32600
  • fix(server): do not expose album members to shared link viewers by @bo0tzz in #32607
  • fix(server): dont follow symlinks by @etnoy in #32614
  • fix(server): exclude partners' locked assets from legacy search by @bo0tzz in #32604
  • feat(server): remove deprecated password field from update-me by @bo0tzz in #32623
  • fix(server): require update access on the motion video when linking a live photo by @bo0tzz in #32606
  • feat: inline hashes in helmet CSP by @bo0tzz in #30529
  • fix(server): scope duplicate group resolution to the caller's assets by @bo0tzz in #32603

🚀 Features

🌟 Enhancements

🐛 Bug fixes

Read more

v3.3.5

Choose a tag to compare

@immich-push-o-matic immich-push-o-matic released this 21 Oct 18:12

Caution

This version contains a fix for today's CA compromise (https://emudhra.we-have-a-problem.com/) as well as some nodejs security patches. While we don't believe this compromise brings an immediate danger to Immich instances, we still recommend that you update as soon as possible.

https://xkcd.com/221/

What's Changed

🔒 Security

  • chore(deps): update python docker digests by @bo0tzz in #32635
  • chore(deps): update dependency certifi to v2026.10.19 by @bo0tzz in #32636

Full Changelog: v3.3.4...v3.3.5

v3.3.4

Choose a tag to compare

@immich-push-o-matic immich-push-o-matic released this 20 Oct 10:18

Turns out the last people performance fix wasn't quite there for some people. We have now finally resolved that issue.

What's Changed

🐛 Bug fixes

Full Changelog: v3.3.3...v3.3.4

v3.3.3

Choose a tag to compare

@immich-push-o-matic immich-push-o-matic released this 14 Oct 16:56

Well, you know how it goes... Misclick once and a release is sacrificed 😅 The second patch release v3.3.3 has some more bug fixes, notably a major performance improvement for the explore page.

What's Changed

🐛 Bug fixes

Full Changelog: v3.3.1...v3.3.3

v3.3.1

Choose a tag to compare

@immich-push-o-matic immich-push-o-matic released this 08 Oct 21:52

This patch addresses various bugs around people sharing, as well as a scroll issue on mobile. Further, there is now an indicator showing which people are shared.

What's Changed

🌟 Enhancements

🐛 Bug fixes

📚 Documentation

  • docs: document persistent QNAP database storage by @yuhuan417 in #32222
  • docs: Add MACHINE_LEARNING_MODEL_REVISION variable to docs by @JPar99 in #32221

🌐 Translations

New Contributors

Full Changelog: v3.3.0...v3.3.1

v3.3.0

Choose a tag to compare

@immich-push-o-matic immich-push-o-matic released this 07 Oct 18:37

v3.3.0

Note

We're collecting feedback related to people sharing in this discussion: https://github.com/immich-app/immich/discussions/32196

Welcome to Immich v3.3.0!

This release includes people sharing, birthday memories, auto-stacked mobile edits, and a variety of other enhancements and bug fixes. Keep reading below for the full list of highlights.

Highlights

  • Shared people management
  • Birthday memories
  • Auto-stacked mobile edits
  • Sync OAuth claims on every login
  • Higher quality thumbnails and previews
  • Machine learning performance and accuracy improvements (opt-in)
  • New OCR models
  • Notable fix: correct storage size on MacOS

Shared people management

We are very pleased to release the next big milestone towards better sharing: people can now be shared!

As a user you can share people with another user in your cluster group:

Note

The “Manage access” modal can be opened from both the “People” (/people) and “Sharing settings” (/user-settings) pages in the web application. The modal is not available on mobile, yet.

When sharing a person with another user, the shared person:

  • Shows up in both users’ list of people (on mobile and web)
  • Shows up in the asset viewer / asset detail view on both owned and shared assets
  • Can be edited by both users (only the name & birth date fields)

Note

Person sharing is directional. This means that each user needs to share each person back for edits to automatically work in both directions.

By default, changes to the name & date of birth are reflected for both users. On the web, the “Edit person” modal has an option to change the name/date of birth for “Only me” instead of the whole group.

Also, there is a preference for this behavior in the “Sharing settings”, which can be changed to make this the default behavior when editing a person. The setting can be changed here: https://my.immich.app/user-settings?isOpen=feature+people.

The setting has two options:

  • “Everyone with shared access” — means an update will apply for everyone, covering the typical family use case where one or two users are supposed to be responsible for the entire family's people.
  • “Only me” — means the names and dates of births will remain unchanged for other users

Lastly, by allowing cross-user merging, you can now merge a face from your own assets with people shared with you from other users. This is especially helpful if you didn't want to re-run facial recognition after joining a cluster group before. Now, after setting up bi-directional sharing, users can manually link people together.

Birthday memories

In an effort of making Immich more joyful to use, we are introducing memories for people's birthdays.

If it's the birthday of a person in your library, Immich will now celebrate that with a special memory featuring previous birthdays.

Auto-stacked mobile edits

When using something other than Immich for editing images on your phone, Immich will now stack those edits on top of the original. This allows for Immich to show all edits in one place, without cluttering the timeline.

This should provide a more organized timeline, especially when you heavily rely on editing assets on your phone.

Sync OAuth claims on every login

Immich supports OAuth claims for storage quota, the user role, and the preferred username. Up until now, those were only synced on registration.

Now, they can be synced on every login, allowing you to do active user management through your IDP, updating quotas and roles as you go and as necessary, and Immich will adopt those changes.

Higher quality thumbnails and previews

Immich now uses a more accurate image resampling method, improving detail preservation and brightness, especially for high contrast details. All image formats benefit from this change.

Before

After

Thumbnails already generated before this release won’t be affected by this change. To make it apply to existing thumbnails, you can run thumbnail generation on all assets in the job panel.

Machine learning performance and accuracy improvements (opt-in)

Note

We have re-exported and published the same machine learning models in an optimized format. This means they can be used as-is and do not require re-running any jobs. Opt-in to the revised machine learning models by adding the following environment variable to the machine learning container: MACHINE_LEARNING_MODEL_REVISION=v2.

After a long list of optimizations, ML is both significantly faster and uses less memory. This affects every backend, including CPU inference. However, the level of improvement varies by model and backend. Cases where certain backends (such as OpenVINO) produced wrong outputs at times should be resolved.

RKNPU, used by Rockchip boards, now supports every model in the catalog including OCR for the first time, bringing it to parity with other backends. Additionally, TensorRT RTX is now used for Ampere (30xx) and newer NVIDIA GPUs, improving performance significantly.

To fully benefit, set MACHINE_LEARNING_MODEL_REVISION=v2to allow more optimized models to be downloaded and used. Many of the improvements rely on these optimized models and will not take effect when using the old ones. The outputs of the new and old models are numerically equivalent, so switching doesn’t require re-running any tasks. This setting will be the default in a later release.

As always, keep in mind that the very first time you load a model requires more preparation work, so don’t be surprised if it takes some time at first. This preparation is cached and reused, so loading the model will be much faster after the first time.

New OCR models

The PP-OCRv6 family is now supported. These models are significantly more accurate than the previous PP-OCRv5 generation while all being multilingual. PP-OCRv6_tiny is efficient and suitable for modest hardware, PP-OCRv6_small is a notable jump in accuracy compared to PP-OCRv5_mobile, and PP-OCRv6_medium improves on PP-OCRv5_server as the highest quality and most demanding option.

Notable fix: correct storage size on MacOS

The block size used to calculate the storage capacity and usage has some nuances to it. In some situations (*cough* Docker on MacOS *cough*), we didn’t have enough information to correctly compute accurate values. With this release, the reported storage usage and capacity should now be correct.

Technical details

Recent NodeJS releases now expose the frsize property, which is sometimes different from bsize (“block size”). In those cases the calculate storage sizes could often be off by a factor of4096 (or more). In fact, #4318 has been our fourth oldest open issue (including the renovate dashboard), opened just over three years ago. Now, with accurate block sizes our storage calculation should be correct, even in Docker on MacOS.

We are very happy to finally see this issue resolved, even though it only meant a dependency bump and a tiny code change for us.

As always, please consider supporting the project.

🎉 Cheers! 🎉

Support Immich

If you find the project helpful, you can support Immich by purchasing a product key at https://buy.immich.app or our merchandise at https://immich.store


What's Changed

🚀 Features

🌟 Enhancements

Read more

v3.3.0-rc.2

v3.3.0-rc.2 Pre-release
Pre-release

Choose a tag to compare

@immich-push-o-matic immich-push-o-matic released this 02 Oct 17:29

v3.3.0-rc.2

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 third release candidate of v3.3; v3.3.0-rc.2! Some more features, person sharing improvements, and bug fixes. This will likely be the last RC before the v3.3 release. 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

Machine Learning

Set MACHINE_LEARNING_MODEL_REVISION=v2 to take full advantage of the memory usage and performance improvements in this release.

Server

To use this RC version on the server, update the IMMICH_VERSION in your .env file:

IMMICH_VERSION=v3.3.0-rc.2

or

IMMICH_VERSION=v3-rc

Then pull and restart:

docker compose pull && docker compose up -d

Mobile

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

image

iOS

The iOS app is available via Testflight: https://testflight.apple.com/join/JTSTucBd

image

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

🌟 Enhancements

  • feat(web): add shortcut to remove assets from an album by @immich-push-o-matic[bot] in #32015

🐛 Bug fixes

  • fix(ml): serialize trt-rtx sessions by @immich-push-o-matic[bot] in #31963
  • fix(ml): widen empty half-precision arrays by @immich-push-o-matic[bot] in #31962
  • fix(server): make library exclusion matching consistently case-insensitive by @immich-push-o-matic[bot] in #31973
  • fix: storage usage display on virtiofs and alike by @immich-push-o-matic[bot] in #31983
  • fix: stale memory thumbnail by @immich-push-o-matic[bot] in #31977
  • fix(server): include album owner for album shared links by @immich-push-o-matic[bot] in #31990
  • fix(mobile): face thumbnail stuck blank after renaming a person by @immich-push-o-matic[bot] in #32001
  • fix(mobile): make the iOS background batch wait for its remote sync by @immich-push-o-matic[bot] in #32003
  • fix(mobile): don't start the foreground backup in iOS background launches by @immich-push-o-matic[bot] in #32002
  • fix(mobile): don't re-upload a photo the server already has by @immich-push-o-matic[bot] in #32004
  • fix(mobile): image jumps when full-res image loads during pinch or zoom animation by @immich-push-o-matic[bot] in #32011
  • fix(ml): upgrade to openvino 2026.4.1 by @immich-push-o-matic[bot] in #32020
  • fix(cli): sidecar precedence by @immich-push-o-matic[bot] in #32021
  • fix: metadata extraction for media streams with unknown profile by @immich-push-o-matic[bot] in #32023
  • fix: assetTagFilter any matching by @immich-push-o-matic[bot] in #32027
  • fix: improper filename sanitizing by @immich-push-o-matic[bot] in #32028

Full Changelog: v3.3.0-rc.1...v3.3.0-rc.2

v3.3.0-rc.1

v3.3.0-rc.1 Pre-release
Pre-release

Choose a tag to compare

@immich-push-o-matic immich-push-o-matic released this 30 Sep 22:05

v3.3.0-rc.1

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 second release candidate of v3.3; v3.3.0-rc.1! There have not only been bug fixes, but also new features and more person sharing improvements. 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

Machine Learning

Set MACHINE_LEARNING_MODEL_REVISION=v2 to take full advantage of the memory usage and performance improvements in this release.

Server

To use this RC version on the server, update the IMMICH_VERSION in your .env file:

IMMICH_VERSION=v3.3.0-rc.1

or

IMMICH_VERSION=v3-rc

Then pull and restart:

docker compose pull && docker compose up -d

Mobile

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

image

iOS

The iOS app is available via Testflight: https://testflight.apple.com/join/JTSTucBd

image

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

🌟 Enhancements

  • feat(mobile): editors can update album title & description by @immich-push-o-matic[bot] in #31959

🐛 Bug fixes

  • fix(web): cull offscreen thumbnails on individual shared links by @immich-push-o-matic[bot] in #31891
  • fix: person management ids validation and permissions by @immich-push-o-matic[bot] in #31902
  • fix(server): person birthdate timezone bug by @immich-push-o-matic[bot] in #31906
  • fix(server): make "limit" paramter use z.coerce by @immich-push-o-matic[bot] in #31934
  • fix(server): dont queue unneeded jobs when no xmp file exists by @immich-push-o-matic[bot] in #31936
  • fix(server): ignore Samsung Gallery rotation tag for HEIF orientation by @immich-push-o-matic[bot] in #31938
  • fix: restore folder view scroll position by @immich-push-o-matic[bot] in #31946

Full Changelog: v3.3.0-rc.0...v3.3.0-rc.1