Update ghcr.io/immich-app/immich-machine-learning Docker tag to v2 #1642

Open
renovate-bot wants to merge 1 commits from renovate/ghcr.io-immich-app-immich-machine-learning-2.x into main
Collaborator

This PR contains the following updates:

Package Update Change
ghcr.io/immich-app/immich-machine-learning major v1.134.0 -> v2.0.0

Release Notes

immich-app/immich (ghcr.io/immich-app/immich-machine-learning)

v2.0.0: - Stable Release

Compare Source

v2.0.0 - Stable Release

Welcome to the release v2.0.0 of Immich. This release marks the first stable version of Immich. You can read our announcement blog post here to learn what stable means for Immich, what you can expect from a stable version, along with our future plans. Of course, it wouldn't be complete without a few surprises.

To update to this version, no special steps are required. Compose pull and compose up, and you are now on v2.0.0. Additionally, there are a few noteworthy items that we have been working on in preparation for the stable release:

  • New homepage
  • New API documentation
  • New community metrics

New homepage

The https://immich.app/ website has been recently updated. It’s been rewritten with our very own UI component library, and includes a blog with a few initial posts, including one about the new mobile sync implementation. Existing documentation has been moved to https://docs.immich.app/.

image

Better API documentation

We’re also happy to announce a new version of our API documentation, which is now live at https://api.immich.app/. The new docs include more information about authentication, authorization & permissions, a command palette for quick navigation (press / or ctrl+k), and a built-in method to view live results.

image

New community metrics

The https://data.immich.app/ website has also been updated to include new community metrics that show member growth on our subreddit and discord server.

image

What's Changed

🐛 Bug fixes

Full Changelog: https://github.com/immich-app/immich/compare/v1.144.1...v2.0.0

v1.144.1

Compare Source

v1.144.1

v1.144.0 has been made a sacrificial object to the Release God

Welcome to the release v1.144.1 of Immich. This release marks the end of summer, with many bugs being squashed and the continuous improvement of the upload process on the new timeline. It also comes with enhancements to storage management for iCloud users when uploading a large library. The mobile app now also displays an indicator for LivePhoto or MotionPhoto, making them easier to recognize.

image

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
🐛 Bug fixes
📚 Documentation
🌐 Translations

Full Changelog: https://github.com/immich-app/immich/compare/v1.143.1...v1.144.1

v1.143.1

Compare Source

v1.143.1

What's Changed

🐛 Bug fixes
🌐 Translations

Full Changelog: https://github.com/immich-app/immich/compare/v1.143.0...v1.143.1

v1.143.0

Compare Source

v1.143.0

[!NOTE]
If you're still experiencing issues with remote assets or albums not showing up on the mobile app, please ensure that your server is updated to the latest version. If you are still having issues, try logging out and back in.

Highlights

Welcome to release v1.143.0 of Immich. Like all releases, this one includes the latest batch of translations. A special thanks to everyone who has contributed so far to translating the project. If you are interested in helping translate yourself, check out our project on Weblate. Other than that, this release is mostly bug fixes, with a few minor enhancements. Now let’s dive right in!

  • Material 3 switch/toggle (web) #​22100
  • Bring back configurable backup settings (mobile) #​22114
  • Concurrent hashing & hashing progress (mobile) #​21997
  • Download progress (mobile) #​22178
  • Notable fix: Web modals #​22079
  • Notable fix: Mobile “freezes” #​22111
  • Notable fix: Copy image on Safari
Material 3 switch/toggle (web)

