Update Immich to v1.137.3 #145
Reference in New Issue
Block a user
Delete Branch "renovate/immich"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
v1.131.2->v1.137.3v1.136.0->v1.137.3Release Notes
immich-app/immich (ghcr.io/immich-app/immich-machine-learning)
v1.137.3Compare Source
v1.137.3
IMMICH_MEDIA_LOCATIONset. (e.g., Unraid)What's Changed
🐛 Bug fixes
Full Changelog: https://github.com/immich-app/immich/compare/v1.137.2...v1.137.3
v1.137.1Compare Source
v1.137.1
/usr/src/app/upload=>/datamigration if you don't have any assets in the default libraryWhat's Changed
🐛 Bug fixes
Full Changelog: https://github.com/immich-app/immich/compare/v1.137.0...v1.137.1
v1.137.0Compare Source
v1.137.0
Highlights
Welcome to the release
v1.137.0of Immich. This version adds many bug fixes for the beta timeline, more feature parity with the old timeline, alongside some nifty enhancements to the web and the server as well. As always, new translations have been merged in, and the documentation has been updated at https://immich.app. Now, let’s dive in!docker-compose.ymltemplate has changeddocker-compose.ymltemplate change (optional)The default compose file now uses
/datainstead of/usr/src/app/upload. This is a completely optional change and NOT a breaking change. Prior versions of Immich will continue to work without any user intervention. For more information, see #20367.Prior to this change, uploaded media was located at
/usr/src/app/upload/uploadin the container (notice the double “upload” folders), which often led to confusion. It will now be located at/data/upload, and we hope that makes things easier.Beta timeline
Thank you to everyone who tried out the beta timeline in the last release! We have gathered a lot of great feedback, and are actively working on incorporating it. We’ve fixed a bunch of bugs and added back a bunch of previous features. Here’s a quick list/overview of beta timeline changes this release:
Fix the invalid timeline grouping issue
Fix the trash action translation keys
Fix the beta timeline switch missing in landscape mode
Fix a timeline migration bug on Android
Fix the text overflow issue on the action buttons
Fix deep links when the beta timeline is enabled
Fix search places not working correctly
Fix missing hero animation between tabs
Fix the backup remainder backup count issue
Fix the share to app upload
Fix the error navigating back from the backup page
Fix the backup indicator
Fix the back gesture in multi-select mode
Fix user profile images
Fix the issue downloading live photo
Fix the issue with sync for users with external libraries
Fix the issue with storage filling up for users with iCloud photos
… and more
Shared link custom URL (#19999)
Immich shared links by default are long and hard to guess. This is by design and is a security mechanism to prevent unwanted access. However, the long links can be a bit awkward to use because they are difficult to read. For cases where security is less important, we have added the option to specify a custom URL.
Shared links with a custom URL are now also available at
/s/<slug>(in addition to/share/<long-random-string>. Naturally, these links don’t share the same security benefits of the long-random-string ones, so please use them accordingly.Find large files utility (web-only)
This release adds a new, convenient utility to find large files on your instance. You can access it by navigating to the “Utility” page on the web, and clicking “Review large files”. The page shows the largest 250 original files for your user.
Improved API key permissions and documentation
Following up from the last release, we have added fine-grained permissions to more API endpoints, which are now also included in the auto-generated documentation, which can be read here.
On the web, the New API Key form now includes the newly added permissions, as well as a search bar for quicker access.
What's Changed
🚨 Breaking Changes
🚀 Features
🌟 Enhancements
🐛 Bug fixes
awaits when changing client certificate by @jfly in #20189📚 Documentation
🌐 Translations
New Contributors
Full Changelog: https://github.com/immich-app/immich/compare/v1.136.0...v1.137.0
v1.136.0: - 69420 stars releaseCompare Source
v1.136.0 - 69420 stars release
Highlights
Welcome to release
v1.136.0. This midsummer release is the culmination of the team's labor of love for the Immich community, featuring the introduction of a new timeline and sync mechanism in beta mode, Android widgets, and one of the last breaking changes we want to make before reaching the stable release milestone. Let’s dive right into it.Beta timeline, sync, and upload mechanism
This is a series of work that has been happening for months under the hood, from the changes in the database query engine, server’s queries, and support logic, to integrating a whole new database on the mobile app, and rewriting almost all aspects of the mobile app, you can now try the new timeline with data sync mechanism, and upload rework by go to the
App Settings > Toggle the Beta timeline button. After toggling, you will be directed to a screen where data migration is executed automatically. You can then proceed to the new experience.You can distinguish the beta timeline from the old one by the beta symbol next to the Immich logo in the app bar.
Why?
Over the past year, the major complaints we've received from users have primarily centered around the mobile app. The app simply doesn't feel premium or responsive—it's often janky and takes too long to become usable when first opened, especially when you have a large number of albums. Users can't even view their local albums unless they've selected them as backup targets. Our technical debt in the data structure has created some truly frustrating behaviors, like forcing users to re-upload everything (only to have it rejected by the server) when they switch phones and end up with a different device ID. Or local photos and videos don’t show up until they are all hashed, which could take a while.
We've realized we can't honestly call the application stable or confidently recommend it to everyone until we resolve these fundamental problems. We genuinely want this app to be excellent. We want the user experience to be seamless and delightful—we want you to feel genuinely happy when you open Immich to browse through your precious memories.
What’s new?
Data sync
Timeline/Display experience
Upload
Recentsalbum that includes all assets. Instead, there is a button to select all albums for backup.Expectations of the beta version of the mentioned mechanisms
How can you help us?
[beta] <your-title-here>as the titleAndroid Widgets
This is a follow-up to one of our most requested features: Home screen widgets! In
v1.135.0We introduced Immich widgets on iOS, which included a memory widget and a random widget. Withv1.136.0, we bring these widgets to Android! Many of the improvements to iOS widgets listed below have also been incorporated into the Android version.iOS Widget Improvements
iOS widgets have been improved with feedback from the community:
Deep Links
You can now deep link into the Immich app. Supported URLs include:
immich://asset?id=<asset id>immich://album?id=<album id>immich://memory?id=<memory id>Some
my.immich.appURLs will also now open inside the mobile app:https://my.immich.app/photos/<asset id>https://my.immich.app/albums/<album id>Navigating to any of these URLs (via the browser, Apple Shortcuts, NFC, or other automation frameworks) will open the corresponding resource inside the mobile app.
In other news
We missed capturing the moment when the project reached
69_420stars, 😔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
🚨 Breaking Changes
🚀 Features
🌟 Enhancements
🐛 Bug fixes
📚 Documentation
DB_STORAGE_TYPEenvironment variable by @ramonsmits in https://github.com/immich-app/immich/pull/19609🌐 Translations
New Contributors
Full Changelog: https://github.com/immich-app/immich/compare/v1.135.3...v1.136.0
v1.135.3Compare Source
v1.135.3
What's Changed
🐛 Bug fixes
Full Changelog: https://github.com/immich-app/immich/compare/v1.135.2...v1.135.3
v1.135.2Compare Source
v1.135.2
This release addresses the following issues.
- Reverted the behavior of sorting people, it is now based on asset count as before
What's Changed
🌟 Enhancements
🐛 Bug fixes
Full Changelog: https://github.com/immich-app/immich/compare/v1.135.1...v1.135.2
v1.135.1Compare Source
v1.135.1
Highlights
This release addresses the following issues.
What's Changed
🐛 Bug fixes
📚 Documentation
New Contributors
Full Changelog: https://github.com/immich-app/immich/compare/v1.135.0...v1.135.1
v1.135.0Compare Source
v1.135.0
Highlights
Welcome to the release
v1.135.0of Immich. Another three-week gap, another ~200 PRs merged, another big release, let’s dive right in to what’s new.iOS Home Screen Widgets
Immich now supports home screen widgets on iOS! You can now add widgets to your home screen that:
We support all widget sizes (S, M, L, and XL on iPad). These widgets update approximately every 20 minutes and pull directly from your Immich server. Android support is coming in the near future, so keep an eye out!
Granular API key access control creation
You can now select additional permissions when creating an API key to use in any third-party libraries or software that integrate with Immich. This mechanism will give you better control over what the other applications or libraries can do with your Immich’s instance.
Google Cast support on the mobile app
Immich now supports casting photos from the mobile app to Google Cast-enabled devices! This is a follow-up to the casting feature present on the web. We support photos and videos, similar to the web feature. This feature is not controlled by the new “Opt-in Google Cast on the web” setting since it does not require third-party resources from Google.
Opt-in Google Cast on the web
We received a few reports from users who were concerned about the privacy implications of Google Cast on the web. Immich needs to fetch a third-party script from Google to check if casting is supported in the browser and to communicate with the cast library in Chrome. This causes a network request to Google each time Immich is loaded.
We have made Google Cast opt-in now to remove this requirement. If you use Google Cast on the web, you may enable Google Cast for your user by going to
Account Settings > Features > Settings > Castor by using this link.If you have previously used Google Cast on the web and would like to continue using it, you must also enable it.
New user onboarding
To provide a better user experience for discovering and enabling various features, settings, and preferences, all new users are now greeted with an onboarding flow on the web when they first log in. They can select their language, theme, and personal privacy settings (such as Google Cast opt-in). Any users present before updating to
v1.135.0will not experience the onboarding flow.Album description on the mobile app
The album’s description is now displayed and editable in the mobile app. The album’s header also gets some styles to make it more presentable.
Support for Vchord 0.4.2
Right after we rolled out the VectorChord vector database extension, the library dropped a new version 0.4.2 with some significant improvements (classic timing!). We've updated our server to support it and made it the default in the
docker-compose.ymlfile.You don't have to upgrade, though - sticking with your current version (0.3.0) is perfectly fine. But if you want to move to the newer one, it is an option.
Keyboard Navigation in Timeline
The timeline now supports shortcuts to make navigating between days, months, and years easier.
dorshift + dto jump to an earlier or later day.morshift + mto jump to the earlier or later month.yorshift + yto jump to the earlier or later year.gto go directly to a specific dateMultiple admins support
You can now grant other users administrative permission by navigating to
Administration > Users > View Users > Edit Userand toggling the Admin optionDev Containers
There is an alternative way to set up a development environment using dev containers. For more information, refer to the documentation.
Contributing has never been easier: Get started right away with a single click on this button to launch an entire development environment in GitHub’s Codespaces in the cloud.
Along with the highlights, there are many other improvements and bug fixes. Make sure to check out the full changes below.
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
autoLaunch=1by @Yetangitu in https://github.com/immich-app/immich/pull/18763🐛 Bug fixes
📚 Documentation
🌐 Translations
New Contributors
Full Changelog: https://github.com/immich-app/immich/compare/v1.134.0...v1.135.0
v1.134.0Compare Source
v1.134.0
Welcome to release
v1.134.0of Immich. This release focuses on bug fixes and enhancements from the previous release. Please find some of the highlights below:ctrl/cmd + clickdoesn't open the photo on a new pageSupport Immich
What's Changed
🌟 Enhancements
🐛 Bug fixes
🌐 Translations
New Contributors
Full Changelog: https://github.com/immich-app/immich/compare/v1.133.1...v1.134.0
v1.133.1Compare Source
v1.133.1
Highlights
What's Changed
🌟 Enhancements
🐛 Bug fixes
📚 Documentation
DB_VECTOR_EXTENSIONenv in pgvector->vchord migration guide by @mertalev in https://github.com/immich-app/immich/pull/18508🌐 Translations
New Contributors
Full Changelog: https://github.com/immich-app/immich/compare/v1.133.0...
v1.133.0Compare Source
v1.133.0 - The Hot Summer Release
If you deviated from the defaults of pg14 or pgvectors0.2.0, you must adjust the pg major version and pgvecto.rs version. If you are still using the default
docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0image, you can just follow the changes above. For example, if the previous image isdocker.io/tensorchord/pgvecto-rs:pg16-v0.3.0, the new image should beghcr.io/immich-app/postgres:16-vectorchord0.3.0-pgvectors0.3.0instead of the image specified in the diff.After making these changes, you can start Immich as normal. Immich will make some changes to the DB during startup, which can take seconds to minutes to finish, depending on hardware and library size. In particular, it’s normal for the server logs to be seemingly stuck at
Reindexing clip_indexandReindexing face_indexfor some time if you have over 100k assets in Immich and/or Immich is on a relatively weak server. If you see these logs and there are no errors, just give it time.Please don’t hesitate to contact us here on GitHub or Discord if you encounter migration issues.
VectorChord FAQ
I have a separate PostgreSQL instance shared with multiple services. How can I switch to VectorChord?
Please see https://immich.app/docs/administration/postgres-standalone#migrating-to-vectorchord for migration instructions. The migration path will be different depending on whether you’re currently using pgvecto.rs or pgvector, as well as whether Immich has superuser DB permissions.
What will happen if I upgrade Immich to 1.133.0 without changing the DB image?
Immich will auto-detect the vector extension available in the DB and continue to work without manual intervention. However, we will drop support for pgvecto.rs in a later release, so please switch at your convenience.
I’m using a different deployment method than Docker Compose. How should I migrate?
If you’re using Immich through turnkey deployment methods such as TrueNAS apps, the respective maintainers will either perform the migration transparently or inform you of what to do if not.
Why are so many lines removed from the
docker-compose.ymlfile? Does this mean the health check is removed?These lines are now incorporated into the image itself along with some additional tuning.
What does this change mean for my existing DB backups?
The new DB image includes pgvector and pgvecto.rs in addition to VectorChord, so you can use this image to restore from existing backups that used either of these extensions. However, backups made after switching to VectorChord require an image containing VectorChord to restore successfully.
Do I still need pgvecto.rs installed after migrating to VectorChord?
pgvecto.rs only needs to be available during the migration, or if you need to restore from a backup that used pgvecto.rs. For a leaner DB and a smaller image, you can optionally switch to an image variant that doesn’t have pgvecto.rs installed after you’ve performed the migration and started Immich:
ghcr.io/immich-app/postgres:14-vectorchord0.3.0, changing the PostgreSQL version as appropriate.Why does it matter whether my database is on an SSD or an HDD?
These storage mediums have different performance characteristics. As a result, the optimal settings for an SSD are not the same as those for an HDD. Either configuration is compatible with SSD and HDD, but using the right configuration will make Immich snappier. As a general tip, we recommend users store the database on an SSD whenever possible.
Can I use the new database image as a general PostgreSQL image outside of Immich?
It’s a standard PostgreSQL container image that additionally contains the VectorChord, pgvector, and (optionally) pgvecto.rs extensions. If you were using the previous pgvecto.rs image for other purposes, you can similarly do so with this image.
If pgvecto.rs and pgvector still work, why should I switch to VectorChord?
VectorChord is faster, more stable, uses less RAM, and (with the settings Immich uses) offers higher-quality results than pgvector and pgvecto.rs. This translates to better search and facial recognition experiences. In addition, pgvecto.rs support will be dropped in the future, so changing it sooner will avoid disruption.
Highlights
Welcome to the release
v1.133.0of Immich, which is the hottest release yet for this summer, with more than 200 commits since the last version. This version brings you a new database extension, an even more optimized and faster timeline, more unified components on the web, some cool new features that have been requested for a long time, and many bug fixes and improvements. Let’s dive in!TOKEN_ENDPOINT_AUTH_METHODto eitherclient_sect_postorclient_secret_basicafter entering theCLIENT_SECRETIn-app notification
Introducing an in-app, or internal, notification system. Previously, there was no way to notify you on the client if a database backup failed. Now, the failed backup will show up under a new notification section on the web. This mechanism paves the way for other helpful notifications, such as when a new album is shared with you or when new assets are added to a shared album, directly in the app.
Show map in albums view
On the web, you can now click this button to see the map view that shows the location of all the photos and videos in an album.
Locked folder
Have you ever taken embarrassing selfies that you don’t want anyone to see, and worry that you could accidentally reveal them while showcasing your superb Immich library? Locked folder view got you covered, with a personal PIN code, and an option to use biometric verification on the mobile app. You can access the page from the sidebar on the web or in the
Librarypage on the apphttps://github.com/user-attachments/assets/f0d33556-54db-44fa-88cb-10399cd2df2d
You can select any assets and add them to the locked folder. They will only be shown in the locked folder view.
Google Cast Support
We now have casting support! Immich now supports casting to Google Cast enabled devices like the Google Chromecast. This feature is currently only available on the web, with mobile app support coming in the near future. You can use images, videos and slideshows with casting.
User detail page
From the user management page of the admin view, you can now get a more in-depth view of individual users for their information, usage statistics, and which features they have enabled, etc, by clicking on the email from the user’s table
RTL text support on the web
The web styling has been changed to accommodate RTL languages
Performance improvement in web timeline
Last time, we discussed thinking that the timeline performance has reached its prime and that adding more gains would be difficult. In this release, we managed to squeeze that gain like a ripe orange.
The timeline will automatically cancel the requests to the server when you scroll very fast, displaying the thumbnails instantaneously when the scrolling stops. Previously, the web needed to finish the requests for the thumbnails being scrolled by, even if they are not displayed on the viewport. This change significantly reduces the load time.
An additional optimization has been made to reduce the data packet for each thumbnail to about 30% of its original size. This optimization contributes to a greater loading speed on the timeline.
We hope you enjoy these impressive improvements.
Sneak Peak
Besides the cool features and enhancements that made their way into the application, along with many bug fixes, our highest priority at the moment is moving toward the stable release. A big chunk of time and dedication from the team is now spent on improving the mobile app synchronization system, basically rewriting the flow and designing the data model from the ground up. At the same time, we’re working to properly allocate CPU-intensive tasks to background threads to avoid app stuttering and jerkiness when the data sync between the server and the mobile app happens.
Below is the chart result comparing the local album sync between the current version and the reworked version.
Current version

Improved version

We are working hard to get it into the application in the coming months and are very excited about this new improvement.
Cheers!
The Immich Team
Support Immich
If you find the project helpful, you can support Immich by purchasing a product key at https://buy.immich.app or purchase our merchandise at https://immich.store
What's Changed
🚨 Breaking Changes
🚀 Features
🌟 Enhancements
🐛 Bug fixes
duplicateIdis provided asnullby @TitanNano in https://github.com/immich-app/immich/pull/18071📚 Documentation
🌐 Translations
New Contributors
Full Changelog: https://github.com/immich-app/immich/compare/v1.132.3...
v1.132.3Compare Source
v1.132.3
Bug fixes
We found an alternative method to achieve this. The feature is now available on Android. We are excited to hear about your experience with the feature. Please read this note about the feature
What's Changed
🐛 Bug fixes
📚 Documentation
New Contributors
Full Changelog: https://github.com/immich-app/immich/compare/v1.132.1...v1.132.3
v1.132.1Compare Source
v1.132.1
Hotfixes
What's Changed
🐛 Bug fixes
Full Changelog: https://github.com/immich-app/immich/compare/v1.132.0...v1.132.1
v1.132.0Compare Source
v1.132.0
Highlights
Welcome to version
v1.132.0of Immich.This release marks an exciting milestone, inching one step closer to the stable release. The server no longer relies on TypeORM (database object-relational mapping); from this point forward, we utilize our own schema and migration management tool, integrated with Kysely. Related, the mobile app will also begin to use a new database, SQLite. Over the next few releases, we plan to roll out a new, efficient sync implementation using SQLite, which should improve startup time and reduce jankiness, especially when working with large media collections.
In addition to the two milestones mentioned above, this release also features new enhancements, bug fixes, and other notable additions. Please see the highlights below.
Opt-in web-mobile delete synchronization (Android only)
This update includes a new, optional feature currently in an experimental phase. It aims to synchronize deletion actions between the Immich web interface and your connected Android device.
If you choose to enable this feature (
Settings > Advanced > Sync remote deletion), trashing, deleting, or restoring a photo or video through the Immich web interface will result in the corresponding action being taken on the file on your Android phone. This functionality is intended to prevent the need to perform the same trash action separately on both Immich and your phone.When this feature is active, the sequence of events is as follows:
Improve web responsive design on mobile devices.
This release makes significant improvements to the browsing experience of the web app on mobile devices. The sidebar is now collapsible, leaving more space to view the timeline. We’ve also changed the size of the images in the timeline on mobile, with the hope of making more images visible at once.
Just as we thought we had squeezed every ounce of performance out of the timeline scrolling, a wizard in the contributor team pushed it even further. The need for speed is real! We hope you enjoy it.Mobile app translations have been migrated to Weblate.
The i18n on the mobile app, previously managed with Localizely, has now been migrated to Weblate. Anyone can help with translation without needing to obtain an invitation from us.
Along with those changes, we have made many more improvements to the quality of the server, web, and mobile app. We hope you enjoy those as well.
Support Immich
If you find the project helpful, you can support Immich by purchasing a product key at https://buy.immich.app or purchase our merchandise at https://immich.store
What's Changed
🚨 Breaking Changes
🔒 Security
🚀 Features
🌟 Enhancements
🐛 Bug fixes
📚 Documentation
🌐 Translations
New Contributors
Full Changelog: https://github.com/immich-app/immich/compare/v1.131.3...v1.132.0
v1.131.3Compare Source
v1.131.3
Hotfixes
What's Changed
🐛 Bug fixes
New Contributors
Full Changelog: https://github.com/immich-app/immich/compare/v1.131.2...v1.131.3
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR has been generated by Renovate Bot.