Skip to content

Releases: immich-app/immich

1.131.2

01 Apr 12:04
Compare
Choose a tag to compare

v1.131.2

Fixed an issue with the machine learning healthchecks always showing unhealthy

What's Changed

🐛 Bug fixes

Full Changelog: v1.131.1...v1.131.2

v1.131.1

31 Mar 20:53
Compare
Choose a tag to compare

v1.131.1

Fixes an issue with running migrations in a non-root environments.

What's Changed

🐛 Bug fixes

Full Changelog: v1.131.0...v1.131.1

v1.131.0

31 Mar 19:02
Compare
Choose a tag to compare

v1.131.0

Highlights

Welcome to release v1.131.0 of Immich. This release focuses on more bug fixes from previous performance enhancements, some new changes also managed to sneak in within the short time window that we have 😀. Please find some of the highlights below:

  • New map styles and POI with a globe view
  • Map performance improvements for high asset counts
  • View HEIC, RAW and other image formats in full resolution in the web app
  • Better support for NLLB search models
  • Fixes an issue where users with an external library cannot see all assets on the mobile app
  • Fixes an issue where some exclusion paths were ignored in the external library
  • Fixes an issue where photos randomly appear in album view or person view on the web

New map looks & performance inprovements

The map now comes with updated stylings, which include points of interest (POIs) such as parks, hospitals, schools…etc. On the web, you can now view the map as a globe view (sorry, flat-earthers!)

The map view is now much more performant for large asset counts, no more taking 10 seconds for the map view to respond!

To see the style and poi updates, you may need to clear your browser cache or wait 30 days

Light Dark
image image
Globe view
image

View any image in full resolution in the web app

The Immich web app could previously only display an image in original resolution if the original could be displayed by the browser (JPEG, PNG, etc.). For formats like DNG that aren’t supported by major browsers, the web app could only show the preview image.

This release adds a setting to generate “full size” previews in addition to normal size previews. This means you can zoom into these images and view them in full resolution, even when the browser doesn’t support displaying the original. If the “Display original photos” preference is enabled, it will always display the full size preview if one exists for web incompatible formats.

Note that this setting doesn’t affect the mobile app, which already supports displaying the original for formats like HEIC (albeit not for most RAW formats). It also somewhat increases storage overhead and decreases image processing speed as it’s another (large) image to generate for each relevant asset. It’s an opt-in setting for these reasons.

To take advantage of this setting, go to the Image Settings and enable Full-size Image Settings, then queue all assets for Thumbnail Generation in the Jobs page.

image

Better multilingual searching with NLLB models

The NLLB model family performs the best for most languages excluding English, but Immich didn’t use them optimally. This release lets them perform at their best and brings a new tradeoff for searching: NLLB models give the best results for most languages, in exchange for the model interpreting a user’s searches as being in the user’s UI language.

If your users mainly search in a single non-English language, then these models are definitely worth a look. Each user can search in a different language since it’s based on the user’s UI language, applying to both the web app and mobile app (the latter must be updated to 1.131.0 or later for it to apply). If you’d like the flexibility for the same user to search in different languages, or if your users mainly search in English, then other models will work better for those usages.

See the documentation for more info on how to pick and change the search model.

Support Immich

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

What's Changed

🌟 Enhancements

  • feat: use my.immich.app for externalDomain fallback by @bo0tzz in #17209
  • feat: improve performance for GET /api/album & /api/album/:id by @PathToLife in #17124
  • feat(server): consider JpgFromRaw2 tag for embedded previews by @mertalev in #17123
  • feat(web): increase album collapse click area by @PathToLife in #17213
  • feat(ml): better multilingual search with nllb models by @mertalev in #13567
  • feat: original-sized previews for non-web-friendly images by @eligao in #14446

🐛 Bug fixes

📚 Documentation

🌐 Translations

New Contributors

Full Changelog: v1.130.3...v1.131.0

v1.130.3

27 Mar 16:38
Compare
Choose a tag to compare

v1.130.3

A few more bug fixes regarding usability.

Hotfixes

  • Fixes a bug where using the mouse on a touch device cannot open an asset.
  • Fixes a bug where the oauth login flow cannot complete
  • Fixes a bug where some albums don't show up on the mobile app
  • Fixes a bug of navigating between albums does not update the page view