The web project has an updated switch/toggle, thanks to @​SevereCloud (immich-app/ui#267) for that.

image
Bring back configurable backup settings (Android)

Just like the previous timeline implementation, the new version now has similar settings for

  • Backup only while charging
  • Upload only after a minimum amount of elapsed time
Concurrent hashing & hashing progress (mobile)

Improvements have been made to the client-side hashing implementation, which now enables hashing to happen concurrently. This significantly increases throughput, and now the speed is mostly limited by how fast files can be read from internal storage. The hashing process has also been updated to only hash assets from the albums selected for backups, which reduces the number of downloads for iCloud users.

Download progress (mobile)

The mobile app now has a built-in download progress indicator, which makes it easy to see the progress of files being downloaded onto the device.

image image

Notable fix: Web modals

Previous to this release, the web application would often “freeze” or become unusable after using a modal (creating a shared link, creating an api key, confirming the deletion of assets, etc.). This issue has been fixed.

Notable fix: Mobile “freezes”

This release fixes an issue that the mobile application could occasionally “freeze”, with the thumbnails would stop loading, and certain pages would become unusable until the application was forced closed. This has proved much more challenging to solve. We determined that the cause was due to concurrent access to SQLite from background/foreground processes, which could have put the app into this state. We have taken measures to address these situations and believe the application should be much more stable. If you are still running into these types of issues, please let us know!

Notable fix: Copy image on Safari

The “copy image to clipboard” functionality has long worked on non-Safari browsers, but in this release, we were finally able to identify and implement a fix. Copying an image to the clipboard should now also work on Safari.

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
🐛 Bug fixes
📚 Documentation
🌐 Translations

New Contributors

Full Changelog: https://github.com/immich-app/immich/compare/v1.142.1...v1.143.0

v1.142.1

Compare Source

v1.142.1

Hey guys, Alex here.

Sorry about the rocky release of version v1.142.0. Instead of giving you guys a better experience with the timeline, a mistake in the migration flow code that I wrote put the app into an erroneous state that makes it seem like the new timeline isn't working at all, and the only way to fix that was to log out and log back in manually. For that, I personally apologize for the inconvenience and the frustration that I caused over the weekend. This patch release addresses those issues and some other bugs that were reported over the weekend. If you have problems, please don't hesitate to reach out to me or the team on Discord or GitHub

Alex


In release v1.142.0, during the migration from the old timeline to the new one on the mobile app, the sync checkpoint isn't getting reset, leading to the data not being pulled from the server. During the development of the new timeline, while on the old timeline, the sync endpoint might have been triggered at some points. The missing sync information creates a perception of data loss and mismatched sync information for the mobile app. This release reset the sync checkpoints so that they can be pulled down correctly for everyone.

[!TIP]
For the new timeline to pull the correct information, please consider updating your server to the latest version. We have seen reports that the timeline isn't working because it was connecting to an older version of the server

This patch release also addresses the reliability of background sync on Android. We suggest that you don't swipe away to dismiss the app, but keep it in the background; this will prevent the background worker from being terminated by the OS. Further optimization of the background worker's operation when the app is dismissed will be implemented in the next few days, pending additional testing.

What's Changed

🐛 Bug fixes

New Contributors

Full Changelog: https://github.com/immich-app/immich/compare/v1.142.0...v1.142.1

v1.142.0

Compare Source

v1.142.0

Highlights

Welcome to release v1.142.0 of Immich. Starting with this version, the beta timeline is now the default version for the app. When you first open the app after updating, it will check and run the on-device migration steps for those that are on the old timeline, after that you can close and relaunch the app to start with a better app experience. We want to express our sincere gratitude again for the users who have been using the new version to help us polish it, and for those who work closely with us to tackle weird bugs. As always, this version comes with many bug fixes for the server, web and the mobile app. Let’s dive into some of the highlights below.

  • Resume all paused jobs
  • Geolocation utility improvements
  • Read-only mode toggle on the mobile app has changed to a long-press behavior instead of a double-tap
  • Notable fix: Raspberry Pi 4 crashes when generating thumbnails
    • If you were affected by this bug and set the environmental variable VIPS_NOVECTOR=1, you should remove this variable when upgrading to this Immich release or above
Resume all paused jobs

The job administration page now comes with a resume all button. This is especially helpful for users who are importing their libraries to Immich via immich-go, which pauses all jobs during upload, including background jobs not visible in the UI. If the process fails mid-way, the jobs stay paused until the admin either recreates the Redis container or manually resumes them. If you’ve been having problems with the trash not clearing or memories not generating, make sure to check this button.

image
Geolocation utility improvements

The geolocation utility has been converted to a timeline view, so you can easily scroll through your entire library while investigating

image

You can now browse the timeline, and at the same time, fill in the missing coordinates for your assets. Thanks @​Johannbr for your continued work on this.

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

🫥 Deprecated Changes
🚀 Features
🌟 Enhancements
🐛 Bug fixes
📚 Documentation
🌐 Translations

New Contributors

Full Changelog: https://github.com/immich-app/immich/compare/v1.141.1...v1.142.0

v1.141.1

Compare Source

v1.141.1

Highlight

Welcome to the release v1.141.1 of Immich, as hot as this summer gets, the beta timeline is ready to be taken out of the kitchen, now with more features and bug fixes. Let’s dive right in while it’s still hot

  • [beta] Auto-add uploaded assets to albums
  • View similar photos
  • DigitalOcean 1-click deployment
  • Notable fix - thumbnail generation for 200MP HEIC images
[beta] Auto-add uploaded assets to albums.

This feature has made its way back to the beta timeline. You can enable this feature on the Backup Options page. The current selected albums for backup will be linked with the album of the same name on the server, or a new album will be created if those albums don’t exist. Assets uploaded will be placed in the respective linked album.

image

View similar photos

On the web, you can now look for similar photos or videos when viewing an asset by clicking on the context menu > Find similar photos. Powered by CLIP search to quickly identify photos with similar scenery and context

image image

Digital Ocean 1-Click Deployment

To help users who are interested in trying out the application without setting it up on their infrastructure, or who do not have the infrastructure available yet. We now have the option to deploy Immich directly on DigitalOcean.

The default configuration is the smallest pod size that can run Immich comfortably. The new instance is set up with a default reverse proxy that handles TLS. For more information, you can read here.

You can give it a try by clicking the button below

image

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
🐛 Bug fixes
🌐 Translations

New Contributors

Full Changelog: https://github.com/immich-app/immich/compare/v1.140.1...v1.141.1

v1.140.1

Compare Source

v1.140.1

What's Changed

🐛 Bug fixes
📚 Documentation

New Contributors

Full Changelog: https://github.com/immich-app/immich/compare/v1.140.0...v1.140.1

v1.140.0

Compare Source

v1.140.0

Highlights

Welcome to the release v1.140.0 of Immich, one more release, and one more day closer to 🐴 Stable-Day 🐴. This release continues the ramp-up effort to bring the beta timeline up to the same feature parity as the old one, while also addressing as many bugs as possible. Thanks to our active contributors, some cool features also made their way into this release. We encourage all Immich users to switch to the beta timeline and use it to help us identify and resolve issues. Let’s dive into the highlights of this release.

  • [beta] Background sync
  • [beta] Read-only mode
  • Location management utility
[beta] Background sync

The background sync feature has now been added to the beta timeline. New assets are now detected and pushed to an upload queue, which will be handled automatically by the OS.

Some tasks, such as local and remote data sync, now also run in the background periodically. So that, as soon as you open the app, the newly taken assets are immediately available on the timeline.

For those who have been using the beta timeline, please toggle the upload button off then on again to enable the background workers.

[beta] Read-only mode

For parents who have kids who want to look over photos but don’t want them to accidentally delete or perform any action on them, this feature is for you. By double-tapping on the profile photo in the app, you can only view assets in the main timeline, and all the action buttons will be hidden. Thanks, @​Sud-Puth, for proposing and initiating work on this nifty feature!

image
Location management utility

Thanks to @​Johannbr for putting in time and effort into this feature. You can now find and edit missing location data on a specific date. By going to Utilities > Manage location on the web, you will be presented with an interface to select the date to find the assets with missing GPS location and to update them in bulk

image image

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
🐛 Bug fixes
📚 Documentation
🌐 Translations

New Contributors

Full Changelog: https://github.com/immich-app/immich/compare/v1.139.4...v1.140.0

v1.139.4

Compare Source

v1.139.4

What's Changed

🐛 Bug fixes

New Contributors

Full Changelog: https://github.com/immich-app/immich/compare/v1.139.3...v1.139.4

v1.139.3

Compare Source

v1.139.3

What's Changed

🐛 Bug fixes
📚 Documentation

New Contributors

Full Changelog: https://github.com/immich-app/immich/compare/v1.139.2...v1.139.3

v1.139.2

Compare Source

v1.139.2

v1.139.0 and v1.139.1 have made the ultimate sacrifice for switching from npm to pnpm in our release pipeline


Welcome to release v1.139.2. This version continues to bring improvements to the beta timeline, from fixing bugs to significantly improving the image rendering pipeline, especially on Android. We appreciate users who have helped us test out the beta timeline! We encourage you all to switch to it to help us catch more bugs as the stable release is nigh. Let’s dive into the highlights of this release.

Highlights

  • [beta] New image rendering pipeline
  • [beta] Show remainder assets detail
  • Option to skip in the duplicate resolver tools
  • Add to multiple albums action
  • [beta] Fixed the bug that upload progress doesn’t resume upon app restart (really fix it this time)
[beta] New image rendering pipeline

Thanks to our one and only wizard @​mertalev 🧙, the mobile app now uses our own custom image loading and rendering pipeline, featuring multithreading and a series of other optimizations. In particular, this significantly improves displaying of local images on Android. Not only does this improve thumbnail loading speed, but local thumbnails are noticeably higher quality by avoiding compression. The experience of scrolling the timeline should now be on par with the local gallery app. Additionally, remote assets now benefit from request cancellation to avoid downloading thumbnails that are no longer relevant, further improving responsiveness when quickly scrolling the timeline.

[beta] Show assets pending backup

You can now view which assets are in the remaining list of backups. This helps track down problematic assets that cannot be uploaded for some reason. *cough, iCloud assets, cough*

image image

Option to skip an entry in the duplicate resolution utility

You can now navigate back and forth to get to other entries in the duplicate list.

image

Add to multiple albums action

On the web, you can now add assets to multiple albums at once from the album selection modal.

image

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

🌟 Enhancements
🐛 Bug fixes
📚 Documentation
🌐 Translations

New Contributors

Full Changelog: https://github.com/immich-app/immich/compare/v1.138.1...v1.139.2

v1.138.1

Compare Source

v1.138.1

What's Changed

🐛 Bug fixes

Full Changelog: https://github.com/immich-app/immich/compare/v1.138.0...v1.138.1

v1.138.0

Compare Source

v1.138.0

[!IMPORTANT]

For users that are using the beta timeline, please update your server to v1.138.0 so that the sync mechanism can work correctly. v1.138.0 of the mobile app doesn’t sync the data correctly if your server is v1.137.2 or below.

Highlights

Welcome to the release v1.138.0 of Immich, this release adds many bugfixes and brings the beta timeline closer to feature parity; thank you all for helping with testing and giving feedback. Please let us know if the release fixes the issues you are facing. Let’s dive into some of the highlights below

  • Reset PIN code with password
  • Reset the OAuth ID
  • [beta] swipe to delete album
  • [beta] improvement in the upload and sync process
  • [beta] map view with SQLite

Reset PIN code with password

In order to reset a forgotten PIN code, the admin user used to have to click the “Reset PIN code” button for the user. Now, users can reset their own PIN code by supplying their current password.

Note: when password login is disabled, this option is unavailable.

Reset via password

image image

Reset via admin account

image image

Reset OAuth ID

Immich stores some configuration in the database to keep track of which OAuth accounts are linked to which Immich users. When migrating to a new authentication system or provider, this configuration becomes invalid and can prevent the user from logging in with the new system. A button and accompanying reminder now exists in the OAuth settings to clear or reset this configuration for all users.

image image

What's Changed

🚨 Breaking Changes
🚀 Features
🌟 Enhancements
🐛 Bug fixes
📚 Documentation
🌐 Translations

New Contributors

Full Changelog: https://github.com/immich-app/immich/compare/v1.137.3...v1.138.0

v1.137.3

Compare Source

v1.137.3

  • Fixes a media location migration issue for people who have IMMICH_MEDIA_LOCATION set. (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.1

Compare Source

v1.137.1

  • Fixes an issue with the /usr/src/app/upload => /data migration if you don't have any assets in the default library

What's Changed

🐛 Bug fixes

Full Changelog: https://github.com/immich-app/immich/compare/v1.137.0...v1.137.1

v1.137.0

Compare Source

v1.137.0

  • knock, knock
  • Who's there?
  • Breaking
  • Breaking who?
  • Breaking changes woohoo, with a stable-release-is-around-the-corner and coming to a server near you (soon™)

[!CAUTION]

Breaking Changes

If your current, running version of Immich is v1.132.0 or newer, there is NO ACTION required. If you are updating from version below v1.132.0 continue reading.

Remove TypeORM (#​20366)

This update requires applications to have started up at least once on 1.132.0+. See https://immich.app/errors#typeorm-upgrade for more details.

Highlights

Welcome to the release v1.137.0 of 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!

  • The default docker-compose.yml template has changed
  • Beta timeline
  • Shared link custom URL
  • Find large files utility
  • API key permission improvements

docker-compose.yml template change (optional)

The default compose file now uses /data instead 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/upload in 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

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.

image

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.

image image

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.

[!CAUTION]

Related to these changes, a few API permissions have been renamed. See #​20250 for more details.

On the web, the New API Key form now includes the newly added permissions, as well as a search bar for quicker access.

image

What's Changed

🚨 Breaking Changes
🚀 Features
🌟 Enhancements
🐛 Bug fixes
📚 Documentation
🌐 Translations
  • fix(mobile): distinguish backup settings title from 'backup_controller_page_backup' translation entry by @​zigarn in #​20237
  • fix(mobile): remove unused translation and pluralize existing one for map photos count by @​zigarn in #​20282
  • chore(web): update translations by @​weblate in #​20105

New Contributors

Full Changelog: https://github.com/immich-app/immich/compare/v1.136.0...v1.137.0

v1.136.0: - 69420 stars release

Compare Source

v1.136.0 - 69420 stars release

[!CAUTION]

BREAKING CHANGES

IMMICH_MEDIA_LOCATION (#​19995)

Note: This is a different variable than UPLOAD_LOCATION, which requires no change.

Note: if you DO NOT have IMMICH_MEDIA_LOCATION in your .env file, or if it is set to a path that starts with a / (absolute path), THIS BREAKING CHANGE DOES NOT APPLY TO YOU. Users of the all-in-one image (e.g., the unraid app) for instance are not affected.


If you have a custom IMMICH_MEDIA_LOCATION environment variable set to a relative path, you will have to do the following process:

  1. Stop Immich (docker compose stop):
  2. Update Immich (docker compose pull)
  3. Update the environment variable to an absolute path, for example:
-IMMICH_MEDIA_LOCATION=./my-library
+IMMICH_MEDIA_LOCATION=/usr/src/app/my-library

  1. Start Immich (docker compose up -d --force-recreate)
  2. After the server successfully starts up, connect to it (docker exec ``*-it*`` immich_server /bin/sh) and run immich-admin change-media-location. When prompted, enter the appropriate values. For example:
docker exec -it immich_server /bin/sh

$ immich-admin change-media-location
...
? Enter the previous value of IMMICH_MEDIA_LOCATION: ./my-library
? Enter the new value of IMMICH_MEDIA_LOCATION: /usr/src/app/my-library

  Previous value: ./my-library
  Current value:  /usr/src/app/my-library

  Changing database paths from "my-library/*" to "/usr/src/app/my-library/*"

? Do you want to proceed? [Y/n] y

Matching database file paths were updated successfully! 🎉

You may now set IMMICH_MEDIA_LOCATION=/usr/src/app/my-library and restart!

Background/Motivation

Relative paths have implied ambiguity, as they depend on the current working directory to resolve correctly, leading to issues like (#​4465). This change removes this ambiguity and sets up the project to transition away from files living at /usr/src/app/upload entirely. Currently, the upload folder lives at /usr/src/app/upload/upload, which is very confusing… for everyone. This change opens to door for a future migration to something like IMMICH_DATA=/data, which a more sensible setup.

API Key changes (#​20113)

Note: This change may affect the use of third-party applications, such as ImmichGo, ImmichKios, or ImmichFrame.

This release includes a change to how API Keys work, specifically when used with routes that don’t require a specific permission. Previously, a scoped API Key could access these routes, but they will now throw a forbidden error. Routes without a declared scope now implicitly require the “all” permission.

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 mode for the new timeline, sync, and upload mechanism
  • Android widgets
  • iOS widget improvements
  • Deep links

Beta timeline, sync, and upload mechanism

[!NOTE]
This is only supported when both the server and the mobile app are updated to v1.136.0

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.

image

You can distinguish the beta timeline from the old one by the beta symbol next to the Immich logo in the app bar.

image

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
  • The data sync is now running in a background thread, separate from the UI thread. This means that during data synchronization, the app will remain smooth to browse.
  • The data sync speed should be improved drastically. The data is being streamed to the mobile app instead of being sent there in a single large chunk. This will help users with a massive library.
  • The calculation of which data needs to be retrieved from the server is now performed on the server, rather than being calculated by the mobile app previously. This means lower CPU usage on the mobile app and quicker incremental sync.
  • The mobile app will now retrieve data from the server and maintain similar database tables within the app. This restructuring enables better offline operation and supports more complex usage behaviors.
Timeline/Display experience
  • The new timeline has been rewritten from the ground up to enhance scrolling and dragging behavior, making it easier for you to navigate the timeline.
  • The detail viewer is now more interactive, allowing you to scroll between photos or videos when the bottom detail sheet is opened.
  • The album views and other collection views are more lively, featuring a parallax effect to make your album/collection feel alive with mesmerizing animation.
  • You can now view all albums on the device, regardless of which album you have selected as the target for backing up. You can view them in the `Library > On this device` section. For users who want to select individual assets to back up to the server, they can perform that operation from here.
Upload
  • The upload mechanism has been rewritten from the ground up.
  • Upload is now handled by the OS, allowing for a better background upload operation. Instead of handling the uploading ourselves, we are now placing the photos and videos in a queue, which will run continuously when the Immich app is opened in the foreground and for a few minutes after it is put into the background. Then the OS will take over and start pulling tasks from the queue, handling the upload process by itself.
  • Starting the upload progress is now invoked from a toggle button

image

  • Uploads are now running in parallel . The new upload detail page displays which assets are being uploaded and whether they are experiencing issues or stuck. You can tap on each item to see exactly which asset is causing the problem.

image

image

  • On Android, there is no longer a virtual Recents album that includes all assets. Instead, there is a button to select all albums for backup.
  • In the backup album selection screen, you can now search for the album you want to back up.
Expectations of the beta version of the mentioned mechanisms
  • The app should be very smooth to browse around during the initial login and subsequent app openings.
  • Collections (favorite, archived, locked folder, etc.) and album views should make you feel nice, cozy, and delighted.
  • Background queuing of newly taken photos is not yet implemented. We will start working on this next.
  • Some views are not yet ported over to the new implementation, such as, but not limited to
    • People view
    • Map view
  • Some mechanisms are still missing from the previous implementation, such as, but not limited to
    • Add to album from multi-selection
    • Album sync when uploading
  • There are still some buggy behaviors/animations we will be ironing out in the coming days.
How can you help us?
  • Use the beta timeline and the new upload rework.
  • Report any bugs and weirdness you experience on GitHub’s issue tracker [beta] <your-title-here> as the title
  • Reach out and provide direct feedback on Discord
  • Feedback from iCloud users is greatly appreciated

Android Widgets

image

This is a follow-up to one of our most requested features: Home screen widgets! In v1.135.0 We introduced Immich widgets on iOS, which included a memory widget and a random widget. With v1.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:

  • iOS widgets now support servers that use insecure HTTP connections
  • iOS widgets now support servers that use WebP as their preview thumbnail format
  • Tapping on the widget now takes you directly to the image in the app
  • Widgets now render properly when used on a tinted home screen
  • iOS widgets now cache the latest image for use if network access is unavailable during update. You should see fewer “Unable to connect to your Immich instance” errors on your home screen!
  • You can now choose to show images from your Favorites in the Random Widget
  • Improved error descriptions

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.app URLs 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_420 stars, 😔


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
🌐 Translations

New Contributors

Full Changelog: https://github.com/immich-app/immich/compare/v1.135.3...v1.136.0

v1.135.3

Compare Source

v1.135.3

  • Fixed an issue where the database migration fails on some instances with a different default database name

What's Changed

🐛 Bug fixes

Full Changelog: https://github.com/immich-app/immich/compare/v1.135.2...v1.135.3

v1.135.2

Compare Source

v1.135.2

This release addresses the following issues.

  • Fixed an issue where the database migration was not running correctly on some systems
  • Fixed an issue where the timezone causes an issue showing the web timeline in some instances, the counter resets again!

- 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.1

Compare Source

v1.135.1

Highlights

This release addresses the following issues.

  • Fixed a bug where the navigation button disappears in detail view if opened from an album
  • Fixed a bug where the local network permission prompt doesn't show up on iOS. If for some reason, you still cannot access the instance after enabling the permission, restarting the phone will fix it
  • Fixed an issue where warning messages were shown after updating the VectorChord extension
  • Fixed an issue where named people are not showing up on top of the people list
  • Fixed an issue where the web timeline does not show on some older browsers
  • iOS Widget now supports iOS 17 and above (previously supported only 18.5)

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.0

Compare Source

v1.135.0

Highlights

Welcome to the release v1.135.0 of 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
  • Granular API key access control creation
  • Google Cast support on the mobile app
  • Opt-in Google Cast on the web
  • New user onboarding
  • Album description on the mobile app
  • Drag-and-drop to the locked folder on the web
  • Support for Vchord 0.4.2
  • Shortcut to navigate the timeline
  • Multiple admins support
  • Devcontainer
  • Notable fix: Double swiping issue on iOS when using the gallery viewer
iOS Home Screen Widgets
Memory Widget Random Widget

Immich now supports home screen widgets on iOS! You can now add widgets to your home screen that:

  • Display a random image from your library
  • Display a random image from an album
  • Show images from memory lane

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!

[!TIP]
Your server must be on v1.135.0 for album filtering to work.

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.

[!TIP]
Your server must be accessible through the server URL from the cast receiver. There is no limitation on public accessibility or an HTTPS connection requirement, unlike on the web. In addition, only assets that are uploaded to the server may be cast.

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 > Cast or 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

image

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.0 will 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.yml file.

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.

  • Use d or shift + d to jump to an earlier or later day.
  • Use m or shift + m to jump to the earlier or later month.
  • Use y or shift + y to jump to the earlier or later year.
  • Use g to go directly to a specific date

image

Multiple admins support

You can now grant other users administrative permission by navigating to Administration > Users > View Users > Edit User and toggling the Admin option

image
Dev 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.

Open in GitHub Codespaces

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
🐛 Bug fixes
📚 Documentation
🌐 Translations

New Contributors

Full Changelog: https://github.com/immich-app/immich/compare/v1.134.0...v1.135.0


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 is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

This PR contains the following updates: | Package | Update | Change | |---|---|---| | [ghcr.io/immich-app/immich-machine-learning](https://github.com/immich-app/immich) | major | `v1.134.0` -> `v2.0.0` | --- ### Release Notes <details> <summary>immich-app/immich (ghcr.io/immich-app/immich-machine-learning)</summary> ### [`v2.0.0`](https://github.com/immich-app/immich/releases/tag/v2.0.0): - Stable Release [Compare Source](https://github.com/immich-app/immich/compare/v1.144.1...v2.0.0) ### v2.0.0 - Stable Release Welcome to the release `v2.0.0` of Immich. This release marks the first stable version of Immich. You can read our announcement blog post [here](https://github.com/immich-app/immich/discussions/22546) to learn what stable means for Immich, what you can expect from a stable version, along with our future plans. Of course, it wouldn't be complete without a few surprises. To update to this version, no special steps are required. Compose pull and compose up, and you are now on `v2.0.0`. Additionally, there are a few noteworthy items that we have been working on in preparation for the stable release: - New homepage - New API documentation - New community metrics #### New homepage The <https://immich.app/> website has been recently updated. It’s been rewritten with our very own UI component library, and includes a [blog](https://immich.app/blog) with a few initial posts, including one about [the new mobile sync implementation](https://immich.app/blog/sync-v2). Existing documentation has been moved to <https://docs.immich.app/>. <img width="800" alt="image" src="https://github.com/user-attachments/assets/911574d2-c8a7-46c6-a6f9-2a00d06baf3e" /> #### Better API documentation We’re also happy to announce a new version of our API documentation, which is now live at <https://api.immich.app/>. The new docs include more information about authentication, authorization & permissions, a command palette for quick navigation (press `/` or `ctrl+k`), and a built-in method to view live results. <img width="800" alt="image" src="https://github.com/user-attachments/assets/910a3539-cee2-417e-b1f9-77cb0e68e2b9" /> #### New community metrics The <https://data.immich.app/> website has also been updated to include new community metrics that show member growth on our [subreddit](https://www.reddit.com/r/immich/) and [discord server](https://discord.immich.app/). <img width="800" alt="image" src="https://github.com/user-attachments/assets/8fc418ef-cf26-4ad3-b9a6-56bdc07eb97e" /> #### What's Changed ##### 🐛 Bug fixes - fix: show un-hashed remainder assets by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;22492](https://github.com/immich-app/immich/pull/22492) - fix(server): Revert update libmimalloc path ([#&#8203;22345](https://github.com/immich-app/immich/issues/22345)) by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;22526](https://github.com/immich-app/immich/pull/22526) - fix: missing email button padding by [@&#8203;Funk66](https://github.com/Funk66) in [#&#8203;22529](https://github.com/immich-app/immich/pull/22529) **Full Changelog**: <https://github.com/immich-app/immich/compare/v1.144.1...v2.0.0> ### [`v1.144.1`](https://github.com/immich-app/immich/releases/tag/v1.144.1) [Compare Source](https://github.com/immich-app/immich/compare/v1.143.1...v1.144.1) ### v1.144.1 *`v1.144.0` has been made a sacrificial object to the Release God* Welcome to the release `v1.144.1` of Immich. This release marks the end of summer, with many bugs being squashed and the continuous improvement of the upload process on the new timeline. It also comes with enhancements to storage management for iCloud users when uploading a large library. The mobile app now also displays an indicator for LivePhoto or MotionPhoto, making them easier to recognize. <p align="center"> <img width="400" alt="image" src="https://github.com/user-attachments/assets/aaee8542-bb4c-4f81-bca6-3dabd40f9c89" /> </p> #### Support Immich <p align="center"> <img src="https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExbjY2eWc5Y2F0ZW56MmR4aWE0dDhzZXlidXRmYWZyajl1bWZidXZpcyZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/87CKDqErVfMqY/giphy.gif" width="450" title="SUPPORT THE PROJECT!"> </p> 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> <!-- Release notes generated using configuration in .github/release.yml at v1.144.1 --> #### What's Changed ##### 🚀 Features - feat: show motion photo icon on mobile timeline tile by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;22454](https://github.com/immich-app/immich/pull/22454) ##### 🐛 Bug fixes - fix(server): update libmimalloc path by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;22345](https://github.com/immich-app/immich/pull/22345) - fix: ios export sqlite db by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;22369](https://github.com/immich-app/immich/pull/22369) - fix: map attribution and other styling by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;22303](https://github.com/immich-app/immich/pull/22303) - fix: delete temp file on iOS after upload by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;22364](https://github.com/immich-app/immich/pull/22364) - fix(mobile): load local thumbnails in album timeline by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;22329](https://github.com/immich-app/immich/pull/22329) - fix(mobile): scrubbing mode on scroll to date event by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;22390](https://github.com/immich-app/immich/pull/22390) - fix: local assets should not be added to album by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;22304](https://github.com/immich-app/immich/pull/22304) - feat(mobile): add unstack button by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;21869](https://github.com/immich-app/immich/pull/21869) - fix: prefer remote images in new timeline by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;22452](https://github.com/immich-app/immich/pull/22452) - fix: merged timeline orderby localtime by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;22371](https://github.com/immich-app/immich/pull/22371) - fix: process upload only after successful remote sync by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;22360](https://github.com/immich-app/immich/pull/22360) ##### 📚 Documentation - feat: docs.immich.app by [@&#8203;zackpollard](https://github.com/zackpollard) in [#&#8203;21819](https://github.com/immich-app/immich/pull/21819) ##### 🌐 Translations - chore(web): update translations by [@&#8203;weblate](https://github.com/weblate) in [#&#8203;22343](https://github.com/immich-app/immich/pull/22343) **Full Changelog**: <https://github.com/immich-app/immich/compare/v1.143.1...v1.144.1> ### [`v1.143.1`](https://github.com/immich-app/immich/releases/tag/v1.143.1) [Compare Source](https://github.com/immich-app/immich/compare/v1.143.0...v1.143.1) ### v1.143.1 #### What's Changed ##### 🐛 Bug fixes - fix: migrate backup delay from old timeline by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;22327](https://github.com/immich-app/immich/pull/22327) ##### 🌐 Translations - chore(web): update translations by [@&#8203;weblate](https://github.com/weblate) in [#&#8203;22022](https://github.com/immich-app/immich/pull/22022) - chore(web): update translations by [@&#8203;weblate](https://github.com/weblate) in [#&#8203;22288](https://github.com/immich-app/immich/pull/22288) **Full Changelog**: <https://github.com/immich-app/immich/compare/v1.143.0...v1.143.1> ### [`v1.143.0`](https://github.com/immich-app/immich/releases/tag/v1.143.0) [Compare Source](https://github.com/immich-app/immich/compare/v1.142.1...v1.143.0) ### v1.143.0 > \[!NOTE] > *If you're still experiencing issues with remote assets or albums not showing up on the mobile app, please ensure that your server is updated to the latest version. If you are still having issues, try logging out and back in.* #### Highlights Welcome to release `v1.143.0` of Immich. Like all releases, this one includes the latest batch of translations. A special thanks to everyone who has contributed so far to translating the project. If you are interested in helping translate yourself, check out our project on [Weblate](https://hosted.weblate.org/projects/immich/immich/). Other than that, this release is *mostly* bug fixes, with a few minor enhancements. Now let’s dive right in! - Material 3 switch/toggle (web) [#&#8203;22100](https://github.com/immich-app/immich/issues/22100) - Bring back configurable backup settings (mobile) [#&#8203;22114](https://github.com/immich-app/immich/issues/22114) - Concurrent hashing & hashing progress (mobile) [#&#8203;21997](https://github.com/immich-app/immich/issues/21997) - Download progress (mobile) [#&#8203;22178](https://github.com/immich-app/immich/issues/22178) - Notable fix: Web modals [#&#8203;22079](https://github.com/immich-app/immich/issues/22079) - Notable fix: Mobile “freezes” [#&#8203;22111](https://github.com/immich-app/immich/issues/22111) - Notable fix: Copy image on Safari ##### Material 3 switch/toggle (web) The web project has an updated switch/toggle, thanks to [@&#8203;SevereCloud](https://github.com/SevereCloud) ([immich-app/ui#267](https://github.com/immich-app/ui/pull/267)) for that. <img width="400" alt="image" src="https://github.com/user-attachments/assets/9968ec63-1eb8-4e22-a59c-59ed37f11d42" /> ##### Bring back configurable backup settings (Android) Just like the previous timeline implementation, the new version now has similar settings for - Backup only while charging - Upload only after a minimum amount of elapsed time ##### Concurrent hashing & hashing progress (mobile) Improvements have been made to the client-side hashing implementation, which now enables hashing to happen *concurrently*. This significantly increases throughput, and now the speed is mostly limited by how fast files can be read from internal storage. The hashing process has also been updated to only hash assets from the albums selected for backups, which reduces the number of downloads for iCloud users. <img width="400" src="https://github.com/user-attachments/assets/d20499ae-0764-44fb-8679-2c07318b09e3"/> ##### Download progress (mobile) The mobile app now has a built-in download progress indicator, which makes it easy to see the progress of files being downloaded onto the device. <p align="center"> <img width="300" alt="image" src="https://github.com/user-attachments/assets/2372ac4d-f7f5-48e6-9d75-1a0d29ceb7b7" /> <img width="300" alt="image" src="https://github.com/user-attachments/assets/03f63e7e-85cd-4ba3-ada5-9a6774913cae" /> <p/> ##### Notable fix: Web modals Previous to this release, the web application would often “freeze” or become unusable after using a modal (creating a shared link, creating an api key, confirming the deletion of assets, etc.). This issue has been fixed. ##### Notable fix: Mobile “freezes” This release fixes an issue that the mobile application could occasionally “freeze”, with the thumbnails would stop loading, and certain pages would become unusable until the application was forced closed. This has proved much more challenging to solve. We determined that the cause was due to concurrent access to SQLite from background/foreground processes, which could have put the app into this state. We have taken measures to address these situations and believe the application should be much more *stable*. If you are still running into these types of issues, please let us know! ##### Notable fix: Copy image on Safari The “copy image to clipboard” functionality has long worked on non-Safari browsers, but in this release, we were finally able to identify and implement a fix. Copying an image to the clipboard should now also work on Safari. #### Support Immich <p align="center"> <img src="https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExbjY2eWc5Y2F0ZW56MmR4aWE0dDhzZXlidXRmYWZyajl1bWZidXZpcyZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/87CKDqErVfMqY/giphy.gif" width="450" title="SUPPORT THE PROJECT!"> </p> 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> <!-- Release notes generated using configuration in .github/release.yml at v1.143.0 --> #### What's Changed ##### 🚀 Features - chore: bump immich/ui by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;22100](https://github.com/immich-app/immich/pull/22100) - feat: add configurable backup on charging only and delay settings for android by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;22114](https://github.com/immich-app/immich/pull/22114) ##### 🌟 Enhancements - feat(web): toggle theme shortcut by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;22139](https://github.com/immich-app/immich/pull/22139) - refactor: hashing service by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;21997](https://github.com/immich-app/immich/pull/21997) - fix: download feedback by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;22178](https://github.com/immich-app/immich/pull/22178) - feat: availability checks by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;22185](https://github.com/immich-app/immich/pull/22185) - feat: show preparing/hashing status in backup page by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;22222](https://github.com/immich-app/immich/pull/22222) ##### 🐛 Bug fixes - fix: close menu anchor on navigation by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;22021](https://github.com/immich-app/immich/pull/22021) - fix: sidebar link hightlight by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;22035](https://github.com/immich-app/immich/pull/22035) - fix(oauth): omit blank pkce from url when not supported by [@&#8203;uphillcheddar](https://github.com/uphillcheddar) in [#&#8203;21976](https://github.com/immich-app/immich/pull/21976) - fix(server): bulk edit rating by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;21839](https://github.com/immich-app/immich/pull/21839) - fix: distance of segment label overlapsed scrubber label by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;22043](https://github.com/immich-app/immich/pull/22043) - fix: navigate to time by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;22078](https://github.com/immich-app/immich/pull/22078) - fix(web): issue with modal locking the page by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;22079](https://github.com/immich-app/immich/pull/22079) - fix(mobile): prevent concurrent refresh and processing tasks by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;22111](https://github.com/immich-app/immich/pull/22111) - chore(deps): bump flutter to 3.35.3 by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;22054](https://github.com/immich-app/immich/pull/22054) - fix: poll counts from DB rather than using callbacks from library by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;22117](https://github.com/immich-app/immich/pull/22117) - fix: beta migration check by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;22092](https://github.com/immich-app/immich/pull/22092) - fix: ensure background worker is scheduled when the app is dismissed by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;22032](https://github.com/immich-app/immich/pull/22032) - fix: display album image in selection mode by [@&#8203;vitoksmile](https://github.com/vitoksmile) in [#&#8203;22087](https://github.com/immich-app/immich/pull/22087) - fix: initial size of bottom sheet by [@&#8203;vitoksmile](https://github.com/vitoksmile) in [#&#8203;22085](https://github.com/immich-app/immich/pull/22085) - fix: Refresh photo after updating featured photo by [@&#8203;stewx](https://github.com/stewx) in [#&#8203;21971](https://github.com/immich-app/immich/pull/21971) - fix(mobile): load original image by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;22142](https://github.com/immich-app/immich/pull/22142) - fix: show delete on device when asset has a local match by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;22143](https://github.com/immich-app/immich/pull/22143) - fix: do not migrate existing users by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;22146](https://github.com/immich-app/immich/pull/22146) - fix(web): download panel by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;22150](https://github.com/immich-app/immich/pull/22150) - fix(mobile): thumbnail shimmering effect by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;22158](https://github.com/immich-app/immich/pull/22158) - fix: asset viewer background isn't shown by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;22161](https://github.com/immich-app/immich/pull/22161) - fix: show thumbnail instantly when jumping to top of the page by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;22163](https://github.com/immich-app/immich/pull/22163) - fix(mobile): stack row blocking gestures and not showing up by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;21854](https://github.com/immich-app/immich/pull/21854) - chore: refresh backup stats when entering backup page by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;21977](https://github.com/immich-app/immich/pull/21977) - fix: display thumbnail while scrubbing paused by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;22164](https://github.com/immich-app/immich/pull/22164) - fix(web): do not upscale small pictures by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;22191](https://github.com/immich-app/immich/pull/22191) - fix: get scrubber in search view working by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;22175](https://github.com/immich-app/immich/pull/22175) - fix: sqlite parameters limit by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;22119](https://github.com/immich-app/immich/pull/22119) - fix(mobile): smaller search page size by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;22210](https://github.com/immich-app/immich/pull/22210) - fix: automatically remove leading/trailing whitespace from search que… by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;22214](https://github.com/immich-app/immich/pull/22214) - fix(web): show danger/warning when taken dates overlap by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;22213](https://github.com/immich-app/immich/pull/22213) - fix(web): copy to clipboard on safari by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;22217](https://github.com/immich-app/immich/pull/22217) - fix(web): only copy images via canvas by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;22225](https://github.com/immich-app/immich/pull/22225) - fix: local share action not working on iPad by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;22238](https://github.com/immich-app/immich/pull/22238) - fix: retain scroll position on scale update by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;22237](https://github.com/immich-app/immich/pull/22237) ##### 📚 Documentation - docs: add community immich-birthday and immich-stack projects by [@&#8203;sid3windr](https://github.com/sid3windr) in [#&#8203;21934](https://github.com/immich-app/immich/pull/21934) - chore(docs): add an updated Podman/Quadlets community guide by [@&#8203;linux-universe](https://github.com/linux-universe) in [#&#8203;20744](https://github.com/immich-app/immich/pull/20744) ##### 🌐 Translations - chore(web): update translations by [@&#8203;weblate](https://github.com/weblate) in [#&#8203;21842](https://github.com/immich-app/immich/pull/21842) #### New Contributors - [@&#8203;uphillcheddar](https://github.com/uphillcheddar) made their first contribution in [#&#8203;21976](https://github.com/immich-app/immich/pull/21976) - [@&#8203;sid3windr](https://github.com/sid3windr) made their first contribution in [#&#8203;21934](https://github.com/immich-app/immich/pull/21934) - [@&#8203;linux-universe](https://github.com/linux-universe) made their first contribution in [#&#8203;20744](https://github.com/immich-app/immich/pull/20744) - [@&#8203;vitoksmile](https://github.com/vitoksmile) made their first contribution in [#&#8203;22087](https://github.com/immich-app/immich/pull/22087) **Full Changelog**: <https://github.com/immich-app/immich/compare/v1.142.1...v1.143.0> ### [`v1.142.1`](https://github.com/immich-app/immich/releases/tag/v1.142.1) [Compare Source](https://github.com/immich-app/immich/compare/v1.142.0...v1.142.1) ### v1.142.1 *Hey guys, Alex here.* *Sorry about the rocky release of version `v1.142.0`. Instead of giving you guys a better experience with the timeline, a mistake in the migration flow code that I wrote put the app into an erroneous state that makes it seem like the new timeline isn't working at all, and the only way to fix that was to log out and log back in manually. For that, I personally apologize for the inconvenience and the frustration that I caused over the weekend. This patch release addresses those issues and some other bugs that were reported over the weekend. If you have problems, please don't hesitate to reach out to me or the team on Discord or GitHub* *Alex* *** In release `v1.142.0`, during the migration from the old timeline to the new one on the mobile app, the sync checkpoint isn't getting reset, leading to the data not being pulled from the server. During the development of the new timeline, while on the old timeline, the sync endpoint might have been triggered at some points. The missing sync information creates a perception of data loss and mismatched sync information for the mobile app. This release reset the sync checkpoints so that they can be pulled down correctly for everyone. > \[!TIP] > For the new timeline to pull the correct information, please consider updating your server to the latest version. We have seen reports that the timeline isn't working because it was connecting to an older version of the server This patch release also addresses the reliability of background sync on Android. We suggest that you don't swipe away to dismiss the app, but keep it in the background; this will prevent the background worker from being terminated by the OS. Further optimization of the background worker's operation when the app is dismissed will be implemented in the next few days, pending additional testing. #### What's Changed ##### 🐛 Bug fixes - fix: format point count numbers on map view by [@&#8203;stewx](https://github.com/stewx) in [#&#8203;21848](https://github.com/immich-app/immich/pull/21848) - chore: improve context button accessibility by [@&#8203;stewx](https://github.com/stewx) in [#&#8203;21876](https://github.com/immich-app/immich/pull/21876) - fix: z-index of top bar on show/hide people view by [@&#8203;stewx](https://github.com/stewx) in [#&#8203;21847](https://github.com/immich-app/immich/pull/21847) - fix: keep adequate space around page title by [@&#8203;stewx](https://github.com/stewx) in [#&#8203;21881](https://github.com/immich-app/immich/pull/21881) - chore: improve date text slide-in transition by [@&#8203;stewx](https://github.com/stewx) in [#&#8203;21879](https://github.com/immich-app/immich/pull/21879) - fix: context menu jank by [@&#8203;stewx](https://github.com/stewx) in [#&#8203;21844](https://github.com/immich-app/immich/pull/21844) - fix: do not show stack action if there is only one selection by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;21868](https://github.com/immich-app/immich/pull/21868) - fix: show view in timeline from search page by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;21873](https://github.com/immich-app/immich/pull/21873) - fix(mobile): double hero animation by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;21927](https://github.com/immich-app/immich/pull/21927) - fix: complete does not destroy engine on close by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;21943](https://github.com/immich-app/immich/pull/21943) - feat: disable snapping when a timeline has less than 12 months by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;21649](https://github.com/immich-app/immich/pull/21649) - fix: do not listen for store updates in isolates by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;21947](https://github.com/immich-app/immich/pull/21947) - fix: check if preferencesStore is defined by [@&#8203;piscis](https://github.com/piscis) in [#&#8203;21958](https://github.com/immich-app/immich/pull/21958) - fix: reset sqlite on beta migration by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;20735](https://github.com/immich-app/immich/pull/20735) - fix: move startInitialization to inside the doWork method by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;21984](https://github.com/immich-app/immich/pull/21984) - chore: making order of background tasks better by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;21928](https://github.com/immich-app/immich/pull/21928) - chore(mobile): minor changes to bottom sheet by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;22008](https://github.com/immich-app/immich/pull/22008) #### New Contributors - [@&#8203;stewx](https://github.com/stewx) made their first contribution in [#&#8203;21848](https://github.com/immich-app/immich/pull/21848) - [@&#8203;piscis](https://github.com/piscis) made their first contribution in [#&#8203;21958](https://github.com/immich-app/immich/pull/21958) **Full Changelog**: <https://github.com/immich-app/immich/compare/v1.142.0...v1.142.1> ### [`v1.142.0`](https://github.com/immich-app/immich/releases/tag/v1.142.0) [Compare Source](https://github.com/immich-app/immich/compare/v1.141.1...v1.142.0) ### v1.142.0 #### Highlights Welcome to release `v1.142.0` of Immich. Starting with this version, the beta timeline is now the default version for the app. When you first open the app after updating, it will check and run the on-device migration steps for those that are on the old timeline, after that you can close and relaunch the app to start with a better app experience. We want to express our sincere gratitude again for the users who have been using the new version to help us polish it, and for those who work closely with us to tackle weird bugs. As always, this version comes with many bug fixes for the server, web and the mobile app. Let’s dive into some of the highlights below. - Resume all paused jobs - Geolocation utility improvements - Read-only mode toggle on the mobile app has changed to a long-press behavior instead of a double-tap - Notable fix: Raspberry Pi 4 crashes when generating thumbnails - If you were affected by this bug and set the environmental variable `VIPS_NOVECTOR=1`, you should remove this variable when upgrading to this Immich release or above ##### Resume all paused jobs The job administration page now comes with a resume all button. This is especially helpful for users who are importing their libraries to Immich via [immich-go](https://github.com/simulot/immich-go), which pauses all jobs during upload, including background jobs not visible in the UI. If the process fails mid-way, the jobs stay paused until the admin either recreates the Redis container or manually resumes them. If you’ve been having problems with the trash not clearing or memories not generating, make sure to check this button. <img width="800" alt="image" src="https://github.com/user-attachments/assets/a55362b7-21bc-48d1-acbc-47a7fdf395db" /> ##### Geolocation utility improvements The geolocation utility has been converted to a timeline view, so you can easily scroll through your entire library while investigating <img width="800" alt="image" src="https://github.com/user-attachments/assets/e38c7b39-1b0d-4552-94b2-444579f2e137" /> You can now browse the timeline, and at the same time, fill in the missing coordinates for your assets. Thanks [@&#8203;Johannbr](https://github.com/Johannbr) for your continued work on this. #### Support Immich <p align="center"> <img src="https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExbjY2eWc5Y2F0ZW56MmR4aWE0dDhzZXlidXRmYWZyajl1bWZidXZpcyZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/87CKDqErVfMqY/giphy.gif" width="450" title="SUPPORT THE PROJECT!"> </p> 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 ##### 🫥 Deprecated Changes - feat: add partner create endpoint by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;21625](https://github.com/immich-app/immich/pull/21625) - chore: deprecate `replaceAsset` by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;21791](https://github.com/immich-app/immich/pull/21791) ##### 🚀 Features - feat: workflow for automated translations merge by [@&#8203;bo0tzz](https://github.com/bo0tzz) in [#&#8203;21639](https://github.com/immich-app/immich/pull/21639) - chore: make beta timeline the default by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;21751](https://github.com/immich-app/immich/pull/21751) ##### 🌟 Enhancements - feat: add button to unpause all queues by [@&#8203;bo0tzz](https://github.com/bo0tzz) in [#&#8203;21685](https://github.com/immich-app/immich/pull/21685) - feat(web): use timeline in geolocation manager by [@&#8203;Johannbr](https://github.com/Johannbr) in [#&#8203;21492](https://github.com/immich-app/immich/pull/21492) ##### 🐛 Bug fixes - fix(server): remove pcm from default accepted codecs by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;21655](https://github.com/immich-app/immich/pull/21655) - fix(server): valid backups with `DB_URL` env variable config by [@&#8203;peterbuga](https://github.com/peterbuga) in [#&#8203;21669](https://github.com/immich-app/immich/pull/21669) - feat: sync AuthUserV1 by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;21565](https://github.com/immich-app/immich/pull/21565) - fix: prevent isolate deadlock by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;21692](https://github.com/immich-app/immich/pull/21692) - fix: use relative path in [start.sh](http://start.sh) by [@&#8203;dvdkon](https://github.com/dvdkon) in [#&#8203;20434](https://github.com/immich-app/immich/pull/20434) - fix: prefer Creation Date over Create Date by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;21756](https://github.com/immich-app/immich/pull/21756) - fix(web): cancel uploads on logout by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;21760](https://github.com/immich-app/immich/pull/21760) - fix(web): transparent background color by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;21747](https://github.com/immich-app/immich/pull/21747) - fix(web): website frozen after modal closes by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;21752](https://github.com/immich-app/immich/pull/21752) - fix(web): map popup accessibility by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;21759](https://github.com/immich-app/immich/pull/21759) - fix(server): correct immich-cli symlink in Immich docker image by [@&#8203;skatsubo](https://github.com/skatsubo) in [#&#8203;21318](https://github.com/immich-app/immich/pull/21318) - fix: welcome email password by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;21732](https://github.com/immich-app/immich/pull/21732) - fix(mobile): Change read-only mode activation method to remove double click lag by [@&#8203;goalie2002](https://github.com/goalie2002) in [#&#8203;21743](https://github.com/immich-app/immich/pull/21743) - fix(web): memory viewer arrow navigation by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;19400](https://github.com/immich-app/immich/pull/19400) - chore(deps): update base image to trixie by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;21786](https://github.com/immich-app/immich/pull/21786) - fix(web): asset refresh by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;21788](https://github.com/immich-app/immich/pull/21788) - fix(web): map in album shared link by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;21793](https://github.com/immich-app/immich/pull/21793) - fix(server): validate token permission by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;21802](https://github.com/immich-app/immich/pull/21802) - fix: android background backups by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;21795](https://github.com/immich-app/immich/pull/21795) - fix: concurrency issue by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;21830](https://github.com/immich-app/immich/pull/21830) - fix: always use en locale for parsing timeline datetime by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;21796](https://github.com/immich-app/immich/pull/21796) - fix(web): handle buckets before year 1000 by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;21832](https://github.com/immich-app/immich/pull/21832) ##### 📚 Documentation - docs: be explicit about which container exposes metrics by [@&#8203;per-review](https://github.com/per-review) in [#&#8203;20424](https://github.com/immich-app/immich/pull/20424) - docs: add community immich drop uploader project by [@&#8203;papuass](https://github.com/papuass) in [#&#8203;21775](https://github.com/immich-app/immich/pull/21775) - fix(docs): fix the SQL query for finding assets with missing thumbnails by [@&#8203;skatsubo](https://github.com/skatsubo) in [#&#8203;21770](https://github.com/immich-app/immich/pull/21770) - docs: improve and clarify XMP sidecar behavior by [@&#8203;trommegutten](https://github.com/trommegutten) in [#&#8203;20334](https://github.com/immich-app/immich/pull/20334) - docs: update tag details by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;21815](https://github.com/immich-app/immich/pull/21815) ##### 🌐 Translations - chore: update README by [@&#8203;zvirja](https://github.com/zvirja) in [#&#8203;21718](https://github.com/immich-app/immich/pull/21718) - chore(web): update translations by [@&#8203;weblate](https://github.com/weblate) in [#&#8203;21624](https://github.com/immich-app/immich/pull/21624) - chore(web): update translations by [@&#8203;weblate](https://github.com/weblate) in [#&#8203;21814](https://github.com/immich-app/immich/pull/21814) #### New Contributors - [@&#8203;peterbuga](https://github.com/peterbuga) made their first contribution in [#&#8203;21669](https://github.com/immich-app/immich/pull/21669) - [@&#8203;per-review](https://github.com/per-review) made their first contribution in [#&#8203;20424](https://github.com/immich-app/immich/pull/20424) - [@&#8203;papuass](https://github.com/papuass) made their first contribution in [#&#8203;21775](https://github.com/immich-app/immich/pull/21775) - [@&#8203;zvirja](https://github.com/zvirja) made their first contribution in [#&#8203;21718](https://github.com/immich-app/immich/pull/21718) - [@&#8203;trommegutten](https://github.com/trommegutten) made their first contribution in [#&#8203;20334](https://github.com/immich-app/immich/pull/20334) **Full Changelog**: <https://github.com/immich-app/immich/compare/v1.141.1...v1.142.0> ### [`v1.141.1`](https://github.com/immich-app/immich/releases/tag/v1.141.1) [Compare Source](https://github.com/immich-app/immich/compare/v1.140.1...v1.141.1) ### v1.141.1 #### Highlight Welcome to the release `v1.141.1` of Immich, as hot as this summer gets, the beta timeline is ready to be taken out of the kitchen, now with more features and bug fixes. Let’s dive right in while it’s still hot - \[beta] Auto-add uploaded assets to albums - View similar photos - DigitalOcean 1-click deployment - Notable fix - thumbnail generation for 200MP HEIC images ##### \[beta] Auto-add uploaded assets to albums. This feature has made its way back to the beta timeline. You can enable this feature on the `Backup Options` page. The current selected albums for backup will be linked with the album of the same name on the server, or a new album will be created if those albums don’t exist. Assets uploaded will be placed in the respective linked album. <p align="center"> <img width="300" alt="image" src="https://github.com/user-attachments/assets/06aee5e9-c228-47af-8f66-1e42954e4964" /> </p> ##### View similar photos On the web, you can now look for similar photos or videos when viewing an asset by clicking on the `context menu > Find similar photos`. Powered by CLIP search to quickly identify photos with similar scenery and context <p align="center"> <img width="600" alt="image" src="https://github.com/user-attachments/assets/88e92f5d-28a3-44c6-8a35-7205ec901b1b" /> <img width="600" alt="image" src="https://github.com/user-attachments/assets/bd9ce189-652c-490b-8e3b-f07c981aaa1a" /> </p> ##### Digital Ocean 1-Click Deployment To help users who are interested in trying out the application without setting it up on their infrastructure, or who do not have the infrastructure available yet. We now have the option to deploy Immich directly on DigitalOcean. The default configuration is the smallest pod size that can run Immich comfortably. The new instance is set up with a default reverse proxy that handles TLS. For more information, you can read [here](https://marketplace.digitalocean.com/apps/immich). You can give it a try by clicking the button below <p align="center"> <a href="https://cloud.digitalocean.com/droplets/new?onboarding_origin=marketplace&appId=198842662&image=futo-immich&activation_redirect=%2Fdroplets%2Fnew%3FappId%3D198842662%26image%3Dfuto-immich"> <img width="252" alt="image" src="https://github.com/user-attachments/assets/096b2035-9a3f-4288-9302-13cbd1d720b9" /> </a> </p> #### Support Immich <p align="center"> <img src="https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExbjY2eWc5Y2F0ZW56MmR4aWE0dDhzZXlidXRmYWZyajl1bWZidXZpcyZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/87CKDqErVfMqY/giphy.gif" width="450" title="SUPPORT THE PROJECT!"> </p> 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> <!-- Release notes generated using configuration in .github/release.yml at v1.141.1 --> #### What's Changed ##### 🚀 Features - feat: view similar photos by [@&#8203;normana10](https://github.com/normana10) in [#&#8203;21108](https://github.com/immich-app/immich/pull/21108) - feat: album info sync by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;21103](https://github.com/immich-app/immich/pull/21103) ##### 🌟 Enhancements - fix(web): wait for image to load before playing memories. by [@&#8203;dagstuan](https://github.com/dagstuan) in [#&#8203;19757](https://github.com/immich-app/immich/pull/19757) - feat(mobile): copy file name by long-press by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;21469](https://github.com/immich-app/immich/pull/21469) - feat(mobile): add to albums from existing albums by [@&#8203;pedrosimao](https://github.com/pedrosimao) in [#&#8203;21554](https://github.com/immich-app/immich/pull/21554) - feat(mobile): scrubber haptics (beta timeline) by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;21351](https://github.com/immich-app/immich/pull/21351) ##### 🐛 Bug fixes - fix(mobile): readonly mode disable tabs when in landscape mode by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;21475](https://github.com/immich-app/immich/pull/21475) - fix(web): Show full date when hovering over photos date groups by [@&#8203;Snowknight26](https://github.com/Snowknight26) in [#&#8203;21462](https://github.com/immich-app/immich/pull/21462) - fix(mobile): increase thumbnail resolution by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;21502](https://github.com/immich-app/immich/pull/21502) - fix: show TabShellRoute when cold starting from deeplink by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;21376](https://github.com/immich-app/immich/pull/21376) - fix: filter null duplicate assets by [@&#8203;ItzDerock](https://github.com/ItzDerock) in [#&#8203;21507](https://github.com/immich-app/immich/pull/21507) - fix(mobile): decoding at higher resolution than necessary by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;21503](https://github.com/immich-app/immich/pull/21503) - fix(mobile): ensure current asset is set in asset viewer by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;21504](https://github.com/immich-app/immich/pull/21504) - fix: handle datetime outside the valid range supported by dart by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;21526](https://github.com/immich-app/immich/pull/21526) - fix: set specific AssetUpload permission on checkBulkUpload endpoint by [@&#8203;bo0tzz](https://github.com/bo0tzz) in [#&#8203;21470](https://github.com/immich-app/immich/pull/21470) - fix: iOS portrait photo saved as jpg extension by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;21388](https://github.com/immich-app/immich/pull/21388) - fix: local sync task never runs on iOS by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;21491](https://github.com/immich-app/immich/pull/21491) - fix: keyboard not dismissed in places page by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;21583](https://github.com/immich-app/immich/pull/21583) - fix(mobile): pause image loading on inactive state by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;21543](https://github.com/immich-app/immich/pull/21543) - fix(mobile): readonly mode fixes by [@&#8203;Sud-Puth](https://github.com/Sud-Puth) in [#&#8203;21545](https://github.com/immich-app/immich/pull/21545) - fix(mobile): Hide system UI when entering immersive mode in asset viewer by [@&#8203;goalie2002](https://github.com/goalie2002) in [#&#8203;21539](https://github.com/immich-app/immich/pull/21539) - fix(web): Make Manage location utility header responsive by [@&#8203;Snowknight26](https://github.com/Snowknight26) in [#&#8203;21480](https://github.com/immich-app/immich/pull/21480) - fix(mobile): pinch + move scale by [@&#8203;waclaw66](https://github.com/waclaw66) in [#&#8203;21332](https://github.com/immich-app/immich/pull/21332) - fix: retain filter and sort options when pulling to refresh by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;21452](https://github.com/immich-app/immich/pull/21452) - fix: sidecar check job by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;21312](https://github.com/immich-app/immich/pull/21312) - fix: use lock to synchronise foreground and background backup by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;21522](https://github.com/immich-app/immich/pull/21522) - fix: asset upload metadata validation by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;21594](https://github.com/immich-app/immich/pull/21594) - chore(deps): bump sharp to 0.34.3 by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;21596](https://github.com/immich-app/immich/pull/21596) - fix(mobile): Correction of image creation date by using mtime instead… by [@&#8203;StarGest](https://github.com/StarGest) in [#&#8203;21508](https://github.com/immich-app/immich/pull/21508) - fix(mobile): location button map beta timeline by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;21590](https://github.com/immich-app/immich/pull/21590) - fix(server): consider asset creation date when EXIF is missing by [@&#8203;riccardoruspoli](https://github.com/riccardoruspoli) in [#&#8203;21586](https://github.com/immich-app/immich/pull/21586) - fix: memory not getting refreshed on new day by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;21623](https://github.com/immich-app/immich/pull/21623) - chore: robust isolation tasks coordination by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;21605](https://github.com/immich-app/immich/pull/21605) ##### 🌐 Translations - chore(web): update translations by [@&#8203;weblate](https://github.com/weblate) in [#&#8203;21130](https://github.com/immich-app/immich/pull/21130) - chore(web): update translations by [@&#8203;weblate](https://github.com/weblate) in [#&#8203;21464](https://github.com/immich-app/immich/pull/21464) #### New Contributors - [@&#8203;ItzDerock](https://github.com/ItzDerock) made their first contribution in [#&#8203;21507](https://github.com/immich-app/immich/pull/21507) - [@&#8203;pedrosimao](https://github.com/pedrosimao) made their first contribution in [#&#8203;21554](https://github.com/immich-app/immich/pull/21554) - [@&#8203;goalie2002](https://github.com/goalie2002) made their first contribution in [#&#8203;21539](https://github.com/immich-app/immich/pull/21539) - [@&#8203;StarGest](https://github.com/StarGest) made their first contribution in [#&#8203;21508](https://github.com/immich-app/immich/pull/21508) - [@&#8203;riccardoruspoli](https://github.com/riccardoruspoli) made their first contribution in [#&#8203;21586](https://github.com/immich-app/immich/pull/21586) **Full Changelog**: <https://github.com/immich-app/immich/compare/v1.140.1...v1.141.1> ### [`v1.140.1`](https://github.com/immich-app/immich/releases/tag/v1.140.1) [Compare Source](https://github.com/immich-app/immich/compare/v1.140.0...v1.140.1) ### v1.140.1 #### What's Changed ##### 🐛 Bug fixes - fix(server): folder sort order by [@&#8203;skatsubo](https://github.com/skatsubo) in [#&#8203;21383](https://github.com/immich-app/immich/pull/21383) - fix(server): refresh faces query by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;21380](https://github.com/immich-app/immich/pull/21380) - fix(devcontainer): logging typo by [@&#8203;aaronliu0130](https://github.com/aaronliu0130) in [#&#8203;21415](https://github.com/immich-app/immich/pull/21415) - fix(mobile): memory lane query causes Photos page render a gray screen by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;21422](https://github.com/immich-app/immich/pull/21422) - fix: default zoom level when location is not set by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;21428](https://github.com/immich-app/immich/pull/21428) - fix(web): Prevent changing asset location triggering keyboard shortcuts by [@&#8203;Snowknight26](https://github.com/Snowknight26) in [#&#8203;21451](https://github.com/immich-app/immich/pull/21451) - fix: network criteria for upload LivePhotos by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;21386](https://github.com/immich-app/immich/pull/21386) - fix: show "preparing" when sharing in beta timeline by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;21390](https://github.com/immich-app/immich/pull/21390) ##### 📚 Documentation - chore(docs): Avoid /data in external library examples by [@&#8203;skatsubo](https://github.com/skatsubo) in [#&#8203;21357](https://github.com/immich-app/immich/pull/21357) #### New Contributors - [@&#8203;aaronliu0130](https://github.com/aaronliu0130) made their first contribution in [#&#8203;21415](https://github.com/immich-app/immich/pull/21415) **Full Changelog**: <https://github.com/immich-app/immich/compare/v1.140.0...v1.140.1> ### [`v1.140.0`](https://github.com/immich-app/immich/releases/tag/v1.140.0) [Compare Source](https://github.com/immich-app/immich/compare/v1.139.4...v1.140.0) ### v1.140.0 #### Highlights Welcome to the release `v1.140.0` of Immich, one more release, and one more day closer to 🐴 Stable-Day 🐴. This release continues the ramp-up effort to bring the beta timeline up to the same feature parity as the old one, while also addressing as many bugs as possible. Thanks to our active contributors, some cool features also made their way into this release. We encourage all Immich users to switch to the beta timeline and use it to help us identify and resolve issues. Let’s dive into the highlights of this release. - \[beta] Background sync - \[beta] Read-only mode - Location management utility ##### \[beta] Background sync The background sync feature has now been added to the beta timeline. New assets are now detected and pushed to an upload queue, which will be handled automatically by the OS. Some tasks, such as local and remote data sync, now also run in the background periodically. So that, as soon as you open the app, the newly taken assets are immediately available on the timeline. **For those who have been using the beta timeline, please toggle the upload button off then on again to enable the background workers.** ##### **\[beta] Read-only mode** For parents who have kids who want to look over photos but don’t want them to accidentally delete or perform any action on them, this feature is for you. By double-tapping on the profile photo in the app, you can only view assets in the main timeline, and all the action buttons will be hidden. Thanks, [@&#8203;Sud-Puth](https://github.com/Sud-Puth), for proposing and initiating work on this nifty feature! <img width="200" alt="image" src="https://github.com/user-attachments/assets/95c1dd1b-9dde-43a5-998d-3d974fe4e279" /> ##### Location management utility Thanks to [@&#8203;Johannbr](https://github.com/Johannbr) for putting in time and effort into this feature. You can now find and edit missing location data on a specific date. By going to `Utilities > Manage location` on the web, you will be presented with an interface to select the date to find the assets with missing GPS location and to update them in bulk <img width="800" alt="image" src="https://github.com/user-attachments/assets/add62194-c88b-4a8b-82ee-36586c49591d" /> <img width="800" alt="image" src="https://github.com/user-attachments/assets/8b49b418-26e8-4877-9084-80ef851a6960" /> #### Support Immich <p align="center"> <img src="https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExbjY2eWc5Y2F0ZW56MmR4aWE0dDhzZXlidXRmYWZyajl1bWZidXZpcyZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/87CKDqErVfMqY/giphy.gif" width="450" title="SUPPORT THE PROJECT!"> </p> 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 - feat: beta background sync by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;21243](https://github.com/immich-app/immich/pull/21243) - feat(web): geolocation utility by [@&#8203;Johannbr](https://github.com/Johannbr) in [#&#8203;20758](https://github.com/immich-app/immich/pull/20758) - feat(mobile): read only mode by [@&#8203;Sud-Puth](https://github.com/Sud-Puth) and [@&#8203;bwees](https://github.com/bwees) in [#&#8203;19368](https://github.com/immich-app/immich/pull/19368) ##### 🌟 Enhancements - feat: add support for custom headers to TS SDK by [@&#8203;LukeHagar](https://github.com/LukeHagar) in [#&#8203;21205](https://github.com/immich-app/immich/pull/21205) - feat: expose createdAt in getAssetInfo by [@&#8203;Wingysam](https://github.com/Wingysam) in [#&#8203;21184](https://github.com/immich-app/immich/pull/21184) - feat(web): Refresh album page after sharing by [@&#8203;Snowknight26](https://github.com/Snowknight26) in [#&#8203;21283](https://github.com/immich-app/immich/pull/21283) - feat(web): Album picker shortcut info by [@&#8203;xCJPECKOVERx](https://github.com/xCJPECKOVERx) in [#&#8203;21273](https://github.com/immich-app/immich/pull/21273) ##### 🐛 Bug fixes - fix: devcontainer after pnpm changes by [@&#8203;midzelis](https://github.com/midzelis) in [#&#8203;21227](https://github.com/immich-app/immich/pull/21227) - fix(web): Album multi-select 'm' shortcut prevents typing m in title box by [@&#8203;xCJPECKOVERx](https://github.com/xCJPECKOVERx) in [#&#8203;21249](https://github.com/immich-app/immich/pull/21249) - refactor: service worker by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;21250](https://github.com/immich-app/immich/pull/21250) - fix(web): allow numeric input fields to be zero by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;21258](https://github.com/immich-app/immich/pull/21258) - fix(web): Duplicate arrow shortcuts go to next/previous duplicate when viewing assets by [@&#8203;xCJPECKOVERx](https://github.com/xCJPECKOVERx) in [#&#8203;21200](https://github.com/immich-app/immich/pull/21200) - fix(web): handle multiple downloads in safari by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;21259](https://github.com/immich-app/immich/pull/21259) - fix: album start/end dates on shared links by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;21268](https://github.com/immich-app/immich/pull/21268) - fix: prevent an offline asset from being used as a person feature photo by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;21278](https://github.com/immich-app/immich/pull/21278) - fix(web): suppress auto-play errors by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;21282](https://github.com/immich-app/immich/pull/21282) - fix(mobile): caching thumbnails to disk by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;21275](https://github.com/immich-app/immich/pull/21275) - fix(mobile): skip animation for offscreen thumbnails by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;21277](https://github.com/immich-app/immich/pull/21277) - fix: invalid storage quota with decimals by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;21271](https://github.com/immich-app/immich/pull/21271) - fix(mobile): user storage quota not showing by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;21263](https://github.com/immich-app/immich/pull/21263) - fix(web): album multi-select filter doesn't include other selected albums by [@&#8203;xCJPECKOVERx](https://github.com/xCJPECKOVERx) in [#&#8203;21322](https://github.com/immich-app/immich/pull/21322) - fix(mobile): capitalize month & day labels in beta timeline by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;21323](https://github.com/immich-app/immich/pull/21323) - fix: timeline scroll error handling by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;21324](https://github.com/immich-app/immich/pull/21324) - fix(web): sign up double click by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;21349](https://github.com/immich-app/immich/pull/21349) - fix: motion video extraction race condition by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;21285](https://github.com/immich-app/immich/pull/21285) - fix(web): add primary text color to file upload toast by [@&#8203;Prajwalg19](https://github.com/Prajwalg19) in [#&#8203;21340](https://github.com/immich-app/immich/pull/21340) - fix(mobile): thumbnail requests not being cancelled by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;21331](https://github.com/immich-app/immich/pull/21331) - fix(mobile): memory lane rebuild by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;21350](https://github.com/immich-app/immich/pull/21350) - fix(mobile): fast animations when "disable animations" enabled by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;21309](https://github.com/immich-app/immich/pull/21309) - fix(web): middle click not working on videos by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;21304](https://github.com/immich-app/immich/pull/21304) - fix(mobile): allow gestures in asset viewer before image is loaded by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;21354](https://github.com/immich-app/immich/pull/21354) - fix(web): Slideshow fade occurs when not in slideshow by [@&#8203;xCJPECKOVERx](https://github.com/xCJPECKOVERx) in [#&#8203;21326](https://github.com/immich-app/immich/pull/21326) ##### 📚 Documentation - docs: update italian README: better wording, add some important sections, fixed links and alt texts by [@&#8203;gablilli](https://github.com/gablilli) in [#&#8203;21221](https://github.com/immich-app/immich/pull/21221) - fix: docs typo by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;21269](https://github.com/immich-app/immich/pull/21269) - chore: faq commercial guidelines by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;21320](https://github.com/immich-app/immich/pull/21320) ##### 🌐 Translations - fix(web): Translate confirmation modal header and action buttons by [@&#8203;Snowknight26](https://github.com/Snowknight26) in [#&#8203;21330](https://github.com/immich-app/immich/pull/21330) #### New Contributors - [@&#8203;gablilli](https://github.com/gablilli) made their first contribution in [#&#8203;21221](https://github.com/immich-app/immich/pull/21221) - [@&#8203;LukeHagar](https://github.com/LukeHagar) made their first contribution in [#&#8203;21205](https://github.com/immich-app/immich/pull/21205) - [@&#8203;Prajwalg19](https://github.com/Prajwalg19) made their first contribution in [#&#8203;21340](https://github.com/immich-app/immich/pull/21340) - [@&#8203;Johannbr](https://github.com/Johannbr) made their first contribution in [#&#8203;20758](https://github.com/immich-app/immich/pull/20758) - [@&#8203;Sud-Puth](https://github.com/Sud-Puth) made their first contribution in [#&#8203;19368](https://github.com/immich-app/immich/pull/19368) **Full Changelog**: <https://github.com/immich-app/immich/compare/v1.139.4...v1.140.0> ### [`v1.139.4`](https://github.com/immich-app/immich/releases/tag/v1.139.4) [Compare Source](https://github.com/immich-app/immich/compare/v1.139.3...v1.139.4) ### v1.139.4 #### What's Changed ##### 🐛 Bug fixes - fix: cannot load thumbnail from unknown content length by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;21192](https://github.com/immich-app/immich/pull/21192) - fix: border around dark theme button on onboarding page by [@&#8203;NicholasFlamy](https://github.com/NicholasFlamy) in [#&#8203;20846](https://github.com/immich-app/immich/pull/20846) - fix(web): handle edge cases in timeToSeconds function to prevent crashes by [@&#8203;baldarn](https://github.com/baldarn) in [#&#8203;21019](https://github.com/immich-app/immich/pull/21019) - fix: use composite cache key in user circle avatar by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;21220](https://github.com/immich-app/immich/pull/21220) - fix: wait for watched files to finish being written ([#&#8203;17100](https://github.com/immich-app/immich/issues/17100)) by [@&#8203;TapuCosmo](https://github.com/TapuCosmo) in [#&#8203;21180](https://github.com/immich-app/immich/pull/21180) #### New Contributors - [@&#8203;baldarn](https://github.com/baldarn) made their first contribution in [#&#8203;21019](https://github.com/immich-app/immich/pull/21019) **Full Changelog**: <https://github.com/immich-app/immich/compare/v1.139.3...v1.139.4> ### [`v1.139.3`](https://github.com/immich-app/immich/releases/tag/v1.139.3) [Compare Source](https://github.com/immich-app/immich/compare/v1.139.2...v1.139.3) ### v1.139.3 #### What's Changed ##### 🐛 Bug fixes - fix(web): add to multiple albums translation doesn't have plural formatting by [@&#8203;DevServs](https://github.com/DevServs) in [#&#8203;21087](https://github.com/immich-app/immich/pull/21087) - fix: shared album asset count query by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;21157](https://github.com/immich-app/immich/pull/21157) - fix: parse correct metadata to userDto for SQlite store implmentation by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;21154](https://github.com/immich-app/immich/pull/21154) - fix: sync flow block oAuth login page navigation by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;21187](https://github.com/immich-app/immich/pull/21187) - fix: local offset hours by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;21147](https://github.com/immich-app/immich/pull/21147) - fix: prefer local video if available by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;21119](https://github.com/immich-app/immich/pull/21119) ##### 📚 Documentation - docs: update oauth.md - Authentik link leads to Page Not Found error by [@&#8203;pojlFDlxCOvZ4Kg8y1l4](https://github.com/pojlFDlxCOvZ4Kg8y1l4) in [#&#8203;21186](https://github.com/immich-app/immich/pull/21186) #### New Contributors - [@&#8203;DevServs](https://github.com/DevServs) made their first contribution in [#&#8203;21087](https://github.com/immich-app/immich/pull/21087) - [@&#8203;pojlFDlxCOvZ4Kg8y1l4](https://github.com/pojlFDlxCOvZ4Kg8y1l4) made their first contribution in [#&#8203;21186](https://github.com/immich-app/immich/pull/21186) **Full Changelog**: <https://github.com/immich-app/immich/compare/v1.139.2...v1.139.3> ### [`v1.139.2`](https://github.com/immich-app/immich/releases/tag/v1.139.2) [Compare Source](https://github.com/immich-app/immich/compare/v1.138.1...v1.139.2) ### v1.139.2 *`v1.139.0` and `v1.139.1` have made the ultimate sacrifice for switching from `npm` to `pnpm` in our release pipeline* *** Welcome to release `v1.139.2`. This version continues to bring improvements to the beta timeline, from fixing bugs to significantly improving the image rendering pipeline, especially on Android. We appreciate users who have helped us test out the beta timeline! We encourage you all to switch to it to help us catch more bugs as the stable release is nigh. Let’s dive into the highlights of this release. #### Highlights - \[beta] New image rendering pipeline - \[beta] Show remainder assets detail - Option to skip in the duplicate resolver tools - Add to multiple albums action - \[beta] Fixed the bug that upload progress doesn’t resume upon app restart (really fix it this time) ##### \[beta] New image rendering pipeline Thanks to our one and only wizard [@&#8203;mertalev](https://github.com/mertalev) 🧙, the mobile app now uses our own custom image loading and rendering pipeline, featuring multithreading and a series of other optimizations. In particular, this significantly improves displaying of local images on Android. Not only does this improve thumbnail loading speed, but local thumbnails are noticeably higher quality by avoiding compression. The experience of scrolling the timeline should now be on par with the local gallery app. Additionally, remote assets now benefit from request cancellation to avoid downloading thumbnails that are no longer relevant, further improving responsiveness when quickly scrolling the timeline. ##### \[beta] Show assets pending backup You can now view which assets are in the remaining list of backups. This helps track down problematic assets that cannot be uploaded for some reason. \*cough, iCloud assets, cough\* <p align="center"> <img width="300" alt="image" src="https://github.com/user-attachments/assets/77747baa-eb4f-4947-8dbf-9d1e48a8a547" /> <img width="300" alt="image" src="https://github.com/user-attachments/assets/4c5860a6-5ae1-46b0-9b96-90de8a874686" /> </p> ##### Option to skip an entry in the duplicate resolution utility You can now navigate back and forth to get to other entries in the duplicate list. <p align="center"> <img width="500" alt="image" src="https://github.com/user-attachments/assets/6e2a4b87-75c9-4850-a46e-1ef908b2d09f" /> </p> ##### Add to multiple albums action On the web, you can now add assets to multiple albums at once from the album selection modal. <p align="center"> <img width="500" alt="image" src="https://github.com/user-attachments/assets/71ba8834-f633-4657-856b-a1ff61f2f7dc" /> </p> #### Support Immich <p align="center"> <img src="https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExbjY2eWc5Y2F0ZW56MmR4aWE0dDhzZXlidXRmYWZyajl1bWZidXZpcyZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/87CKDqErVfMqY/giphy.gif" width="450" title="SUPPORT THE PROJECT!"> </p> 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> <!-- Release notes generated using configuration in .github/release.yml at v1.139.2 --> #### What's Changed ##### 🌟 Enhancements - feat(web): Skip duplicates by [@&#8203;xCJPECKOVERx](https://github.com/xCJPECKOVERx) in [#&#8203;20880](https://github.com/immich-app/immich/pull/20880) - feat: get metadata about the current api key by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;21027](https://github.com/immich-app/immich/pull/21027) - feat(web): Add to Multiple Albums by [@&#8203;xCJPECKOVERx](https://github.com/xCJPECKOVERx) in [#&#8203;20072](https://github.com/immich-app/immich/pull/20072) - chore(web): make search result loading behaviour more consistent by [@&#8203;uhthomas](https://github.com/uhthomas) in [#&#8203;20741](https://github.com/immich-app/immich/pull/20741) - feat(mobile): platform thumbnail api by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;20910](https://github.com/immich-app/immich/pull/20910) - feat(mobile): platform image providers by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;20927](https://github.com/immich-app/immich/pull/20927) - feat: show remainder assets info by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;21114](https://github.com/immich-app/immich/pull/21114) - feat(mobile): optimized thumbnail widget by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;21073](https://github.com/immich-app/immich/pull/21073) - feat: add a counter to the duplicate utility by [@&#8203;normana10](https://github.com/normana10) in [#&#8203;21109](https://github.com/immich-app/immich/pull/21109) ##### 🐛 Bug fixes - fix(mobile): show most recent image in album as thumbnail by [@&#8203;aaronjamt](https://github.com/aaronjamt) in [#&#8203;21037](https://github.com/immich-app/immich/pull/21037) - fix: skip albums selected or excluded from backups from deletions by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;21116](https://github.com/immich-app/immich/pull/21116) - fix: thumbnail rendering on backup asset detail tile by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;21120](https://github.com/immich-app/immich/pull/21120) ##### 📚 Documentation - chore: update docs to use pnpm by [@&#8203;danieldietzler](https://github.com/danieldietzler) in [#&#8203;21113](https://github.com/immich-app/immich/pull/21113) ##### 🌐 Translations - chore(web): update translations by [@&#8203;weblate](https://github.com/weblate) in [#&#8203;20449](https://github.com/immich-app/immich/pull/20449) #### New Contributors - [@&#8203;aaronjamt](https://github.com/aaronjamt) made their first contribution in [#&#8203;21037](https://github.com/immich-app/immich/pull/21037) - [@&#8203;normana10](https://github.com/normana10) made their first contribution in [#&#8203;21046](https://github.com/immich-app/immich/pull/21046) **Full Changelog**: <https://github.com/immich-app/immich/compare/v1.138.1...v1.139.2> ### [`v1.138.1`](https://github.com/immich-app/immich/releases/tag/v1.138.1) [Compare Source](https://github.com/immich-app/immich/compare/v1.138.0...v1.138.1) ### v1.138.1 #### What's Changed ##### 🐛 Bug fixes - fix: oauth auto-login infinite loop by [@&#8203;danieldietzler](https://github.com/danieldietzler) in [#&#8203;20904](https://github.com/immich-app/immich/pull/20904) - fix(mobile): always show cast button by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;20935](https://github.com/immich-app/immich/pull/20935) - fix(mobile): don't show view in timeline button when opening cast dialog by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;20934](https://github.com/immich-app/immich/pull/20934) - fix: backup resume more reliable on app start up by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;20907](https://github.com/immich-app/immich/pull/20907) - fix: pinch in finished as zoomed in by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;20936](https://github.com/immich-app/immich/pull/20936) - fix: locked photos shown in beta timeline favorite page by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;20937](https://github.com/immich-app/immich/pull/20937) - refactor: bottom sheet action button by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;20964](https://github.com/immich-app/immich/pull/20964) **Full Changelog**: <https://github.com/immich-app/immich/compare/v1.138.0...v1.138.1> ### [`v1.138.0`](https://github.com/immich-app/immich/releases/tag/v1.138.0) [Compare Source](https://github.com/immich-app/immich/compare/v1.137.3...v1.138.0) ### v1.138.0 > \[!IMPORTANT] > > For users that are using the **beta timeline**, please update your server to `v1.138.0` so that the sync mechanism can work correctly. `v1.138.0` of the mobile app doesn’t sync the data correctly if your server is `v1.137.2` or below. #### Highlights Welcome to the release `v1.138.0` of Immich, this release adds many bugfixes and brings the beta timeline closer to feature parity; thank you all for helping with testing and giving feedback. Please let us know if the release fixes the issues you are facing. Let’s dive into some of the highlights below - Reset PIN code with password - Reset the OAuth ID - \[beta] swipe to delete album - \[beta] improvement in the upload and sync process - \[beta] map view with SQLite #### Reset PIN code with password In order to reset a forgotten PIN code, the admin user used to have to click the “Reset PIN code” button for the user. Now, users can reset their own PIN code by supplying their current password. Note: when password login is disabled, this option is unavailable. Reset via password <img width="400" height="622" alt="image" src="https://github.com/user-attachments/assets/c274499d-38b1-4030-8918-a8ada9707824" /> <img width="800" height="753" alt="image" src="https://github.com/user-attachments/assets/66b9afb5-d738-4aff-abf2-01abd4b85962" /> Reset via admin account <img width="800" height="321" alt="image" src="https://github.com/user-attachments/assets/6d1bb049-1620-459e-8b63-8735ec45d707" /> <img width="800" height="358" alt="image" src="https://github.com/user-attachments/assets/900236c7-7f0c-4d52-82a1-a937e87d6bf6" /> #### Reset OAuth ID Immich stores some configuration in the database to keep track of which OAuth accounts are linked to which Immich users. When migrating to a new authentication system or provider, this configuration becomes invalid and can prevent the user from logging in with the new system. A button and accompanying reminder now exists in the OAuth settings to clear or reset this configuration for all users. <img width="800" height="498" alt="image" src="https://github.com/user-attachments/assets/e6fbdf1e-a81d-437e-9064-11fef4196ca7" /> <img width="800" height="507" alt="image" src="https://github.com/user-attachments/assets/bbc5300a-9f82-4431-98e5-df1b2df2f219" /> <!-- Release notes generated using configuration in .github/release.yml at main --> #### What's Changed ##### 🚨 Breaking Changes - fix: album asset sync must sync new assets in a shared album by [@&#8203;zackpollard](https://github.com/zackpollard) in [#&#8203;20655](https://github.com/immich-app/immich/pull/20655) ##### 🚀 Features - feat(mobile): create shared link for albums by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;20652](https://github.com/immich-app/immich/pull/20652) - feat(mobile): remove from album in asset viewer bar by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;20672](https://github.com/immich-app/immich/pull/20672) - feat(mobile): album shared user editing by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;20671](https://github.com/immich-app/immich/pull/20671) - feat: use sqlite for logging by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;20414](https://github.com/immich-app/immich/pull/20414) - feat: batch change date and time relatively by [@&#8203;mkuehne707](https://github.com/mkuehne707) in [#&#8203;17717](https://github.com/immich-app/immich/pull/17717) - feat(web): reset pin code by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;20766](https://github.com/immich-app/immich/pull/20766) - feat: reset oauth ids by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;20798](https://github.com/immich-app/immich/pull/20798) - feat: edit image in beta timeline by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;20709](https://github.com/immich-app/immich/pull/20709) - feat: swipe to delete album by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;20765](https://github.com/immich-app/immich/pull/20765) ##### 🌟 Enhancements - chore: tweak photo sphere fov and zoom speed constants by [@&#8203;kNoAPP](https://github.com/kNoAPP) in [#&#8203;20595](https://github.com/immich-app/immich/pull/20595) - feat: add server.versionCheck permission by [@&#8203;mib1185](https://github.com/mib1185) in [#&#8203;20555](https://github.com/immich-app/immich/pull/20555) - refactor(mobile): sqlite-based map view by [@&#8203;mertalev](https://github.com/mertalev) and [@&#8203;wuzihao051119](https://github.com/wuzihao051119) in [#&#8203;20665](https://github.com/immich-app/immich/pull/20665) - chore(web): remove arbitrary search result limit by [@&#8203;uhthomas](https://github.com/uhthomas) in [#&#8203;20719](https://github.com/immich-app/immich/pull/20719) - feat(web): don't scroll to visible assets by [@&#8203;uhthomas](https://github.com/uhthomas) in [#&#8203;20729](https://github.com/immich-app/immich/pull/20729) - fix: change all download icons to `mdiDownload` for clarity and consistency by [@&#8203;NicholasFlamy](https://github.com/NicholasFlamy) in [#&#8203;20821](https://github.com/immich-app/immich/pull/20821) - feat: add i18n formatting to `make translation` in mobile makefile by [@&#8203;NicholasFlamy](https://github.com/NicholasFlamy) in [#&#8203;20807](https://github.com/immich-app/immich/pull/20807) - feat: format date and time in /admin/users/ -> Profile section by [@&#8203;miroslawlis](https://github.com/miroslawlis) in [#&#8203;20811](https://github.com/immich-app/immich/pull/20811) ##### 🐛 Bug fixes - fix(mobile): use right translation function for pluralized ICU message format by [@&#8203;zigarn](https://github.com/zigarn) in [#&#8203;20404](https://github.com/immich-app/immich/pull/20404) - fix: add assets to album by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;20626](https://github.com/immich-app/immich/pull/20626) - fix: hide navigation bar in search page during multi-selection by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;20616](https://github.com/immich-app/immich/pull/20616) - fix: adjust search bar padding and visibility based on input state by [@&#8203;wojtaszek171](https://github.com/wojtaszek171) in [#&#8203;20598](https://github.com/immich-app/immich/pull/20598) - fix(mobile): fetch serverConfig before building shared link by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;20638](https://github.com/immich-app/immich/pull/20638) - fix: exif rating rounding by [@&#8203;cford256](https://github.com/cford256) in [#&#8203;20457](https://github.com/immich-app/immich/pull/20457) - fix: improvements to sync and upload when resuming app by [@&#8203;zackpollard](https://github.com/zackpollard) in [#&#8203;20524](https://github.com/immich-app/immich/pull/20524) - fix(mobile): cleanly handle logout when no host is set by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;20521](https://github.com/immich-app/immich/pull/20521) - fix: not clearing local data when logging out while sync is running by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;20646](https://github.com/immich-app/immich/pull/20646) - fix: adjust margin and gap for trailing elements in control app bar by [@&#8203;wojtaszek171](https://github.com/wojtaszek171) in [#&#8203;20645](https://github.com/immich-app/immich/pull/20645) - fix(mobile): use storageIndicator setting for beta timeline by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;20639](https://github.com/immich-app/immich/pull/20639) - fix(mobile): disable memory lane when memories are disabled by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;20642](https://github.com/immich-app/immich/pull/20642) - fix: expand sheet when album search is focused by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;20651](https://github.com/immich-app/immich/pull/20651) - fix: exclude assets that haven't been hashed yet from uploads by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;20684](https://github.com/immich-app/immich/pull/20684) - fix(mobile): use cached thumbnail in full size image provider by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;20637](https://github.com/immich-app/immich/pull/20637) - feat(mobile): use custom headers when connecting in widget by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;20666](https://github.com/immich-app/immich/pull/20666) - fix: empty custom header prevent logging in by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;20693](https://github.com/immich-app/immich/pull/20693) - fix: delete local asset show twice by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;20700](https://github.com/immich-app/immich/pull/20700) - fix(mobile): filter people that have less than 3 faces by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;20705](https://github.com/immich-app/immich/pull/20705) - fix: shared link custom URL photo access authentication by [@&#8203;gaurav-yadav](https://github.com/gaurav-yadav) in [#&#8203;20534](https://github.com/immich-app/immich/pull/20534) - fix: custom-url ssr by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;20704](https://github.com/immich-app/immich/pull/20704) - fix(mobile): show video controls when in locked view by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;20707](https://github.com/immich-app/immich/pull/20707) - fix: server version not fetched after auto login by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;20713](https://github.com/immich-app/immich/pull/20713) - fix: video thumbnail generation for short videos by [@&#8203;patrickgoering](https://github.com/patrickgoering) in [#&#8203;20629](https://github.com/immich-app/immich/pull/20629) - fix: disk info is cleared when profile picture is uploaded by [@&#8203;Lauritz-Tieste](https://github.com/Lauritz-Tieste) in [#&#8203;20411](https://github.com/immich-app/immich/pull/20411) - fix(web): use correct sliding window offset for search results by [@&#8203;uhthomas](https://github.com/uhthomas) in [#&#8203;20726](https://github.com/immich-app/immich/pull/20726) - fix(web): prevent thumbhashes from covering search bar by [@&#8203;uhthomas](https://github.com/uhthomas) in [#&#8203;20720](https://github.com/immich-app/immich/pull/20720) - fix(web): limit max height of search results by [@&#8203;uhthomas](https://github.com/uhthomas) in [#&#8203;20727](https://github.com/immich-app/immich/pull/20727) - fix(mobile): person birthday viewing/editing by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;20731](https://github.com/immich-app/immich/pull/20731) - fix(web): shared-link autocomplete by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;20761](https://github.com/immich-app/immich/pull/20761) - fix(web): fix layout loop with single row grids in explore page by [@&#8203;gabrielsoldani](https://github.com/gabrielsoldani) in [#&#8203;20833](https://github.com/immich-app/immich/pull/20833) - fix: age info cut off by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;20872](https://github.com/immich-app/immich/pull/20872) - fix(mobile): newest/oldest album sort by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;20743](https://github.com/immich-app/immich/pull/20743) - fix: asset\_viewer page viewing experience by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;20889](https://github.com/immich-app/immich/pull/20889) ##### 📚 Documentation - docs: update TrueNAS docs by [@&#8203;Xiticks](https://github.com/Xiticks) in [#&#8203;19990](https://github.com/immich-app/immich/pull/19990) - docs: remove warning about the removed repair page by [@&#8203;aamirazad](https://github.com/aamirazad) in [#&#8203;20746](https://github.com/immich-app/immich/pull/20746) - feat(docs): add `make dev-docs` by [@&#8203;NicholasFlamy](https://github.com/NicholasFlamy) in [#&#8203;20572](https://github.com/immich-app/immich/pull/20572) - docs: include openapi.json by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;20760](https://github.com/immich-app/immich/pull/20760) - feat: more cursed knowledge by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;20794](https://github.com/immich-app/immich/pull/20794) - docs: vectorchord migration instructions, deprecation log on startup by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;20867](https://github.com/immich-app/immich/pull/20867) ##### 🌐 Translations - fix(mobile): enable person age pluralization by [@&#8203;waclaw66](https://github.com/waclaw66) in [#&#8203;20881](https://github.com/immich-app/immich/pull/20881) #### New Contributors - [@&#8203;kNoAPP](https://github.com/kNoAPP) made their first contribution in [#&#8203;20595](https://github.com/immich-app/immich/pull/20595) - [@&#8203;wojtaszek171](https://github.com/wojtaszek171) made their first contribution in [#&#8203;20598](https://github.com/immich-app/immich/pull/20598) - [@&#8203;cford256](https://github.com/cford256) made their first contribution in [#&#8203;20457](https://github.com/immich-app/immich/pull/20457) - [@&#8203;mib1185](https://github.com/mib1185) made their first contribution in [#&#8203;20555](https://github.com/immich-app/immich/pull/20555) - [@&#8203;gaurav-yadav](https://github.com/gaurav-yadav) made their first contribution in [#&#8203;20534](https://github.com/immich-app/immich/pull/20534) - [@&#8203;patrickgoering](https://github.com/patrickgoering) made their first contribution in [#&#8203;20629](https://github.com/immich-app/immich/pull/20629) - [@&#8203;Xiticks](https://github.com/Xiticks) made their first contribution in [#&#8203;19990](https://github.com/immich-app/immich/pull/19990) - [@&#8203;ufizo](https://github.com/ufizo) made their first contribution in [#&#8203;20538](https://github.com/immich-app/immich/pull/20538) - [@&#8203;mkuehne707](https://github.com/mkuehne707) made their first contribution in [#&#8203;17717](https://github.com/immich-app/immich/pull/17717) - [@&#8203;gabrielsoldani](https://github.com/gabrielsoldani) made their first contribution in [#&#8203;20833](https://github.com/immich-app/immich/pull/20833) - [@&#8203;miroslawlis](https://github.com/miroslawlis) made their first contribution in [#&#8203;20811](https://github.com/immich-app/immich/pull/20811) **Full Changelog**: <https://github.com/immich-app/immich/compare/v1.137.3...v1.138.0> ### [`v1.137.3`](https://github.com/immich-app/immich/releases/tag/v1.137.3) [Compare Source](https://github.com/immich-app/immich/compare/v1.137.1...v1.137.3) #### v1.137.3 - Fixes a media location migration issue for people who have `IMMICH_MEDIA_LOCATION` set. (e.g., Unraid) <!-- Release notes generated using configuration in .github/release.yml at v1.137.3 --> #### What's Changed ##### 🐛 Bug fixes - fix: guard IS\_FAVORITE column with SDK check by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;20511](https://github.com/immich-app/immich/pull/20511) - fix: migration if media location is set by [@&#8203;danieldietzler](https://github.com/danieldietzler) in [#&#8203;20532](https://github.com/immich-app/immich/pull/20532) **Full Changelog**: <https://github.com/immich-app/immich/compare/v1.137.2...v1.137.3> ### [`v1.137.1`](https://github.com/immich-app/immich/releases/tag/v1.137.1) [Compare Source](https://github.com/immich-app/immich/compare/v1.137.0...v1.137.1) #### v1.137.1 - Fixes an issue with the `/usr/src/app/upload` => `/data` migration if you don't have any assets in the default library <!-- Release notes generated using configuration in .github/release.yml at main --> #### What's Changed ##### 🐛 Bug fixes - fix: automatic media location migration without internal assets by [@&#8203;danieldietzler](https://github.com/danieldietzler) in [#&#8203;20489](https://github.com/immich-app/immich/pull/20489) **Full Changelog**: <https://github.com/immich-app/immich/compare/v1.137.0...v1.137.1> ### [`v1.137.0`](https://github.com/immich-app/immich/releases/tag/v1.137.0) [Compare Source](https://github.com/immich-app/immich/compare/v1.136.0...v1.137.0) ### v1.137.0 - *knock, knock* - *Who's there?* - *Breaking* - *Breaking who?* - *Breaking changes woohoo, with a stable-release-is-around-the-corner and coming to a server near you (soon™)* > \[!CAUTION] > > # Breaking Changes > > If your current, running version of Immich is `v1.132.0` or newer, there is **NO ACTION** required. If you are updating from version below `v1.132.0` continue reading. > > ## Remove TypeORM ([#&#8203;20366](https://github.com/immich-app/immich/issues/20366)) > > This update requires applications to have started up at least once on `1.132.0+`. See <https://immich.app/errors#typeorm-upgrade> for more details. #### Highlights Welcome to the release `v1.137.0` of 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! - The default `docker-compose.yml` template has changed - Beta timeline - Shared link custom URL - Find large files utility - API key permission improvements ### `docker-compose.yml` template change (optional) The default compose file now uses `/data` instead 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 [#&#8203;20367](https://github.com/immich-app/immich/issues/20367). Prior to this change, uploaded media was located at `/usr/src/app/upload/upload` in 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 ([#&#8203;19999](https://github.com/immich-app/immich/issues/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*. <p align="center"> <img width="500" alt="image" src="https://github.com/user-attachments/assets/06d5dc89-1bb7-462c-a384-f62c3fb0e838" /> <p/> 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. <p align="center"> <img width="500" alt="image" src="https://github.com/user-attachments/assets/171520d5-d03b-45f5-9b51-9bb86ae9fa98" /> <img width="800" alt="image" src="https://github.com/user-attachments/assets/6254ef6c-b57f-4d14-9f74-d03d4da56bd9" /> <p/> #### 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](https://immich.app/docs/api). > \[!CAUTION] > > Related to these changes, a few API permissions have been *renamed*. See [#&#8203;20250](https://github.com/immich-app/immich/issues/20250) for more details. On the web, the New API Key form now includes the newly added permissions, as well as a search bar for quicker access. <p align="center"> <img width="800" alt="image" src="https://github.com/user-attachments/assets/783a8188-e112-4af7-94b0-3b53fd815712" /> <p/> <!-- Release notes generated using configuration in .github/release.yml at main --> #### What's Changed ##### 🚨 Breaking Changes - feat!: more permissions by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;20250](https://github.com/immich-app/immich/pull/20250) - feat!: remove typeorm by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;20366](https://github.com/immich-app/immich/pull/20366) ##### 🚀 Features - feat: automatically detect media location changes by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;20256](https://github.com/immich-app/immich/pull/20256) - feat: find large files utility by [@&#8203;niwla23](https://github.com/niwla23) in [#&#8203;18040](https://github.com/immich-app/immich/pull/18040) - feat: change default media location to /data by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;20367](https://github.com/immich-app/immich/pull/20367) - feat: better endpoint descriptions by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;20439](https://github.com/immich-app/immich/pull/20439) ##### 🌟 Enhancements - feat: don't wait for network on app startup by [@&#8203;zackpollard](https://github.com/zackpollard) in [#&#8203;20232](https://github.com/immich-app/immich/pull/20232) - feat: add to album on new beta timeline by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;20119](https://github.com/immich-app/immich/pull/20119) - feat(web): api key permission search by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;20248](https://github.com/immich-app/immich/pull/20248) - chore: delete action button by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;20261](https://github.com/immich-app/immich/pull/20261) - feat: scroll to top & view in timeline by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;20274](https://github.com/immich-app/immich/pull/20274) - feat(web): auto fit bounds for map modal. by [@&#8203;dagstuan](https://github.com/dagstuan) in [#&#8203;20345](https://github.com/immich-app/immich/pull/20345) - feat: shared links custom URL by [@&#8203;Jed-Giblin](https://github.com/Jed-Giblin) in [#&#8203;19999](https://github.com/immich-app/immich/pull/19999) - feat: support config via systemd credentials by [@&#8203;amarshall](https://github.com/amarshall) in [#&#8203;20406](https://github.com/immich-app/immich/pull/20406) - feat: 3-2-1 backup onboarding card by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;20374](https://github.com/immich-app/immich/pull/20374) - feat: people page/sheet/detail by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;20309](https://github.com/immich-app/immich/pull/20309) - fix(web): Search chip key value heights don't match by [@&#8203;xCJPECKOVERx](https://github.com/xCJPECKOVERx) in [#&#8203;20312](https://github.com/immich-app/immich/pull/20312) - feat: network requirement option for upload by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;20302](https://github.com/immich-app/immich/pull/20302) - feat: drift edit time and date action by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;20377](https://github.com/immich-app/immich/pull/20377) - feat: drift description editor by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;20383](https://github.com/immich-app/immich/pull/20383) ##### 🐛 Bug fixes - fix: override SSL options inside isolates by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;20142](https://github.com/immich-app/immich/pull/20142) - fix: fallback auto grouping to day grouping by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;20156](https://github.com/immich-app/immich/pull/20156) - fix: update trash action i18n keys by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;20164](https://github.com/immich-app/immich/pull/20164) - chore: remove build flavor Android by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;20161](https://github.com/immich-app/immich/pull/20161) - fix: send correct includeArchived parameter to API when showing markers in map by [@&#8203;pelluch](https://github.com/pelluch) in [#&#8203;20117](https://github.com/immich-app/immich/pull/20117) - fix(web): multi-select in ascending asset order by [@&#8203;wuzihao051119](https://github.com/wuzihao051119) in [#&#8203;19461](https://github.com/immich-app/immich/pull/19461) - fix(mobile): hide video thumbnail when video is ready by [@&#8203;johnstef99](https://github.com/johnstef99) in [#&#8203;19328](https://github.com/immich-app/immich/pull/19328) - fix: geodata\_places pkey migration failing for certain upgrade paths by [@&#8203;zackpollard](https://github.com/zackpollard) in [#&#8203;20177](https://github.com/immich-app/immich/pull/20177) - fix: add beta toggle in landscape mode by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;20187](https://github.com/immich-app/immich/pull/20187) - fix: add missing `await`s when changing client certificate by [@&#8203;jfly](https://github.com/jfly) in [#&#8203;20189](https://github.com/immich-app/immich/pull/20189) - fix: android backup album migration without recents by [@&#8203;zackpollard](https://github.com/zackpollard) in [#&#8203;20220](https://github.com/immich-app/immich/pull/20220) - fix: optional number inputs by [@&#8203;danieldietzler](https://github.com/danieldietzler) in [#&#8203;20218](https://github.com/immich-app/immich/pull/20218) - fix: character width calculation by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;20201](https://github.com/immich-app/immich/pull/20201) - fix: word wrapping on action buttons by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;20231](https://github.com/immich-app/immich/pull/20231) - fix: lookup the primary key constraint name before dropping it by [@&#8203;zackpollard](https://github.com/zackpollard) in [#&#8203;20221](https://github.com/immich-app/immich/pull/20221) - fix(mobile): deep links when using the beta timeline by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;20111](https://github.com/immich-app/immich/pull/20111) - fix(mobile): beta search page improvements by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;20247](https://github.com/immich-app/immich/pull/20247) - fix(mobile): places search not working in beta version by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;20284](https://github.com/immich-app/immich/pull/20284) - fix: no hero animation after tab change by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;20285](https://github.com/immich-app/immich/pull/20285) - fix: remainder backup count by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;20270](https://github.com/immich-app/immich/pull/20270) - fix: share to app upload by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;20271](https://github.com/immich-app/immich/pull/20271) - fix: error on navigating back from backup selection page by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;20299](https://github.com/immich-app/immich/pull/20299) - fix(web): Album picker recent albums don't match sidebar by [@&#8203;xCJPECKOVERx](https://github.com/xCJPECKOVERx) in [#&#8203;20313](https://github.com/immich-app/immich/pull/20313) - fix: change translation key for archive action button by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;20336](https://github.com/immich-app/immich/pull/20336) - fix: backup indicator in beta app bar by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;20354](https://github.com/immich-app/immich/pull/20354) - fix: handle back gesture in multi selection mode by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;20356](https://github.com/immich-app/immich/pull/20356) - fix: handle cleanup of new backups alongside old backups by [@&#8203;zackpollard](https://github.com/zackpollard) in [#&#8203;20402](https://github.com/immich-app/immich/pull/20402) - fix: android widget periodic updates by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;20389](https://github.com/immich-app/immich/pull/20389) - fix: show missing local assets only in timeline with partner sharing by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;20298](https://github.com/immich-app/immich/pull/20298) - fix: sync is\_favorite from native by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;20412](https://github.com/immich-app/immich/pull/20412) - fix(web): timeline date group width by [@&#8203;ben-basten](https://github.com/ben-basten) in [#&#8203;19964](https://github.com/immich-app/immich/pull/19964) - fix: exclude assets from excluded albumbs on main timeline by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;20425](https://github.com/immich-app/immich/pull/20425) - fix: user profile images not working in beta timeline by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;20203](https://github.com/immich-app/immich/pull/20203) - fix(web): timeline time bucket issue by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;20438](https://github.com/immich-app/immich/pull/20438) - fix: json encoding failure during live photo download by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;20444](https://github.com/immich-app/immich/pull/20444) - fix(mobile): add partial index based on library ID to remote assets by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;20214](https://github.com/immich-app/immich/pull/20214) - fix: clear local file cache before upload by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;20448](https://github.com/immich-app/immich/pull/20448) - fix(download): handle completed downloads and refresh albums by [@&#8203;PeterOmbodi](https://github.com/PeterOmbodi) in [#&#8203;20241](https://github.com/immich-app/immich/pull/20241) - fix: incorrect next/previous action after folder view refresh by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;20447](https://github.com/immich-app/immich/pull/20447) - fix: modal race conditions by [@&#8203;danieldietzler](https://github.com/danieldietzler) in [#&#8203;20460](https://github.com/immich-app/immich/pull/20460) ##### 📚 Documentation - docs: more make commands and add mobile checks to pr-checklist by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;20211](https://github.com/immich-app/immich/pull/20211) - chore: add missing 'make pigeon' instruction by [@&#8203;jfly](https://github.com/jfly) in [#&#8203;20202](https://github.com/immich-app/immich/pull/20202) - fix(docs): update SQL queries with schema changes by [@&#8203;mmomjian](https://github.com/mmomjian) in [#&#8203;20297](https://github.com/immich-app/immich/pull/20297) - feat(docs): reorganize DB queries, add tags by [@&#8203;mmomjian](https://github.com/mmomjian) in [#&#8203;20303](https://github.com/immich-app/immich/pull/20303) - docs: add immich\_ml\_balancer to community projects by [@&#8203;apetersson](https://github.com/apetersson) in [#&#8203;20399](https://github.com/immich-app/immich/pull/20399) - docs: Add config example for Authelia by [@&#8203;Starbix](https://github.com/Starbix) in [#&#8203;20223](https://github.com/immich-app/immich/pull/20223) ##### 🌐 Translations - fix(mobile): distinguish backup settings title from 'backup\_controller\_page\_backup' translation entry by [@&#8203;zigarn](https://github.com/zigarn) in [#&#8203;20237](https://github.com/immich-app/immich/pull/20237) - fix(mobile): remove unused translation and pluralize existing one for map photos count by [@&#8203;zigarn](https://github.com/zigarn) in [#&#8203;20282](https://github.com/immich-app/immich/pull/20282) - chore(web): update translations by [@&#8203;weblate](https://github.com/weblate) in [#&#8203;20105](https://github.com/immich-app/immich/pull/20105) #### New Contributors - [@&#8203;pelluch](https://github.com/pelluch) made their first contribution in [#&#8203;20117](https://github.com/immich-app/immich/pull/20117) - [@&#8203;jfly](https://github.com/jfly) made their first contribution in [#&#8203;20189](https://github.com/immich-app/immich/pull/20189) - [@&#8203;zigarn](https://github.com/zigarn) made their first contribution in [#&#8203;20237](https://github.com/immich-app/immich/pull/20237) - [@&#8203;beposec](https://github.com/beposec) made their first contribution in [#&#8203;20283](https://github.com/immich-app/immich/pull/20283) - [@&#8203;Jed-Giblin](https://github.com/Jed-Giblin) made their first contribution in [#&#8203;19999](https://github.com/immich-app/immich/pull/19999) - [@&#8203;niwla23](https://github.com/niwla23) made their first contribution in [#&#8203;18040](https://github.com/immich-app/immich/pull/18040) - [@&#8203;apetersson](https://github.com/apetersson) made their first contribution in [#&#8203;20399](https://github.com/immich-app/immich/pull/20399) - [@&#8203;amarshall](https://github.com/amarshall) made their first contribution in [#&#8203;20406](https://github.com/immich-app/immich/pull/20406) - [@&#8203;Starbix](https://github.com/Starbix) made their first contribution in [#&#8203;20223](https://github.com/immich-app/immich/pull/20223) - [@&#8203;PeterOmbodi](https://github.com/PeterOmbodi) made their first contribution in [#&#8203;20241](https://github.com/immich-app/immich/pull/20241) **Full Changelog**: <https://github.com/immich-app/immich/compare/v1.136.0...v1.137.0> ### [`v1.136.0`](https://github.com/immich-app/immich/releases/tag/v1.136.0): - 69420 stars release [Compare Source](https://github.com/immich-app/immich/compare/v1.135.3...v1.136.0) ### v1.136.0 - 69420 stars release > \[!CAUTION] > > # BREAKING CHANGES > > ## IMMICH\_MEDIA\_LOCATION ([#&#8203;19995](https://github.com/immich-app/immich/issues/19995)) > > Note: This is a **different** variable than `UPLOAD_LOCATION`, which requires no change. > > Note: if you **DO NOT** have `IMMICH_MEDIA_LOCATION` in your `.env` file, or if it is set to a path that starts with a `/` (absolute path), **THIS BREAKING CHANGE DOES NOT APPLY TO YOU.** Users of the all-in-one image (e.g., the unraid app) for instance are not affected. > > <hr> > > If you have a custom `IMMICH_MEDIA_LOCATION` environment variable set to a **relative path**, you will have to do the following process: > > 1. Stop Immich (`docker compose stop`): > 2. Update Immich (`docker compose pull`) > 3. Update the environment variable to an absolute path, for example: > > ```diff > -IMMICH_MEDIA_LOCATION=./my-library > +IMMICH_MEDIA_LOCATION=/usr/src/app/my-library > > ``` > > 4. Start Immich (`docker compose up -d --force-recreate`) > 5. After the server successfully starts up, connect to it (`docker exec ``*-it*`` immich_server /bin/sh`) and run `immich-admin change-media-location`. When prompted, enter the appropriate values. For example: > > ``` > docker exec -it immich_server /bin/sh > > $ immich-admin change-media-location > ... > ? Enter the previous value of IMMICH_MEDIA_LOCATION: ./my-library > ? Enter the new value of IMMICH_MEDIA_LOCATION: /usr/src/app/my-library > > Previous value: ./my-library > Current value: /usr/src/app/my-library > > Changing database paths from "my-library/*" to "/usr/src/app/my-library/*" > > ? Do you want to proceed? [Y/n] y > > Matching database file paths were updated successfully! 🎉 > > You may now set IMMICH_MEDIA_LOCATION=/usr/src/app/my-library and restart! > > ``` > > ### Background/Motivation > > Relative paths have implied ambiguity, as they depend on the current working directory to resolve correctly, leading to issues like ([#&#8203;4465](https://github.com/immich-app/immich/issues/4465)). This change removes this ambiguity and sets up the project to transition away from files living at `/usr/src/app/upload` entirely. Currently, the `upload` folder lives at `/usr/src/app/upload/upload`, which is *very* confusing… *for everyone*. This change opens to door for a future migration to something like `IMMICH_DATA=/data`, which a more sensible setup. > > ## API Key changes ([#&#8203;20113](https://github.com/immich-app/immich/issues/20113)) > > Note: This change may affect the use of third-party applications, such as ImmichGo, ImmichKios, or ImmichFrame. > > This release includes a change to how API Keys work, specifically when used with routes that don’t require a specific permission. Previously, a scoped API Key could access these routes, but they will now throw a forbidden error. Routes without a declared scope now implicitly require the “all” permission. ### 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 mode for the new timeline, sync, and upload mechanism - Android widgets - iOS widget improvements - Deep links #### Beta timeline, sync, and upload mechanism > \[!NOTE] > This is only supported when both the server and the mobile app are updated to `v1.136.0` 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. <p align="center"> <img width="500" alt="image" src="https://github.com/user-attachments/assets/ede61e01-974d-4351-b074-b3dd461f71e6" /> </p> You can distinguish the beta timeline from the old one by the beta symbol next to the Immich logo in the app bar. <p align="center"> <img width="500" alt="image" src="https://github.com/user-attachments/assets/90ac6296-1315-4881-b2b1-dd4fbc7baf53" /> </p> ##### 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 - The data sync is now running in a background thread, separate from the UI thread. This means that during data synchronization, the app will remain smooth to browse. - The data sync speed should be improved drastically. The data is being streamed to the mobile app instead of being sent there in a single large chunk. This will help users with a massive library. - The calculation of which data needs to be retrieved from the server is now performed on the server, rather than being calculated by the mobile app previously. This means lower CPU usage on the mobile app and quicker incremental sync. - The mobile app will now retrieve data from the server and maintain similar database tables within the app. This restructuring enables better offline operation and supports more complex usage behaviors. ##### Timeline/Display experience - The new timeline has been rewritten from the ground up to enhance scrolling and dragging behavior, making it easier for you to navigate the timeline. - The detail viewer is now more interactive, allowing you to scroll between photos or videos when the bottom detail sheet is opened. - The album views and other collection views are more lively, featuring a parallax effect to make your album/collection feel alive with *mesmerizing* animation. - You can now view all albums on the device, regardless of which album you have selected as the target for backing up. You can view them in the \`Library > On this device\` section. For users who want to select individual assets to back up to the server, they can perform that operation from here. ##### Upload - The upload mechanism has been rewritten from the ground up. - Upload is now handled by the OS, allowing for a better background upload operation. Instead of handling the uploading ourselves, we are now placing the photos and videos in a queue, which will run continuously when the Immich app is opened in the foreground and for a few minutes after it is put into the background. Then the OS will take over and start pulling tasks from the queue, handling the upload process by itself. - Starting the upload progress is now invoked from a toggle button <p align="center"> <img width="400" alt="image" src="https://github.com/user-attachments/assets/270216ff-4698-412b-a9c6-37b795612e44" /> </p> - Uploads are now running **in parallel** . The new upload detail page displays which assets are being uploaded and whether they are experiencing issues or stuck. You can tap on each item to see exactly which asset is causing the problem. <p align="center"> <img width="400" alt="image" src="https://github.com/user-attachments/assets/8e319945-8b59-4bee-b41c-3172bef0b4fd" /> </p> <p align="center"> <img width="400" alt="image" src="https://github.com/user-attachments/assets/bdfa4f7d-dabf-49fe-9ad4-661fdabc192c" /> </p> - On Android, there is no longer a virtual `Recents` album that includes all assets. Instead, there is a button to select all albums for backup. - In the backup album selection screen, you can now search for the album you want to back up. ##### Expectations of the beta version of the mentioned mechanisms - The app should be very smooth to browse around during the initial login and subsequent app openings. - Collections (favorite, archived, locked folder, etc.) and album views should make you feel nice, cozy, and delighted. - Background queuing of newly taken photos is not yet implemented. We will start working on this next. - Some views are not yet ported over to the new implementation, such as, but not limited to - People view - Map view - Some mechanisms are still missing from the previous implementation, such as, but not limited to - Add to album from multi-selection - Album sync when uploading - There are still some buggy behaviors/animations we will be ironing out in the coming days. ##### How can you help us? - Use the beta timeline and the new upload rework. - Report any bugs and weirdness you experience on GitHub’s issue tracker `[beta] <your-title-here>` as the title - Reach out and provide direct feedback on [Discord](https://discord.com/invite/immich) - Feedback from iCloud users is greatly appreciated #### Android Widgets <p align="center"> <img width="400" alt="image" src="https://github.com/user-attachments/assets/86a12419-2ce8-4791-ba8c-a56911ccc659" /> </p> This is a follow-up to one of our most requested features: Home screen widgets! In `v1.135.0` We introduced Immich widgets on iOS, which included a memory widget and a random widget. With `v1.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: - iOS widgets now support servers that use insecure HTTP connections - iOS widgets now support servers that use WebP as their preview thumbnail format - Tapping on the widget now takes you directly to the image in the app - Widgets now render properly when used on a tinted home screen - iOS widgets now cache the latest image for use if network access is unavailable during update. You should see fewer “Unable to connect to your Immich instance” errors on your home screen! - You can now choose to show images from your Favorites in the Random Widget - Improved error descriptions #### 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.app` URLs 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_420` stars, 😔 <p align="center"> <img src="https://media4.giphy.com/media/v1.Y2lkPTc5MGI3NjExamxub2V4MTRzaHc0dXV5b3JiemEza2I0eWViN2h5bHluc2RjdWxoMCZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/WrNfErHio7ZAc/giphy.gif" width="500" > </p> *** #### Support Immich <p align="center"> <img src="https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExbjY2eWc5Y2F0ZW56MmR4aWE0dDhzZXlidXRmYWZyajl1bWZidXZpcyZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/87CKDqErVfMqY/giphy.gif" width="450" title="SUPPORT THE PROJECT!"> </p> 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> <!-- Release notes generated using configuration in .github/release.yml at main --> #### What's Changed ##### 🚨 Breaking Changes - feat!: absolute file paths by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;19995](https://github.com/immich-app/immich/pull/19995) - fix: default route permission by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;20113](https://github.com/immich-app/immich/pull/20113) ##### 🚀 Features - feat(server): person delete by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;19511](https://github.com/immich-app/immich/pull/19511) - feat: nightly tasks by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;19879](https://github.com/immich-app/immich/pull/19879) - feat: add license page to app bar dialog by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;19971](https://github.com/immich-app/immich/pull/19971) - feat(mobile): android widgets by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;19310](https://github.com/immich-app/immich/pull/19310) - feat(mobile): beta sync stats page by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;19950](https://github.com/immich-app/immich/pull/19950) ##### 🌟 Enhancements - fix(web): consistent merge people icons by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;19473](https://github.com/immich-app/immich/pull/19473) - feat(mobile): deep links by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;19232](https://github.com/immich-app/immich/pull/19232) - feat(mobile): ios widget deeplink to asset in app by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;19510](https://github.com/immich-app/immich/pull/19510) - feat(server): check additional exif date tags by [@&#8203;midzelis](https://github.com/midzelis) in [#&#8203;19216](https://github.com/immich-app/immich/pull/19216) - feat: use request host as default SSR domain by [@&#8203;bo0tzz](https://github.com/bo0tzz) in [#&#8203;19485](https://github.com/immich-app/immich/pull/19485) - feat: oauth role claim by [@&#8203;danieldietzler](https://github.com/danieldietzler) in [#&#8203;19758](https://github.com/immich-app/immich/pull/19758) - chore: Use a contrasted color for text avatar by [@&#8203;ferraridamiano](https://github.com/ferraridamiano) in [#&#8203;19756](https://github.com/immich-app/immich/pull/19756) - feat(web): update icons by [@&#8203;Hamster45105](https://github.com/Hamster45105) in [#&#8203;19831](https://github.com/immich-app/immich/pull/19831) - feat(mobile): cache latest ios widget entry for fallback by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;19824](https://github.com/immich-app/immich/pull/19824) - feat: adds option to search only for untagged assets by [@&#8203;SkwalExe](https://github.com/SkwalExe) in [#&#8203;19730](https://github.com/immich-app/immich/pull/19730) - feat(web): better coordinate parsing by [@&#8203;Hamster45105](https://github.com/Hamster45105) in [#&#8203;19832](https://github.com/immich-app/immich/pull/19832) - feat(widgets): iOS widget improvements by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;19893](https://github.com/immich-app/immich/pull/19893) - feat(mobile): new upload by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;18726](https://github.com/immich-app/immich/pull/18726) - feat: play live photos on hover by [@&#8203;bo0tzz](https://github.com/bo0tzz) in [#&#8203;19962](https://github.com/immich-app/immich/pull/19962) - feat(web): Remove from Stack by [@&#8203;xCJPECKOVERx](https://github.com/xCJPECKOVERx) in [#&#8203;19703](https://github.com/immich-app/immich/pull/19703) ##### 🐛 Bug fixes - fix(web): map cluster by [@&#8203;wuzihao051119](https://github.com/wuzihao051119) in [#&#8203;19433](https://github.com/immich-app/immich/pull/19433) - fix: storage template onboarding save by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;19405](https://github.com/immich-app/immich/pull/19405) - fix(web): map broken after redirect from details by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;19424](https://github.com/immich-app/immich/pull/19424) - fix(server): filter parameters by database and role by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;19392](https://github.com/immich-app/immich/pull/19392) - fix(web): toggle favorite by [@&#8203;wuzihao051119](https://github.com/wuzihao051119) in [#&#8203;19453](https://github.com/immich-app/immich/pull/19453) - fix(web): timeline timezone by [@&#8203;wuzihao051119](https://github.com/wuzihao051119) in [#&#8203;19418](https://github.com/immich-app/immich/pull/19418) - fix(web): oauth quota display by [@&#8203;wuzihao051119](https://github.com/wuzihao051119) in [#&#8203;19417](https://github.com/immich-app/immich/pull/19417) - fix(server): include hidden assets in missing metadata extraction query by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;19471](https://github.com/immich-app/immich/pull/19471) - fix: iOS widget webp support by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;19469](https://github.com/immich-app/immich/pull/19469) - fix: return 404 for invalid shared link pages by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;19493](https://github.com/immich-app/immich/pull/19493) - fix(web): load day group in asset viewer by [@&#8203;wuzihao051119](https://github.com/wuzihao051119) in [#&#8203;19523](https://github.com/immich-app/immich/pull/19523) - feat(deployment): add shm\_size for PG by [@&#8203;mmomjian](https://github.com/mmomjian) in [#&#8203;19472](https://github.com/immich-app/immich/pull/19472) - fix: enable photo manager custom filter by default by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;19520](https://github.com/immich-app/immich/pull/19520) - fix(web): absolute path match in external library by [@&#8203;wuzihao051119](https://github.com/wuzihao051119) in [#&#8203;19551](https://github.com/immich-app/immich/pull/19551) - fix(web): modal race condition by [@&#8203;wuzihao051119](https://github.com/wuzihao051119) in [#&#8203;19625](https://github.com/immich-app/immich/pull/19625) - fix(server): prevent duplicate geodata temp table by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;18580](https://github.com/immich-app/immich/pull/18580) - fix(web): viewing asset lock by [@&#8203;wuzihao051119](https://github.com/wuzihao051119) in [#&#8203;19499](https://github.com/immich-app/immich/pull/19499) - fix: add quiet zone to QR code by [@&#8203;matthieu-db](https://github.com/matthieu-db) in [#&#8203;19771](https://github.com/immich-app/immich/pull/19771) - fix(server): clear activity when asset is removed from album by [@&#8203;dahool](https://github.com/dahool) in [#&#8203;19019](https://github.com/immich-app/immich/pull/19019) - fix: allow insecure connections in iOS WidgetExtension by [@&#8203;made2k](https://github.com/made2k) in [#&#8203;19863](https://github.com/immich-app/immich/pull/19863) - fix: startup log level by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;19885](https://github.com/immich-app/immich/pull/19885) - fix(web): allow renaming person without merging by [@&#8203;lukashass](https://github.com/lukashass) in [#&#8203;19923](https://github.com/immich-app/immich/pull/19923) - fix(web): adjust button size in person side panel by [@&#8203;lukashass](https://github.com/lukashass) in [#&#8203;19924](https://github.com/immich-app/immich/pull/19924) - fix: use IMMICH\_HOST env var in ML healthcheck by [@&#8203;bo0tzz](https://github.com/bo0tzz) in [#&#8203;19844](https://github.com/immich-app/immich/pull/19844) - fix(web): prevent flashing white background in dark mode on page load/reload by [@&#8203;evan314159](https://github.com/evan314159) in [#&#8203;19934](https://github.com/immich-app/immich/pull/19934) - fix: send filename when viewing the original file by [@&#8203;MeguminSama](https://github.com/MeguminSama) in [#&#8203;20005](https://github.com/immich-app/immich/pull/20005) - fix: ML recognition distance UI form validation by [@&#8203;danieldietzler](https://github.com/danieldietzler) in [#&#8203;20107](https://github.com/immich-app/immich/pull/20107) - fix: unset prewarn param by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;20109](https://github.com/immich-app/immich/pull/20109) ##### 📚 Documentation - fix(docs): portainer absolute paths by [@&#8203;mmomjian](https://github.com/mmomjian) in [#&#8203;19459](https://github.com/immich-app/immich/pull/19459) - fix(docs): add DB\_USERNAME when needed by [@&#8203;mmomjian](https://github.com/mmomjian) in [#&#8203;19578](https://github.com/immich-app/immich/pull/19578) - chore(docs): add instruction for trusting self-signed certificates with Immich and an OAuth server by [@&#8203;seifer44](https://github.com/seifer44) in [#&#8203;18624](https://github.com/immich-app/immich/pull/18624) - docs: document `DB_STORAGE_TYPE` environment variable by [@&#8203;ramonsmits](https://github.com/ramonsmits) in [#&#8203;19609](https://github.com/immich-app/immich/pull/19609) - docs: fix typo of webp listed under jpeg by [@&#8203;OffsetMonkey538](https://github.com/OffsetMonkey538) in [#&#8203;19743](https://github.com/immich-app/immich/pull/19743) - fix(docs): library and folders minor adjustments by [@&#8203;skatsubo](https://github.com/skatsubo) in [#&#8203;19642](https://github.com/immich-app/immich/pull/19642) - fix: path in external library docs by [@&#8203;DominikVogel](https://github.com/DominikVogel) in [#&#8203;19901](https://github.com/immich-app/immich/pull/19901) - fix(docs): Nightly Tasks Settings by [@&#8203;skatsubo](https://github.com/skatsubo) in [#&#8203;19907](https://github.com/immich-app/immich/pull/19907) - chore: also redirect docs/ with trailing slash by [@&#8203;bo0tzz](https://github.com/bo0tzz) in [#&#8203;19965](https://github.com/immich-app/immich/pull/19965) ##### 🌐 Translations - feat(mobile): enable Croatian (hr) translations by [@&#8203;fmis13](https://github.com/fmis13) in [#&#8203;19428](https://github.com/immich-app/immich/pull/19428) - chore: adjust setting subtitle to less clumsy expression by [@&#8203;lcs-crr](https://github.com/lcs-crr) in [#&#8203;19970](https://github.com/immich-app/immich/pull/19970) - chore(web): update translations by [@&#8203;weblate](https://github.com/weblate) in [#&#8203;19228](https://github.com/immich-app/immich/pull/19228) - chore(web): update translations by [@&#8203;weblate](https://github.com/weblate) in [#&#8203;20076](https://github.com/immich-app/immich/pull/20076) - fix: more inclusive language by [@&#8203;maybeanerd](https://github.com/maybeanerd) in [#&#8203;20092](https://github.com/immich-app/immich/pull/20092) - chore(web): update translations by [@&#8203;weblate](https://github.com/weblate) in [#&#8203;20082](https://github.com/immich-app/immich/pull/20082) #### New Contributors - [@&#8203;fmis13](https://github.com/fmis13) made their first contribution in [#&#8203;19428](https://github.com/immich-app/immich/pull/19428) - [@&#8203;seifer44](https://github.com/seifer44) made their first contribution in [#&#8203;18624](https://github.com/immich-app/immich/pull/18624) - [@&#8203;ramonsmits](https://github.com/ramonsmits) made their first contribution in [#&#8203;19609](https://github.com/immich-app/immich/pull/19609) - [@&#8203;OffsetMonkey538](https://github.com/OffsetMonkey538) made their first contribution in [#&#8203;19743](https://github.com/immich-app/immich/pull/19743) - [@&#8203;matthieu-db](https://github.com/matthieu-db) made their first contribution in [#&#8203;19771](https://github.com/immich-app/immich/pull/19771) - [@&#8203;Hamster45105](https://github.com/Hamster45105) made their first contribution in [#&#8203;19831](https://github.com/immich-app/immich/pull/19831) - [@&#8203;SkwalExe](https://github.com/SkwalExe) made their first contribution in [#&#8203;19730](https://github.com/immich-app/immich/pull/19730) - [@&#8203;made2k](https://github.com/made2k) made their first contribution in [#&#8203;19863](https://github.com/immich-app/immich/pull/19863) - [@&#8203;DominikVogel](https://github.com/DominikVogel) made their first contribution in [#&#8203;19901](https://github.com/immich-app/immich/pull/19901) - [@&#8203;evan314159](https://github.com/evan314159) made their first contribution in [#&#8203;19934](https://github.com/immich-app/immich/pull/19934) - [@&#8203;lcs-crr](https://github.com/lcs-crr) made their first contribution in [#&#8203;19970](https://github.com/immich-app/immich/pull/19970) - [@&#8203;MeguminSama](https://github.com/MeguminSama) made their first contribution in [#&#8203;20005](https://github.com/immich-app/immich/pull/20005) - [@&#8203;maybeanerd](https://github.com/maybeanerd) made their first contribution in [#&#8203;20092](https://github.com/immich-app/immich/pull/20092) **Full Changelog**: <https://github.com/immich-app/immich/compare/v1.135.3...v1.136.0> ### [`v1.135.3`](https://github.com/immich-app/immich/releases/tag/v1.135.3) [Compare Source](https://github.com/immich-app/immich/compare/v1.135.2...v1.135.3) ### v1.135.3 - Fixed an issue where the database migration fails on some instances with a different default database name #### What's Changed ##### 🐛 Bug fixes - fix(server): don't hardcode database name in migration by [@&#8203;dotlambda](https://github.com/dotlambda) in [#&#8203;19376](https://github.com/immich-app/immich/pull/19376) **Full Changelog**: <https://github.com/immich-app/immich/compare/v1.135.2...v1.135.3> ### [`v1.135.2`](https://github.com/immich-app/immich/releases/tag/v1.135.2) [Compare Source](https://github.com/immich-app/immich/compare/v1.135.1...v1.135.2) ### v1.135.2 This release addresses the following issues. - Fixed an issue where the database migration was not running correctly on some systems - Fixed an issue where the timezone causes an issue showing the web timeline in some instances, the counter resets again! <p align="center"> <img src="https://github.com/user-attachments/assets/5f274acc-8d1c-49e3-b25c-1fdfca793d5a" width="300" /> <p/> - Reverted the behavior of sorting people, it is now based on asset count as before #### What's Changed ##### 🌟 Enhancements * feat: better contrast for checkmark indicator by @&#8203;jrasm91 in https://github.com/immich-app/immich/pull/19312 ##### 🐛 Bug fixes * fix: container padding by @&#8203;jrasm91 in https://github.com/immich-app/immich/pull/19316 * fix: people ordering by asset count by @&#8203;zackpollard in https://github.com/immich-app/immich/pull/19366 * fix: bump vchord default to 0.4.3 by @&#8203;mertalev in https://github.com/immich-app/immich/pull/19365 * fix(server): migration failing on pg15+ by @&#8203;mertalev in https://github.com/immich-app/immich/pull/19363 * fix: time bucket grouping by @&#8203;jrasm91 in https://github.com/immich-app/immich/pull/19329 * fix: use icons instead of toggles for admin user features view by @&#8203;bwees in https://github.com/immich-app/immich/pull/19369 **Full Changelog**: <https://github.com/immich-app/immich/compare/v1.135.1...v1.135.2> ### [`v1.135.1`](https://github.com/immich-app/immich/releases/tag/v1.135.1) [Compare Source](https://github.com/immich-app/immich/compare/v1.135.0...v1.135.1) ### v1.135.1 #### Highlights This release addresses the following issues. - Fixed a bug where the navigation button disappears in detail view if opened from an album - Fixed a bug where the local network permission prompt doesn't show up on iOS. *If for some reason, you still cannot access the instance after enabling the permission, restarting the phone will fix it* - Fixed an issue where warning messages were shown after updating the VectorChord extension - Fixed an issue where named people are not showing up on top of the people list - Fixed an issue where the web timeline does not show on some older browsers - iOS Widget now supports iOS 17 and above (previously supported only 18.5) <!-- Release notes generated using configuration in .github/release.yml at main --> #### What's Changed ##### 🐛 Bug fixes - fix: album share modal navigation by [@&#8203;danieldietzler](https://github.com/danieldietzler) in [#&#8203;19245](https://github.com/immich-app/immich/pull/19245) - fix: panning interrupted while moving around the map by [@&#8203;danieldietzler](https://github.com/danieldietzler) in [#&#8203;19276](https://github.com/immich-app/immich/pull/19276) - fix: album list CSS margins by [@&#8203;PaulSonOfLars](https://github.com/PaulSonOfLars) in [#&#8203;19262](https://github.com/immich-app/immich/pull/19262) - fix(server): drop vector indices before updating extension by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;19283](https://github.com/immich-app/immich/pull/19283) - fix(server): unset prewarm dim parameter by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;19271](https://github.com/immich-app/immich/pull/19271) - fix: album asset viewer by [@&#8203;danieldietzler](https://github.com/danieldietzler) in [#&#8203;19252](https://github.com/immich-app/immich/pull/19252) - fix(web): exit slideshow when exiting fullscreen. by [@&#8203;dagstuan](https://github.com/dagstuan) in [#&#8203;19247](https://github.com/immich-app/immich/pull/19247) - fix: local network permission by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;19285](https://github.com/immich-app/immich/pull/19285) - fix(web): Stack assets in asset-viewer cut off on the left by [@&#8203;xCJPECKOVERx](https://github.com/xCJPECKOVERx) in [#&#8203;19253](https://github.com/immich-app/immich/pull/19253) - fix: .find() iterator api combat by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;19293](https://github.com/immich-app/immich/pull/19293) - fix: people ordering incorrect by [@&#8203;zackpollard](https://github.com/zackpollard) in [#&#8203;19298](https://github.com/immich-app/immich/pull/19298) - fix: iOS 17.0 target version for widget by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;19308](https://github.com/immich-app/immich/pull/19308) ##### 📚 Documentation - fix(docs): REINDEX vchord on upgrade by [@&#8203;mmomjian](https://github.com/mmomjian) in [#&#8203;19282](https://github.com/immich-app/immich/pull/19282) #### New Contributors - [@&#8203;PaulSonOfLars](https://github.com/PaulSonOfLars) made their first contribution in [#&#8203;19262](https://github.com/immich-app/immich/pull/19262) **Full Changelog**: <https://github.com/immich-app/immich/compare/v1.135.0...v1.135.1> ### [`v1.135.0`](https://github.com/immich-app/immich/releases/tag/v1.135.0) [Compare Source](https://github.com/immich-app/immich/compare/v1.134.0...v1.135.0) ### v1.135.0 #### Highlights Welcome to the release `v1.135.0` of 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 - Granular API key access control creation - Google Cast support on the mobile app - Opt-in Google Cast on the web - New user onboarding - Album description on the mobile app - Drag-and-drop to the locked folder on the web - Support for Vchord 0.4.2 - Shortcut to navigate the timeline - Multiple admins support - Devcontainer - Notable fix: Double swiping issue on iOS when using the gallery viewer ##### iOS Home Screen Widgets | Memory Widget | Random Widget | | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | | <img src="https://github.com/user-attachments/assets/f57cd999-f4df-44fe-bc0c-f6a522ddfe11" width="300"/> | <img src="https://github.com/user-attachments/assets/8feb1eeb-9435-45e7-ba55-8b931979d2cb" width="300"/> | Immich now supports home screen widgets on iOS! You can now add widgets to your home screen that: - Display a random image from your library - Display a random image from an album - Show images from memory lane 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! > \[!TIP] > Your server must be on `v1.135.0` for album filtering to work. ##### 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. <p align="center"> <img src="https://github.com/user-attachments/assets/e1dc89a9-6818-4137-9baf-3b8da6e98a86" width="500"/> </p> ##### Google Cast support on the mobile app <p align="center"> <img src="https://github.com/user-attachments/assets/988e615a-03e1-44fc-997e-1e4d9ae1a990" width="300"/> </p> 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. > \[!TIP] > Your server must be accessible through the server URL from the cast receiver. There is no limitation on public accessibility or an HTTPS connection requirement, unlike on the web. In addition, **only assets that are uploaded to the server may be cast.** ##### 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 > Cast` or by using [this link](https://my.immich.app/user-settings?isOpen=feature+cast). <p align="center"> <img src="https://github.com/user-attachments/assets/bd751256-9366-4d7a-9050-c3d6bd6d5a63" width="600"/> </p> **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 ![image](https://github.com/user-attachments/assets/1fd55979-76a0-4a63-ab5b-b42c02b5715c) 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.0` will 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. <p align="center"> <img src="https://github.com/user-attachments/assets/ea103840-d5f9-4bc4-9436-357894bf460e" width="400"/> </p> ##### 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](https://github.com/tensorchord/VectorChord/releases/tag/0.4.0) with some significant improvements (classic timing!). We've updated our server to support it and made it the default in the `docker-compose.yml` file. 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. - Use `d` or `shift + d` to jump to an earlier or later **day**. - Use `m` or `shift + m` to jump to the earlier or later **month**. - Use `y` or `shift + y` to jump to the earlier or later **year**. - Use `g` to go directly to a specific date ![image](https://github.com/user-attachments/assets/123d9a9b-c827-46fa-8e92-988225eeba49) ##### Multiple admins support You can now grant other users administrative permission by navigating to `Administration > Users > View Users > Edit User` and toggling the Admin option <img width="471" alt="image" src="https://github.com/user-attachments/assets/3b9f965b-573f-48f7-9ad0-6aacc01bb251" /> ##### Dev Containers There is an alternative way to set up a development environment using dev containers. For more information, refer to the [documentation](https://immich.app/docs/developer/devcontainers). 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. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/immich-app/immich/) Along with the highlights, there are many other improvements and bug fixes. Make sure to check out the full changes below. #### Support Immich <p align="center"> <img src="https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExbjY2eWc5Y2F0ZW56MmR4aWE0dDhzZXlidXRmYWZyajl1bWZidXZpcyZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/87CKDqErVfMqY/giphy.gif" width="450" title="SUPPORT THE PROJECT!"> </p> 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> <!-- Release notes generated using configuration in .github/release.yml at main --> #### What's Changed ##### 🚀 Features - feat(web): granular api access controls by [@&#8203;wuzihao051119](https://github.com/wuzihao051119) in [#&#8203;18179](https://github.com/immich-app/immich/pull/18179) - feat(server): apk links API endpoint for Obtainium Android mobile-server version sync by [@&#8203;NicholasFlamy](https://github.com/NicholasFlamy) in [#&#8203;18700](https://github.com/immich-app/immich/pull/18700) - feat: delta sync by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;18428](https://github.com/immich-app/immich/pull/18428) - feat(web): improved user onboarding by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;18782](https://github.com/immich-app/immich/pull/18782) - feat(mobile): add album description functionality by [@&#8203;JobiJoba](https://github.com/JobiJoba) in [#&#8203;18886](https://github.com/immich-app/immich/pull/18886) - feat(web): add a user setting for default album sort order. by [@&#8203;dagstuan](https://github.com/dagstuan) in [#&#8203;18950](https://github.com/immich-app/immich/pull/18950) - feat(mobile): hash assets in isolate by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;18924](https://github.com/immich-app/immich/pull/18924) - feat(server): add /search/statistics resource by [@&#8203;jpg0](https://github.com/jpg0) in [#&#8203;18885](https://github.com/immich-app/immich/pull/18885) - feat(mobile): add cast support by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;18341](https://github.com/immich-app/immich/pull/18341) - feat(server): Add album filter to search by [@&#8203;xCJPECKOVERx](https://github.com/xCJPECKOVERx) in [#&#8203;18985](https://github.com/immich-app/immich/pull/18985) - feat(web): manage admin users by [@&#8203;nosajthenitram](https://github.com/nosajthenitram) in [#&#8203;15380](https://github.com/immich-app/immich/pull/15380) ##### 🌟 Enhancements - feat: keyboard navigation to timeline by [@&#8203;midzelis](https://github.com/midzelis) in [#&#8203;17798](https://github.com/immich-app/immich/pull/17798) - chore: vchord 0.4.1 by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;18588](https://github.com/immich-app/immich/pull/18588) - feat(web): tag shortcut by [@&#8203;wuzihao051119](https://github.com/wuzihao051119) in [#&#8203;18711](https://github.com/immich-app/immich/pull/18711) - feat(server): log failed healthchecks to server container stderr in verbose mode by [@&#8203;skatsubo](https://github.com/skatsubo) in [#&#8203;18709](https://github.com/immich-app/immich/pull/18709) - feat(web): make google cast opt in by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;18514](https://github.com/immich-app/immich/pull/18514) - feat: start oauth with `autoLaunch=1` by [@&#8203;Yetangitu](https://github.com/Yetangitu) in [#&#8203;18763](https://github.com/immich-app/immich/pull/18763) - feat: add --json-output option to upload command by [@&#8203;ferdinandyb](https://github.com/ferdinandyb) in [#&#8203;18845](https://github.com/immich-app/immich/pull/18845) - feat: upload assets to locked folder by [@&#8203;arnolicious](https://github.com/arnolicious) in [#&#8203;18806](https://github.com/immich-app/immich/pull/18806) - feat(web): improve slideshow quality of life by [@&#8203;dagstuan](https://github.com/dagstuan) in [#&#8203;18778](https://github.com/immich-app/immich/pull/18778) - feat(mobile): Improve language setting UI by [@&#8203;dvbthien](https://github.com/dvbthien) in [#&#8203;18854](https://github.com/immich-app/immich/pull/18854) - feat(mobile): add bulk download functionality by [@&#8203;JobiJoba](https://github.com/JobiJoba) in [#&#8203;18878](https://github.com/immich-app/immich/pull/18878) - feat(web): undo delete by [@&#8203;xCJPECKOVERx](https://github.com/xCJPECKOVERx) in [#&#8203;18729](https://github.com/immich-app/immich/pull/18729) - feat(web): display number of likes in asset viewer by [@&#8203;robinbrisa](https://github.com/robinbrisa) in [#&#8203;18911](https://github.com/immich-app/immich/pull/18911) - feat(web): Change the primary asset of a stack by [@&#8203;xCJPECKOVERx](https://github.com/xCJPECKOVERx) in [#&#8203;18913](https://github.com/immich-app/immich/pull/18913) - feat(web): Focus on combo box input when opening add tag modal by [@&#8203;xCJPECKOVERx](https://github.com/xCJPECKOVERx) in [#&#8203;18923](https://github.com/immich-app/immich/pull/18923) - feat(mobile): Capitalize first letter when add / edit name by [@&#8203;JobiJoba](https://github.com/JobiJoba) in [#&#8203;19005](https://github.com/immich-app/immich/pull/19005) - feat(mobile): update maplibre to support PMTiles in the mobile app by [@&#8203;savely-krasovsky](https://github.com/savely-krasovsky) in [#&#8203;19016](https://github.com/immich-app/immich/pull/19016) - refactor(web): tree data structure for folder and tag views by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;18980](https://github.com/immich-app/immich/pull/18980) - feat(mobile): enabled DCM by [@&#8203;atollk](https://github.com/atollk) in [#&#8203;17957](https://github.com/immich-app/immich/pull/17957) - feat(server): add memories statistics resource by [@&#8203;jpg0](https://github.com/jpg0) in [#&#8203;19035](https://github.com/immich-app/immich/pull/19035) - feat(mobile): Add Scrollbar for vertical scrolling on the actions button multi-select by [@&#8203;JobiJoba](https://github.com/JobiJoba) in [#&#8203;18940](https://github.com/immich-app/immich/pull/18940) - feat: pass filename in body on asset upload by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;19138](https://github.com/immich-app/immich/pull/19138) - feat: duplicate delete groups api by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;19142](https://github.com/immich-app/immich/pull/19142) - feat: service worker cache static app resources, and all entry points by [@&#8203;midzelis](https://github.com/midzelis) in [#&#8203;18043](https://github.com/immich-app/immich/pull/18043) - feat: improve mobile screen reader accessibility by [@&#8203;atollk](https://github.com/atollk) in [#&#8203;17876](https://github.com/immich-app/immich/pull/17876) - feat: devcontainers by [@&#8203;midzelis](https://github.com/midzelis) in [#&#8203;18007](https://github.com/immich-app/immich/pull/18007) - fix(web): OAuth quota size by [@&#8203;wuzihao051119](https://github.com/wuzihao051119) in [#&#8203;18526](https://github.com/immich-app/immich/pull/18526) - feat(server): lru cache for query embeddings by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;19181](https://github.com/immich-app/immich/pull/19181) - fix: partner asset and exif sync backfill by [@&#8203;zackpollard](https://github.com/zackpollard) in [#&#8203;19224](https://github.com/immich-app/immich/pull/19224) - feat(web): wasm justified layout by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;19150](https://github.com/immich-app/immich/pull/19150) ##### 🐛 Bug fixes - fix(mobile): local albums translation by [@&#8203;waclaw66](https://github.com/waclaw66) in [#&#8203;18637](https://github.com/immich-app/immich/pull/18637) - fix(web): hide map button when disable by [@&#8203;wuzihao051119](https://github.com/wuzihao051119) in [#&#8203;18743](https://github.com/immich-app/immich/pull/18743) - fix: pinch zoom in mobile app by [@&#8203;toamz](https://github.com/toamz) in [#&#8203;18744](https://github.com/immich-app/immich/pull/18744) - fix(mobile): double swipe by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;18749](https://github.com/immich-app/immich/pull/18749) - fix(mobile): android status bar overlays icon in map by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;18780](https://github.com/immich-app/immich/pull/18780) - fix(web): datetime in storage template example by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;18784](https://github.com/immich-app/immich/pull/18784) - fix: oauth by [@&#8203;danieldietzler](https://github.com/danieldietzler) in [#&#8203;18725](https://github.com/immich-app/immich/pull/18725) - fix(mobile): center loading spinner in people page by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;18781](https://github.com/immich-app/immich/pull/18781) - fix(mobile): group settings not respected without restart by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;18823](https://github.com/immich-app/immich/pull/18823) - fix(server): cannot share album to owner by [@&#8203;wuzihao051119](https://github.com/wuzihao051119) in [#&#8203;18802](https://github.com/immich-app/immich/pull/18802) - fix(mobile): Set the currentAsset to the asset clicked when opening an asset from folders by [@&#8203;JobiJoba](https://github.com/JobiJoba) in [#&#8203;18825](https://github.com/immich-app/immich/pull/18825) - fix(mobile): notification, dialog that don't translate properly by [@&#8203;dvbthien](https://github.com/dvbthien) in [#&#8203;18827](https://github.com/immich-app/immich/pull/18827) - fix(web): Improve zoom behavior in photo-viewer. by [@&#8203;dagstuan](https://github.com/dagstuan) in [#&#8203;18803](https://github.com/immich-app/immich/pull/18803) - fix(server): tighten asset visibility by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;18699](https://github.com/immich-app/immich/pull/18699) - fix(mobile): Showing videos of partner in search page quick links by [@&#8203;JobiJoba](https://github.com/JobiJoba) in [#&#8203;18855](https://github.com/immich-app/immich/pull/18855) - fix(mobile): photo\_manager ignore filters by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;18742](https://github.com/immich-app/immich/pull/18742) - fix(mobile): reset current asset if we try to go on a activity list page by [@&#8203;JobiJoba](https://github.com/JobiJoba) in [#&#8203;18895](https://github.com/immich-app/immich/pull/18895) - fix(mobile): t function localization by [@&#8203;waclaw66](https://github.com/waclaw66) in [#&#8203;18768](https://github.com/immich-app/immich/pull/18768) - fix(web): asset-viewer error when selecting a stacked asset by [@&#8203;xCJPECKOVERx](https://github.com/xCJPECKOVERx) in [#&#8203;18881](https://github.com/immich-app/immich/pull/18881) - fix(web): persisted store by [@&#8203;wuzihao051119](https://github.com/wuzihao051119) in [#&#8203;18385](https://github.com/immich-app/immich/pull/18385) - chore(server): cleanup unused query parameters in time bucket by [@&#8203;jinxuan-owyong](https://github.com/jinxuan-owyong) in [#&#8203;18893](https://github.com/immich-app/immich/pull/18893) - fix(web): add tag button not using translation by [@&#8203;xCJPECKOVERx](https://github.com/xCJPECKOVERx) in [#&#8203;18910](https://github.com/immich-app/immich/pull/18910) - fix(mobile): prevent upload intent replacement in splash screen and reset upload button when minimize app by [@&#8203;JobiJoba](https://github.com/JobiJoba) in [#&#8203;18914](https://github.com/immich-app/immich/pull/18914) - fix: thumbnail fade in by [@&#8203;midzelis](https://github.com/midzelis) in [#&#8203;18935](https://github.com/immich-app/immich/pull/18935) - fix: regression: sort day by fileCreatedAt again by [@&#8203;midzelis](https://github.com/midzelis) in [#&#8203;18732](https://github.com/immich-app/immich/pull/18732) - fix(web): Update add to album notification to better announce errors by [@&#8203;xCJPECKOVERx](https://github.com/xCJPECKOVERx) in [#&#8203;18955](https://github.com/immich-app/immich/pull/18955) - fix(web): improve asset name readability in dark mode by [@&#8203;jinxuan-owyong](https://github.com/jinxuan-owyong) in [#&#8203;19012](https://github.com/immich-app/immich/pull/19012) - fix(mobile): share asset back button exit application by [@&#8203;JobiJoba](https://github.com/JobiJoba) in [#&#8203;18919](https://github.com/immich-app/immich/pull/18919) - fix(mobile): people collection page layout broken in landscape by [@&#8203;JobiJoba](https://github.com/JobiJoba) in [#&#8203;19004](https://github.com/immich-app/immich/pull/19004) - fix(mobile): After editing people name, back button close the app by [@&#8203;JobiJoba](https://github.com/JobiJoba) in [#&#8203;18992](https://github.com/immich-app/immich/pull/18992) - fix(web): handling historical timezones in web client by [@&#8203;dahool](https://github.com/dahool) in [#&#8203;18905](https://github.com/immich-app/immich/pull/18905) - fix(mobile): fix nested MaterialApp by [@&#8203;dvbthien](https://github.com/dvbthien) in [#&#8203;18998](https://github.com/immich-app/immich/pull/18998) - chore: catch migration error by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;19096](https://github.com/immich-app/immich/pull/19096) - fix: count album comments and likes correctly by [@&#8203;zackpollard](https://github.com/zackpollard) in [#&#8203;19114](https://github.com/immich-app/immich/pull/19114) - fix: don't show comments or likes for trashed assets by [@&#8203;zackpollard](https://github.com/zackpollard) in [#&#8203;19113](https://github.com/immich-app/immich/pull/19113) - fix: album comment count including trashed assets by [@&#8203;zackpollard](https://github.com/zackpollard) in [#&#8203;19117](https://github.com/immich-app/immich/pull/19117) - fix(server): add basic auth support by [@&#8203;elliotbrandwein](https://github.com/elliotbrandwein) in [#&#8203;16740](https://github.com/immich-app/immich/pull/16740) - chore: callback quotes by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;19126](https://github.com/immich-app/immich/pull/19126) - fix(web): properly update activityManager when browsing assets by [@&#8203;robinbrisa](https://github.com/robinbrisa) in [#&#8203;18909](https://github.com/immich-app/immich/pull/18909) - fix: cli upload deletes files that failed uploading by [@&#8203;danieldietzler](https://github.com/danieldietzler) in [#&#8203;19140](https://github.com/immich-app/immich/pull/19140) - fix: skip locked photos during duplicate scan. by [@&#8203;endthestart](https://github.com/endthestart) in [#&#8203;19105](https://github.com/immich-app/immich/pull/19105) - fix(web): small issues with the memory viewer. by [@&#8203;dagstuan](https://github.com/dagstuan) in [#&#8203;19184](https://github.com/immich-app/immich/pull/19184) - fix(mobile): add translate extension by [@&#8203;dvbthien](https://github.com/dvbthien) in [#&#8203;18942](https://github.com/immich-app/immich/pull/18942) - fix: disable map fly animation when switching between assets by [@&#8203;zackpollard](https://github.com/zackpollard) in [#&#8203;19223](https://github.com/immich-app/immich/pull/19223) - fix(web): Asset viewer stack thumbnails overflow on top of asset by [@&#8203;xCJPECKOVERx](https://github.com/xCJPECKOVERx) in [#&#8203;19088](https://github.com/immich-app/immich/pull/19088) - fix(web): MemoryStore does not initialize on direct navigation by [@&#8203;xCJPECKOVERx](https://github.com/xCJPECKOVERx) in [#&#8203;18947](https://github.com/immich-app/immich/pull/18947) - fix(mobile): correct share option for local asset by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;19233](https://github.com/immich-app/immich/pull/19233) ##### 📚 Documentation - fix: cursed knowledge date index by [@&#8203;bo0tzz](https://github.com/bo0tzz) in [#&#8203;18801](https://github.com/immich-app/immich/pull/18801) - chore: document backup ordering by [@&#8203;bo0tzz](https://github.com/bo0tzz) in [#&#8203;18807](https://github.com/immich-app/immich/pull/18807) - chore: more cursed knowledge by [@&#8203;danieldietzler](https://github.com/danieldietzler) in [#&#8203;18932](https://github.com/immich-app/immich/pull/18932) - docs: update instructions for external libraries by [@&#8203;WhyNotHugo](https://github.com/WhyNotHugo) in [#&#8203;19080](https://github.com/immich-app/immich/pull/19080) - chore(docs): add rename note to synology.md by [@&#8203;YishGene](https://github.com/YishGene) in [#&#8203;17425](https://github.com/immich-app/immich/pull/17425) - docs: update the picture showing administration link by [@&#8203;jump](https://github.com/jump) in [#&#8203;19203](https://github.com/immich-app/immich/pull/19203) - chore: update truenas repo link by [@&#8203;khmyznikov](https://github.com/khmyznikov) in [#&#8203;19195](https://github.com/immich-app/immich/pull/19195) ##### 🌐 Translations - fix: Update locked folder text and improve translations by [@&#8203;dvbthien](https://github.com/dvbthien) in [#&#8203;18622](https://github.com/immich-app/immich/pull/18622) - fix: update en.json by [@&#8203;aviv926](https://github.com/aviv926) in [#&#8203;18835](https://github.com/immich-app/immich/pull/18835) - fix: translation in the tag people window by [@&#8203;nextmwa](https://github.com/nextmwa) in [#&#8203;18777](https://github.com/immich-app/immich/pull/18777) - feat(mobile): Add new language to mobile by [@&#8203;dvbthien](https://github.com/dvbthien) in [#&#8203;18891](https://github.com/immich-app/immich/pull/18891) - fix(web): add tag button tooltip not using translation by [@&#8203;xCJPECKOVERx](https://github.com/xCJPECKOVERx) in [#&#8203;18921](https://github.com/immich-app/immich/pull/18921) - fix(web): Remove tag buttons in search and modal missing tooltip translations by [@&#8203;xCJPECKOVERx](https://github.com/xCJPECKOVERx) in [#&#8203;19087](https://github.com/immich-app/immich/pull/19087) - chore(web): update translations by [@&#8203;weblate](https://github.com/weblate) in [#&#8203;18530](https://github.com/immich-app/immich/pull/18530) - chore(web): update translations by [@&#8203;weblate](https://github.com/weblate) in [#&#8203;19127](https://github.com/immich-app/immich/pull/19127) #### New Contributors - [@&#8203;Yetangitu](https://github.com/Yetangitu) made their first contribution in [#&#8203;18763](https://github.com/immich-app/immich/pull/18763) - [@&#8203;ferdinandyb](https://github.com/ferdinandyb) made their first contribution in [#&#8203;18845](https://github.com/immich-app/immich/pull/18845) - [@&#8203;JobiJoba](https://github.com/JobiJoba) made their first contribution in [#&#8203;18825](https://github.com/immich-app/immich/pull/18825) - [@&#8203;dagstuan](https://github.com/dagstuan) made their first contribution in [#&#8203;18803](https://github.com/immich-app/immich/pull/18803) - [@&#8203;nextmwa](https://github.com/nextmwa) made their first contribution in [#&#8203;18777](https://github.com/immich-app/immich/pull/18777) - [@&#8203;xCJPECKOVERx](https://github.com/xCJPECKOVERx) made their first contribution in [#&#8203;18881](https://github.com/immich-app/immich/pull/18881) - [@&#8203;robinbrisa](https://github.com/robinbrisa) made their first contribution in [#&#8203;18911](https://github.com/immich-app/immich/pull/18911) - [@&#8203;jpg0](https://github.com/jpg0) made their first contribution in [#&#8203;18885](https://github.com/immich-app/immich/pull/18885) - [@&#8203;WhyNotHugo](https://github.com/WhyNotHugo) made their first contribution in [#&#8203;19080](https://github.com/immich-app/immich/pull/19080) - [@&#8203;nosajthenitram](https://github.com/nosajthenitram) made their first contribution in [#&#8203;15380](https://github.com/immich-app/immich/pull/15380) - [@&#8203;elliotbrandwein](https://github.com/elliotbrandwein) made their first contribution in [#&#8203;16740](https://github.com/immich-app/immich/pull/16740) - [@&#8203;YishGene](https://github.com/YishGene) made their first contribution in [#&#8203;17425](https://github.com/immich-app/immich/pull/17425) - [@&#8203;endthestart](https://github.com/endthestart) made their first contribution in [#&#8203;19105](https://github.com/immich-app/immich/pull/19105) - [@&#8203;jump](https://github.com/jump) made their first contribution in [#&#8203;19203](https://github.com/immich-app/immich/pull/19203) - [@&#8203;khmyznikov](https://github.com/khmyznikov) made their first contribution in [#&#8203;19195](https://github.com/immich-app/immich/pull/19195) **Full Changelog**: <https://github.com/immich-app/immich/compare/v1.134.0...v1.135.0> </details> --- ### 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 is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xMTYuNiIsInVwZGF0ZWRJblZlciI6IjQxLjExNi42IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJpbWFnZSJdfQ==-->
renovate-bot added the
image
label 2025-10-01 23:02:18 +00:00
renovate-bot added 1 commit 2025-10-01 23:02:18 +00:00
Update ghcr.io/immich-app/immich-machine-learning Docker tag to v2
All checks were successful
lint-test-helm / helm-lint (pull_request) Successful in 9s
aed2e16f45
All checks were successful
lint-test-helm / helm-lint (pull_request) Successful in 9s
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin renovate/ghcr.io-immich-app-immich-machine-learning-2.x:renovate/ghcr.io-immich-app-immich-machine-learning-2.x
git checkout renovate/ghcr.io-immich-app-immich-machine-learning-2.x
Sign in to join this conversation.
No description provided.