Skip to content

Releases: immich-app/immich

v1.118.2

16 Oct 19:03
Compare
Choose a tag to compare

Warning

Version v1.118.0 contains breaking changes. Read about them here.

Hotfixes

This release fixes images from Whatsapp failing to be processed, as well as an issue with video thumbnail generation failing in some cases. It also includes the FFmpeg 6.0 -> 7.0 upgrade that was scheduled for the next release, but oh well 🙃

What's Changed

🐛 Bug fixes

New Contributors

Full Changelog: v1.118.1...v1.118.2

v1.118.1

15 Oct 20:57
Compare
Choose a tag to compare

Warning

Version v1.118.0 contains breaking changes. Read about them here.

Hotfixes

This release fixes some bugs introduced in version v1.118.0, specifically an issue with Google OAuth and mobile.

What's Changed

🐛 Bug fixes

📚 Documentation

New Contributors

Full Changelog: v1.118.0...v1.118.1

v1.118.0

15 Oct 11:04
Compare
Choose a tag to compare

v1.118.0

Welcome to release v1.118.0 of Immich. This version comes with several breaking changes, and also improvements to the mobile app UI and UX, a new documentation home page, as well as bug fixes and enhancements across the app. We hope you enjoy this release!

Warning

Breaking changes

This release includes the following breaking changes:

  1. Port alignment
  2. Remove deprecated API endpoints
  3. Remove deprecated start.sh arguments

1. Port alignment

We aligned the internal port of the immich-server to be similar to the binding port. Please make the following change to your docker-compose.yml file under the immich-server section. Reverse proxies using port 3001 also need to be updated to use port 2283.

services:
  immich-server:
    container_name: immich_server
    ...
    ports:
-    - 2283:3001
+    - 2283:2283
    ...

2. Remove deprecated API endpoints