What's Changed

🐛 Bug fixes

📚 Documentation

Full Changelog: v1.130.2...v1.130.3

v1.130.2

26 Mar 16:01
Compare
Choose a tag to compare

v1.130.2

Hotfixes

  • Fixes a bug where ordering in a date group is incorrect when the album's view order is toggled
  • Fixes a bug where library scan makes all assets disappear on the timeline until the next scan interval

What's Changed

🐛 Bug fixes

Full Changelog: v1.130.1...v1.130.2

v1.130.1

25 Mar 20:49
Compare
Choose a tag to compare

v1.130.1

Hotfixes

  • Fixes a bug where asset navigation skips several date groups on the web
  • Fixes a bug where album sorting option doesn't work on the web

What's Changed

🐛 Bug fixes

🌐 Translations

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

v1.130.0

25 Mar 14:29
Compare
Choose a tag to compare

v1.130.0

Highlights

Welcome to release v1.130.0 of Immich. After almost three weeks of brewing, we are happy to bring you the new version, which is packed with features, performance enhancements, and UX improvements to boost the app's experience; we hope you will like it. Please take a look at some of the highlights below.

  • Folder view in the mobile app
  • Better person naming interface on the web
  • External library scan performance
  • Faster performance and lower memory footprint for the timeline on the web
  • Remember the text search mode
  • Machine learning improvements
  • Jump-to-timeline enhancement

Folder view in the mobile app

You can now use the folder view in the mobile app. It can be accessed from the Library page under the quick links section. We hope this helps users with the browsing experience of a large external library.

Better people naming interface

On the web, the naming interface has been redesigned to allow users to quickly add and edit a person’s name without clicking through several buttons and prompts.

image

External library scan performance

The external library scan code has been rewritten from the ground up. It uses every trick in the book to improve performance, including moving logic to SQL, reducing filesystem calls, and batching asset imports. You can expect a 10x to 100x performance gain when scanning external libraries.

Some numbers:

  • An initial library scan with 19k assets: 1m40s down to 9 seconds
  • An initial library scan with 500k assets now takes 1m58s.
  • An initial library scan with >5M assets now takes 6m50s. This library size was virtually impossible before.
  • Idle rescan with 22k assets, i.e., scanning a library that has not changed: 1m22s now down to below 10 seconds

This change also increases the reliability of library scans. Note that this performance gain only relates to the library scan itself — sidecar discovery, metadata extraction, and thumbnail generation still take the same time.

Possible breaking change: If you use creative exclusion patterns for your libraries, please check if these are still respected and report any issues to us.

Web timeline improvements

The timeline has been “virtually” rewritten to be significantly faster while using much less memory. Scrolling, scrubbing, and resizing the window are all snappier than ever. The web experience on a mobile device has also been improved with more responsive scrubbing and smaller thumbnails to fit more assets on the screen.

ROCm and RKNPU acceleration for machine learning

Machine learning can now be configured to use AMD GPUs and Rockchip NPUs, making Smart Search and Face Detection jobs much faster than on the CPU. See the documentation on how to set it up!

Note: the ROCm image is massive at over 30GiB uncompressed, so please make sure you have enough disk space for it.

Remember the text search option.

The search input now remembers and displays the last choice from the three available text search modes: context, file name, and description.

Jump-to-timeline enhancement

We added a button to quickly locate a photo on the timeline from all the detail viewers (not from the main timeline) in the mobile app.

New search models

Smart search can be even smarter now with a series of new models:

  • ViT-B-16-SigLIP2__webli
  • ViT-B-32-SigLIP2-256__webli
  • ViT-L-16-SigLIP2-256__webli
  • ViT-L-16-SigLIP2-384__webli
  • ViT-L-16-SigLIP2-512__webli
  • ViT-SO400M-14-SigLIP2__webli
  • ViT-SO400M-14-SigLIP2-378__webli
  • ViT-SO400M-16-SigLIP2-256__webli
  • ViT-SO400M-16-SigLIP2-384__webli
  • ViT-SO400M-16-SigLIP2-512__webli
  • ViT-gopt-16-SigLIP2-256__webli
  • ViT-gopt-16-SigLIP2-384__webli

Not sure which model is right for you? We added tables showcasing each model’s estimated memory usage, speed, and quality by language so you can make a more informed decision, along with more detailed steps on how to use them. Check it out here!

Support Immich

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

What's Changed

🚀 Features

🌟 Enhancements

🐛 Bug fixes

  • fix(web): hide scroll right button when scrolled to the right in memory lane by @lukashass in #16656
  • fix(mobile): remain on albums tab after album deletion by @YarosMallorca in #16698
  • fix(mobile): fix notification icon not displaying properly by @YarosMallorca in #16710
  • fix(web): Update people-card favorite position by @viki53 in #16746
  • fix(server): adjust type of person.birthDate by @ngc7293 in #16628
  • fix(server): set the dev server restart policy of the dev server container to match the other containers by @NicholasFlamy in #16753
  • fix(server): set unit test timezone to UTC by @etnoy in #16805
  • fix(docs): logo not loading dark theme variant in production by @NicholasFlamy in #16820
  • fix(web): update search results when searching from info panel by @Snowknight26 in #16729
  • fix(web): fixed formatting of video length by @YarosMallorca in #16829
  • fix: immich ui toggles and switches ...
Read more

v1.129.0 - 60000 stars release

05 Mar 20:19
Compare
Choose a tag to compare

v1.129.0

Welcome to release v1.129.0 of Immich. The road-to-stable is bumpy, but at least, we have made memories together with the recent changes and issues with the new memories implementation 😋. We owe you an explanation for the changes. Please find it, along with the highlights of this release below:

  • Videos in memories are now playable on the web.
  • Shortcuts (L and Shift+L) to add assets to an album or shared album on the web.
  • Fixed an issue where opening Immich pauses playing music on iOS
  • The shared link now has a generated QR code for easier sharing.

Memories

Obviously, there have been some bugs related to implementing the new memories. For that, we apologize. We can be better about testing these new features moving forward.

In this release, we’ve added a migration that:

  • deletes all previous memories
  • resets the memory generation status field
  • automatically runs the memory generation job

This should fix all of the memory issues that have happened since v1.127.0.

Future improvements

There are some specific things planned with regard to memories, which this (painful) transition has enabled us to do:

  • Adjust/edit memories: the new change makes it possible to add/remove other assets from the memory
  • Share memories: memories can hopefully soon have a shared-link implementation similar to albums
  • More types of memories: based on location, people, date ranges, events, etc.
  • View past memories: on-this-day memories are cool, and now we have the data saved to let you browse memories from yesterday, last week, or tomorrow.

More technical details

There has been a lot of confusion around memories over the last few days that we wanted to clear up. Here are some important details:

  • In v1.127.0, memories transitioned from a single on-the-fly database query to a background job
  • The new job runs nightly and generates memories for several days in the future
  • After updating, there were no memories because the job hadn’t run yet
  • The job can be manually run via Admin > Jobs > Create Job > Memory Generation
  • There is a metadata table that tracks what days memories have already been generated for and skips those days the next time it runs
  • Memories that aren’t marked as favorite will be deleted after 30 days
  • This delete process is also a job that can be run manually. It’s called Memory Cleanup

Unfortunately, there were two main bugs that wreaked havoc on memories:

  • An “off by one bug”, that resulted in the memories being generated twice for the same day
  • A bug with the “years ago” calculation. It turns out that the "single database query” was broken when used for anything other than “today”. E.g., generating a memory for tomorrow would result in “0 years”

Both bugs were fixed in v1.128.0, but because memories are pre-generated, the broken ones still existed and were being used. The “Cleanup” job doesn’t delete pre-existing memories until they’re 30 days old. Even if they were manually removed, the “memory status field” would prevent those days from being regenerated anyway. These issues should now be fixed in this release, which essentially resets everything memory-related back to 0.

Support Immich

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

What's Changed

🚀 Features

🌟 Enhancements

🐛 Bug fixes

📚 Documentation

🌐 Translations

New Contributors

Full Changelog: v1.128.0...v1.129.0

v1.128.0

28 Feb 19:21
Compare
Choose a tag to compare

v1.128.0

Welp! We beat ourselves again at pushing out PRs. So here is another release for you to make up for the slow pace last week. And release on a Friday afternoon, what could be a better time!

Highlights