The following endpoints were previously deprecated and have been removed, if you are a community project maintainer and using one of the endpoints below, please make sure to make changes to your project:

  • /api/server-info/* has been removed. Use /api/server/* instead.
  • /api/people/:id/assets has been removed. Use /api/search/metadata instead.

Note

This includes /api/server-info/ping, /api/server-info/version, /api/server-features, /api/server-info/config, /api/server-info/statistics, and others.

3. Remove deprecated start.sh arguments

The following docker commands have been removed:

  • start.sh immich
  • start.sh microservices

Follow the steps below to align docker-compose.yml with the default setup.

Note

These steps are only required if you still have the immich-microservices section in your docker-compose.yml or didn't follow the previous instructions to remove the command section. If you don't have the mentioned content below, you can ignore this

1. Update docker-compose.yml

Remove the command line from immich-server and the entire immich-microservices service section as shown below.

services:
  immich-server:
    container_name: immich_server
    ...
    :
-   command: [ "start.sh", "immich" ]
    ...
    
-  immich-microservices:
-    container_name: immich_microservices
-    ...
-    :
-    command: [ "start.sh", "microservices" ]
-    ...

2. Remove the running immich-microservices container

Run docker compose down --remove-orphans after updating docker-compose.yml to remove the old immich-microservices container.

Highlights

Some of the highlights for this release include the following:

  • Mobile UI/UX improvement
  • Option to refresh face detection
  • Color filters for editing photos
  • Timezone improvements
  • Deprecated release notes section
  • Better JPEG compression
  • Multi-GPU support for ML

Mobile UI/UX improvement

Thank you all for the great feedback from the dicussion we made a month ago about the proposed changes to the mobile app layout. We hope the following changes will provide more fluid experience when browing and managing your photos and videos.

Navigation bar

Photos and albums are the two most used pages. To make them more accessible, we replaced the Sharing page with a new Albums page where you can find all of the album related features and functions.

image

Albums page

This new page allows users to quickly view, sort, search, filter, create, and manage albums.

image

Library page

The library page now includes quick access buttons to various views, including

  • Favorites
  • Archived
  • Shared links
  • Trash
  • People
  • Places
  • Device albums
  • Partner sharing

image image

Search page

Many of the items that were previously on this page have been moved to the Library page, mentioned above. As a result, the search page is less cluttered and includes quick access search chips and queries. Also, clicking on the search navbar item a second time will focus on the search bar and open the keyboard for easy access.

image

Color filters for editing photos

This release introduces colors filter option in the edit menu on the mobile app. You can apply a set of presets colors to your photo. Thanks @Yuvi-raj-P for your contribution.

filter-page

Timezone improvements

Images without timezones could previously show up incorrectly in the timeline if the server had a timezone (TZ=...) set. This has been fixed and can be corrected by running metadata extraction on all assets.

Deprecated release notes section

Future releases will now include a "Deprecated" section in the release notes, including details of API endpoints and other changes that will become breaking changes in a future release. Moving forward, we plan to use this section of the release notes as our primary communication method for these types of changes.

Refresh face detection

Assets now have a Refresh faces option to update the set of detected faces based on the current face detection threshold. Likewise, there is a new Refresh button for Face Detection in the Jobs page that does the same for all assets.

Importantly, this does not clear all recognized people like the All button (renamed to Reset). If you find that a different detection threshold works better for your library and want to apply that new value to existing assets, Refresh will simply add or remove faces to apply this change.

It will only ever delete faces detected through machine learning, not EXIF. Speaking of EXIF-sourced faces, they can now be used to recognize detected faces as a result of this feature. This means the facial recognition process can share the same people listed in face metadata instead of duplicating them.

Better JPEG compression

Immich now uses Jpegli, a new library leveraging the advancements of JPEG XL to shrink JPEG file size at the same (or higher) quality. This change narrows the gap between JPEG and WebP compression considerably, especially at high quality.

Multi-GPU support for ML

It is now possible for a single instance of the machine learning service to use more than one GPU. Previously, this required several services and a load balancer in front. See the documentation for instructions.

Support Immich

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

Cheers! 🍻


What's Changed

🚨 Breaking Changes

🚀 Features

🌟 Enhancements

🐛 Bug fixes

Read more

v1.117.0

03 Oct 02:14
Compare
Choose a tag to compare

v1.117.0

Warning

Breaking changes

The image section of the config file structure for thumbnails and previews has changed. If you use a config file and set the image settings to custom values, these will be ignored until updated to the new structure.

…
"image": {
-  “previewFormat”: “jpeg”,
-  “previewSize”: 1440,
-  “quality”: 80,
-  “thumbnailFormat”: “webp”,
-  “thumbnailSize”: 250,
+  "thumbnail": {
+     "format": "webp",
+     "size": 250,
+     "quality": 80
+   },
+   "preview": {
+     "format": "jpeg",
+     "size": 1440,
+     "quality": 80
+   },
    "colorspace": "p3",
    "extractEmbedded": false
  }
…

Highlights

Welcome to release v1.117.0 of Immich. This release continues to bring bugfixes and additional enhancements to the app. Let's go over some of the highlights below:

  • Better folder checks
  • Download notifications (mobile)
  • Support and feedback links (web)
  • Upgrade history
  • Asset thumbnail improvements

Better folder checks

This release fixes a few more issues with the .immich related checks.

  • Ignore errors when .immich already exists, but mount checks aren't enabled
  • Add a docs page about System Integrity
  • Add an env option to skip mount checks (IMMICH_IGNORE_MOUNT_CHECK_ERRORS=true)

Download notifications (mobile)

Downloads now show their progress and can be canceled

Support and feedback links (web)

Links have been added to the Immich web application to help users more easily find our documentation, source code, discord, etc. Also, third party packages have the option to additionally include their own links.

image

image

Upgrade history

Clicking on the server build number on the web will now also show upgrade history, in addition to other build information.

In the future we may look at combining this information with the new support/help modal.

Light Dark
image image

Asset thumbnail improvements

Combined jobs

Thumbnails are critical to keep Immich feeling snappy. We currently generate a "preview" (large), a "thumbnail" (small), and a "thumbhash" (very small) for each asset. Prior to this release each version for each asset was a separate job. Now they have been combined into a single job, per asset. This makes the jobs page much more accurate and useful. It also means thumbnails generate faster, and use less system resources (see below).

thumbnail-generation-memory-usage

In order from left to right:

  • Previews generation start on old version
  • Previews generation completed old version (starting thumbnails)
  • Thumbnail generation finished old version
  • Thumbnail generation started on new version
  • Thumbnail generation finished on new version

Common settings

Previews and thumbnails can now both set desired format, resolution, and quality settings.

image-settings

Support Immich

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

Cheers! 🍻


What's Changed

🚀 Features

🌟 Enhancements

🐛 Bug fixes

  • fix(server): "all" button for facial recognition deleting faces instead of unassigning them by @mertalev in #13042
  • fix(server): /search/random failing with certain options by @mertalev in #13040
  • fix(mobile): share to error by @alextran1502 in #13044
  • fix: deletedAt not set for offline assets during 1.116.0 migration by @zackpollard in #13086
  • fix(server): offline assets don't restore when coming back online by @zackpollard in #13087

📚 Documentation

🌐 Translations

New Contributors

Full Changelog: v1.116.2...v1.117.0

v1.116.2

27 Sep 18:44
Compare
Choose a tag to compare

v1.116.2

Hotfixes

  • Fixed an issue library jobs not working correctly

Support Immich

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

Cheers! 🍻


What's Changed

🐛 Bug fixes

  • fix: library pagination to 10k to avoid too many postgres query params by @zackpollard in #12993

📚 Documentation

Full Changelog: v1.116.1...v1.116.2

v1.116.1

27 Sep 15:52
Compare
Choose a tag to compare

v1.116.1

Hotfixes

  • Fixed an issue of putting the app in the background on the login screen, causing the signing progress to hang on the mobile app
  • Fixed an issue of incorrectly getting the original filename on iOS
  • Fixed handling of numeric hierarchical subject values in tags

Support Immich

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

Cheers! 🍻

What's Changed

🌟 Enhancements

🐛 Bug fixes

📚 Documentation

  • docs: add clarity to non root user section by @GusPrice in #12956
  • refactor(docs): fix heading tag, update Vietnamese translation for image alt, formatting features table by @KD-MM2 in #12971
  • chore(Brazilian README): fix broken image links and update translation by @ryanrpj in #12980

New Contributors

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

v1.116.0

26 Sep 15:22
Compare
Choose a tag to compare

v1.116.0

Highlights

Welcome to release v1.116.0 of Immich!

This release continues to focus on bug fixes, which is quite typical for us, especially after large releases. Highlights for this release include:

  • Improved.immich file boot checks
  • Improved external library scanning
  • Timezone improvements
  • Tag clean up job
  • Better person merge workflow
  • Improve settings pages (web)
  • Fixed possible startup failure due to .immich files
  • Serve style.json directly from tiles.immich.app
  • New "random" api for 3rd party apps
  • Notable fix: Uncaught error causes the hashing process to abort entirely in the mobile app

Issues with .immich files on boot in 1.115.0

There were a small number of users who experienced problems with booting Immich after upgrading to 1.115.0. This was due to the new .immich file checks that verify your library folders are still mounted and writable. If, and only if you had problems booting 1.115.0 that persist into 1.116.0 with an error of "Unable to write .immich file, already exists", you can fix this by stopping Immich and removing the .immich files in the UPLOAD_LOCATION subfolders (upload, library, thumbnails, etc). If you experience any further problems, please do contact us on discord or via a github discussion.

Improved external library scanning

The external library scan mechanism has been reduced from four seperate options, to one. There is now a single button "Scan" that will handle all cases. Files that are offline (deleted or missing) now get hidden from the timeline and will show in the trash folder. This will become a dedicated screen in a future release. If the file comes back online, then the assets will re-appear in the main timeline and albums they were in previously. If the asset is offline for longer than the trash duration set in the admin config, the assets will be removed from immich automatically

Timezone improvements

Previously, if the timezone of an asset was unknown, it would apply an arbitrary offset by assuming the time was UTC and adjusting it to the viewer's timezone. Now, a timezone will only be shown if it is known for the asset.

Before After
image image

Tag cleanup job

If you have tags with no assets in them, you can remove them by running the "Tag clean up" job
here.

image

Better person merge workflow

The merge page always uses the same direction to merge people together. The "source" gets merged into the "target". However, sometimes the target is an unnamed person. Now, in these situations, the merge direction is automatically reversed, leading to a better user experience.

Serve style.json directly from tiles.immich.app

Up to this release, the immich server served the style.json file. That file includes the styling of the map as well as the font/glyphs/tiles provider. However, this also means that tile server updates were always bound to immich server updates. With this change, we decouple the two by serving the (static)style.json file from the infrastructure we serve the map tiles. This is also in line with pretty much any other map/tile provider. This change will assist us in bringing map improvements to all users in the future, such as map localisation without having to manage multiple different immich versions.
However, note that this does not affect the ability to specify a different style.json URL in the admin settings.

UI improvement for settings pages

Each setting now has a new design accordion section with a distinguishable icon to help identify it easier as the options get longer. You can also search for the administration settings by their title and subtitle in your native language.

image

New "random" API

We are deprecating GET /assets/random in favor of POST /search/random, which works very similar to the other search endpoints. It includes more relations and filters. In the future, we plan to add an option to search and filter by a specific album ID.

Support Immich

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

Cheers! 🍻

What's Changed

🌟 Enhancements

🐛 Bug fixes

📚 Documentation

🌐 Translations

...

Read more

v1.115.0

12 Sep 15:57
Compare
Choose a tag to compare

v1.115.0

Note

We are working on redesigning the flows and layout of the mobile app to incorporate recently added features such as folders and tags, as well as making improvements to album management on the mobile app. We are gathering feedback in this discussion. We are excited to hear your feedback.

Welcome to release v1.115.0 of Immich. This release focuses on cleaning up our backlog of issues. It is also worth noting that the Cursed knowledge page has been updated with even more cursed knowledge. Please find some of the release highlights below:

  • Administration button
  • Manually link and unlink Live motion photos
  • Default exclusion patterns
  • Start-up folder checks
  • Upload trash indicator

Notable bug fixes include:

  • Signing out of the web now signs out of all tabs
  • Long-standing issue regarding inaccurate album asset count has been fixed
  • Search text is preserved when switching between "Context" and "File name or extension"
  • Editing a person's name or birthdate on mobile has been fixed

Administration button

The Administration button on the web is now moved inside the profile sheet to clean up the top app bar and improve the navigation experience for all screen sizes.

image

Manually link and unlink Live motion photos

Live photos (iOS) can now be manually linked an unlinked.

Screencast.from.09-11-2024.10.15.57.AM.webm

Default exclusion patterns

We have added default exclusion patterns whenever a new external library is created. By default, we exclude the @eaDir folder Synology uses to store miscellaneous files and any files beginning with ._. Of course, you can edit these patterns if you want to, but this is highly unlikely.

image

Startup folder checks

Immich will now fail to start if it is unable to read/write to upload/, library/, thumbs/, encoded-videos/ or profile/. Starting with this release, the server will write an .immich file to each of the previously listed folders. On subsequent restarts, it will fail to start if it fails to locate the previously written .immich file. This will hopefully increase transparency around situations where the UPLOAD_LOCATION mount is incorrectly configured or unavailable.

Upload trash indicator

When you upload a duplicate via the web and that duplicate is in the trash, you now will see an indicator for it, along with being able to open the asset in a new tab.

Light Dark
image image

Support Immich

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

Cheers! 🍻

What's Changed

🚀 Features

🌟 Enhancements

🐛 Bug fixes

📚 Documentation

🌐 Translations

New Contributors

Full Changelog: v1.114.0...v1.115.0

v1.114.0

06 Sep 14:03
Compare
Choose a tag to compare

v1.114.0

Highlights

Welcome to release v1.114.0 of Immich. Who doesn't love a juicy release on a Friday? This release focuses on additional enhancements and bug fixes for recent new features. Please find some of the highlights below:

  • Tag improvements (including Lightroom support)
  • Import faces from EXIF and XMP sidecars (Digikam format)
  • Better handling of timezones
  • Upload panel **New look**
  • Automatic database reconnection

Tag improvements

Since the last release, when we introduced support for tags, we have made a few changes based on your feedback.

  • We now support reading from HierarchicalSubject. Values will be parsed as hierarchical tags, with | as a delimiter.
  • We now only read from Keywords as a fallback when no hierarchical tag information is available
  • We have fixed a bug where you could not remove the last tag from EXIF/XMP.

NOTE: these changes apply to the metadata extraction job. To apply them to your photos and videos, re-run metadata extraction.

Import faces from metadata

This release adds the ability to read face metadata in Digikam format during metadata extraction, increasing interoperability with other software and laying the foundation for faces from sources other than machine learning.

Note that there are certain limitations with these faces. These limitations may be removed in a later release:

  • Assets that contain face metadata are skipped during face detection
  • Faces from metadata are not considered during facial recognition
  • Faces from metadata are grouped into people based on name
  • Only face metadata in Digikam format is supported

You can enable this feature by going to Administration > Metadata Settings.

Better handling of timezones

This version fixes some issues related to how timezone offsets are parsed and how timezones and offsets are displayed. The offset is now parsed correctly for photos and videos taken with the "+00:00" offset (e.g., several African countries, Iceland, Portugal/UK/Ireland in winter).

If you notice that the "+00:00" offset is not shown correctly, please re-run the "Extract Metadata" job on all photos and videos.

Upload panel

The upload panel has a new look! It works the same as before, except that duplicates are no longer automatically cleared from the queue. They will remain behind, along with a clickable icon, that links to the deduped image.

Light Dark
image image

Automatic database reconnection

Previously, when the connection to the database was interrupted for any reason (restart, timeout, network interruption, etc.), the server would never reconnect. Restoring the connection required a container restart. Now, the server will automatically try to reconnect every 5 seconds indefinitely.

image


Support Immich

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

Cheers! 🍻

What's Changed

🚀 Features

  • feat(server): Import face regions from metadata by @bugfest in #6455

🌟 Enhancements

🐛 Bug fixes

📚 Documentation

  • docs: Fix link to ioredis docs by @halkeye in #12291
  • docs: Add conditional album storage template information by @feyst in #12218

🌐 Translations

New Contributors

Full Changelog: v1.113.1...v1.114.0

v1.113.1

03 Sep 14:32
Compare
Choose a tag to compare

v1.113.1

Hotfixes

This release fixes some bugs introduced in version v1.113.0 and added some enhancements to the new Folders and Tags feature


Support Immich

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

Cheers! 🍻

What's Changed

🌟 Enhancements

🐛 Bug fixes

📚 Documentation

New Contributors

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