Welcome to release v1.128.0 of Immich. This release enhances the face tagging feature and fixes some of its bugs. Additionally, many improvements have also been made to the application, which has been just two days shy since the last release. Enjoy the highlights below:

  • Remember the previous location on the map when using the location edit feature
  • Face tagging enhancement – You can now search for a person’s name; the form color is adapted to follow the theme brightness.
  • Fixed an issue where the tagged face is reset when running the “Refresh faces” job.
  • Fixed an issue where faces could not be tagged in videos. Note that the face tag on video is for facial information only, as it is taken from the thumbnail as the source, not the video’s frame.
  • Fixed an issue where modified assets in an external library would be reimported every subsequent scan.
  • Fixed an issue with a long delay when running multiple ML endpoints.
  • Fixed an issue where the update notifier would show up too often
  • Fixed an issue where the deduplication has an erroneous behavior with stacked assets
  • Fixed an issue where duplicate memories are generated
  • Fixed an issue where the memory “years ago” text is off by one
  • Fixed an issue where the background backup kept crashing on Android

Support Immich

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

Cheers! 🍻

What's Changed

🌟 Enhancements

🐛 Bug fixes

📚 Documentation

New Contributors

Full Changelog: v1.127.0...v1.128.0

v1.127.0

26 Feb 15:51
Compare
Choose a tag to compare

v1.127.0

Security fix

The HTML for the shared link page (/share/<token>) is built on the server, and was previously susceptible to cross-site scripting (XSS). In short, this means you could do stuff like this.

This issue has been mitigated by sanitizing the data prior to including it in the resulting HTML.

Highlights

Welcome to the release v1.127.0 of Immich. As we were using the legendary salt gun to collect bugs into our inventory, the RNG god blessed us with a critical hit to a security bug. We encourage you to update to the latest version as soon as possible.

Some new features and enhancements also make it into this release, and we are excited to share them with you from the highlights below.

  • Manual face tagging and deletion
  • Persistent memories
  • Search by rating (web)

Manual face tagging and deletion

This release introduces the ability to manually tag a face to a photo or video that the machine learning model failed to detect. You can also remove any existing faces for incorrect automatic tagging by the clustering algorithm.

You can start tagging by clicking on the “+” button under the people section of the detail panel.

A box will appear for the adjustment and selection of the person you want to tag

image

Click the pencil icon to access the editing view to remove existing faces. You can find a trash icon to remove a face from the photo.

Persistent memories

The Memories feature has received its first round of functional enhancements. Before, memories were generated on the fly, but they are now pre-generated, resulting in a faster timeline. You can interact with memories, such as liking and modifying their content. This change will allow us to deliver more complex memory features in the future.

image

Search by star rating

On the web, with the star rating feature enabled, you can use the search filter to select it as a search criteria.

image

External Library interface tweaks

The management page for external libraries now shows both photo and video counts. When creating a new external library, it will now ask for an import path immediately, making onboarding easier.

image

Support Immich

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

Cheers! 🍻

What's Changed

🚨 Breaking Changes

🔒 Security

  • fix: cross-site scripting issue on /share pages by @jrasm91 in #16255

🚀 Features

🌟 Enhancements

🐛 Bug fixes

  • fix(web): Update shared link Exif capitalization to match existing capitalization by @Snowknight26 in #16010
  • fix(web): properly project profile picture by @immangat in #16095
  • fix: place suggestions not clickable in the asset set location modal by @zackpollard in #16104
  • fix(mobile): failed to load gl-ES locale by @pablopunk in #16123
  • fix: include live images in-person view count by @immangat in #16116
  • fix: limit the logo’s width in email templates to 100% by @NickOveracker in #16164
  • fix(mobile): server endpoint on the login screen always include /api. by @jpros in #16149
  • fix(server): flaky library e2e tests by @etnoy in #16174
  • fix(server): more e2e library flakiness cleanup by @etnoy in #16176
  • fix: pgvectors docs link by @bo0tzz in #16187
  • fix(server): set modifydate by @etnoy in #16225
  • fix(server): assets in multiple albums duplicated in map view by @mertalev in #16245
  • fix(web): use an anonymous function in setTimeout in polyfill of requestIdelCallback by @ykzts in #16264
  • fix(web): thumbnail playback stops when hovering over the icon, then video by @NicholasFlamy in #16302

📚 Documentation

🌐 Translations

New Contributors

Full Changelog: v1.126.1...v1.127.0