Skip to content

Releases: immich-app/immich

v1.102.2

20 Apr 16:17
Compare
Choose a tag to compare

v1.102.2

Hotfixes

  • Next attempt to fix auto-logout on Android
  • Fixed issue with input focus reset on search people page

And as always, bugs are fixed, and many other improvements also come with this release.

Please consider supporting the project.

Support

If you find the project helpful, you can support Immich via the following channels.

It is a great way to let me know that you want me to continue developing and working on this project for years to come.

What's Changed

🗄️ Server

  • feat(server): enable AV1 encoding for QSV by @jarylc in #8942

📱 Mobile

🖥️ Web

New Contributors

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

v1.102.1

20 Apr 13:55
Compare
Choose a tag to compare

v1.102.1

Hotfixes

  • Fixed Android mobile app randomly logout for user with background backup enabled

And as always, bugs are fixed, and many other improvements also come with this release.

Please consider supporting the project.

Support

If you find the project helpful, you can support Immich via the following channels.

It is a great way to let me know that you want me to continue developing and working on this project for years to come.

What's Changed

🗄️ Server

📱 Mobile

  • fix(android): Check server is reachable before starting background backup by @devjn in #8594

🖥️ Web

New Contributors

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

v1.102.0 - 30,000 Stars Release 🌟

19 Apr 20:31
Compare
Choose a tag to compare

v1.102.0

⚠️ Breaking Changes (OPT-IN ONLY)

Caution

For people always pulling the latest compose file, this is a breaking change!
Disregarding the notes will result in (temporary) data loss!

Background

In the past, we've seen many cases where people accidentally deleted their Postgres data by (unintentionally) deleting the docker volume (e.g., docker compose down -v).
This is unfortunate as there is no way to recover that data (if you don't have a backup, MAKE BACKUPS!).
We have been thinking about mounting the Postgres data to a local folder for a while but always hesitated, as this would break existing instances due to people not reading the change logs carefully. However, there have been too many issues, and we ultimately decided to make that change.

What do I have to do?

Nothing. You should only copy the compose file with every new release if we tell you to do so in the release notes. Generally, we don't recommend making changes to existing instances. If you have never had issues, attempting to migrate the data will put it at (an unnecessary) risk.

I want to migrate my docker volume to a local folder

Unfortunately there isn't a "proper" way to export a docker volume.
The recommended method is to mount the volume and the directory (you want to copy your data to) to an arbitrary container, get a shell inside that container and copy the folder manually.

Caution

Take backups before attempting this. Especially make sure you have a current database dump (pg_dump)

Warning

Do not use a directory under /mnt for the postgres location if you are using WSL.
Generally (on all operating systems) we recommend against using a network share for your database location. This is bound to break and cause all sorts of weird issues.

If you would like to opt-in to this change, there is an additional environment variable in the .env file as well as a modification in your existing docker-compose.yml file.

docker-compose.yml file

  database:
    container_name: immich_postgres
    image: registry.hub.docker.com/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
    volumes:
-      - pgdata:/var/lib/postgresql/data  
+      - ${DB_DATA_LOCATION}:/var/lib/postgresql/data
    restart: always

volumes:
- pgdata:
  model-cache:

.env file

[...]
 DB_HOSTNAME=immich_postgres
 DB_USERNAME=postgres
 DB_DATABASE_NAME=immich
+DB_DATA_LOCATION=./postgres

Highlights

Welcome to release version v1.102.0 of Immich. We reached 30,000 stars!!! Thank you so much for your continuous support. We are proud to bring you this release with a focus on QoL improvements and bug fixes across the web, mobile, and server. We hope you enjoy it. Some of the highlighted changes can be found below.

  • In-app language settings
  • Haptic feedback control
  • Enhanced UI/UX on the album list page
  • AV1 transcoding
  • Choose between WebP and JPEG for thumbnails and previews
  • Option to use embedded preview in RAW images
  • Option to fill the screen with slideshows view

In-app language settings

You can now keep your phone interface in a different language and have Immich's app in a different language with the new in-app language setting. It can be found in Settings > Languages. After making the change, the new language will propagate across the app.

language-setting

Haptic feedback control

We added an option in the mobile app to disable haptic feedback. It can be found under Settings > Preferences > Haptic Feedback

image

Web album page's UI/UX enhancement

Album Grouping

With this new feature, albums can now be grouped by year or owner (or not grouped at all). This can be very useful to not get lost when having a lot of albums, that even are sometimes similar.

GroupFeature

  • This works both on "Covers" and "List" views.

GroupFeatureList

  • Albums are first grouped, then sorted inside of those groups.
  • Group sorting can be either ascending or descending.
  • Group by drop-down is located next to the Sort by one. The two buttons on the right are Expand all and Collapse all. They are not displayed when No grouping is selected.

GroupByDropdown

  • Groups can be collapsed (saved in the local storage).
Collapse.mp4

Other UI Changes

  • Album cards now display the month and year of the photos.
    • Same month and year: Jan 2024
    • Different months, same year: Jan - Mar 2024
    • Different year: Sep 2023 - Feb 2024
  • Album cards now display the title over up to 2 lines. If the title is longer, it is cropped with an ellipsis (no change).

AlbumCard

  • "Edit Album" modal design has been slightly changed.

EditAlbumModal

Quality of Life

Album List
  • The context menu now has 4 options: Download, Edit, Share and Delete.

AlbumContextMenu

  • The context menu can now be displayed by right-clicking on an album card.
  • The context menu is now available on the list view (both Edit and Remove buttons have been removed).
  • The context menu is now available on the "Sharing" page, with only 1 option: Download.
  • The search feature now ignores accents.
Album View
  • When one and only one photo is selected, the context menu now displays the option Set as album cover.

SetAsAlbumCover

AV1 transcoding

This release adds support for the next-gen AV1 format using the SVT-AV1 encoder. AV1 promises smaller files at the same quality as the other codecs we support, especially for high resolution videos. Note that client support for AV1 is more limited, so we recommend trying it on one (server-only) video and confirming it plays before transcoding your full library with it.

New image settings

image

Before this release, all preview images were JPEG, and all thumbnails were WebP. This is now customizable, so you can set them as you like. This also paves the way for adding other formats with minimal change.

There's also a new option to use the embedded preview in RAW images instead of converting the RAW image itself. This is particularly useful if the converted images from a camera don't look quite right or if you have custom-developed previews you'd like to use instead.

Option to fill the screen with slideshows view

We added a new option in the slideshow settings to fill the screen with the slideshow view, this will give you a more immersive viewing experience.


And as always, bugs are fixed, and many other improvements also come with this release.

Please consider supporting the project.

Support

If you find the project helpful, you can support Immich via the following channels.

It is a great way to let me know that you want me to continue developing and working on this project for years to come.

What's Changed

⚠️ Breaking Changes

🗄️ Server

Read more

v1.101.0

05 Apr 02:56
Compare
Choose a tag to compare

v1.101.0

Highlights

Welcome to release v1.101.0 of Immich. This release includes a new feature on the mobile app and minor enhancements across the server and the web, and we hope you like it.

Enhanced search on the mobile app

We have built a dedicated screen for a better search experience on the mobile app. You can now apply advanced filtering similar to the web's mechanism to find your desired photo.

searchmobiledemo.mp4

And as always, bugs are fixed, and many other improvements also come with this release.

Please consider supporting the project.

Support

If you find the project helpful, you can support Immich via the following channels.

It is a great way to let me know that you want me to continue developing and working on this project for years to come.

What's Changed

🗄️ Server

📱 Mobile

🖥️ Web

📓 Documentation

🔨 Maintenance

New Contributors

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

v1.100.0

28 Mar 18:53
Compare
Choose a tag to compare

v1.100.0

Highlights

Welcome to release v1.100.0, not yet v2.0 😛 of Immich. This release includes mostly bug fixes, code refactoring, and nice web QoL improvements. Some of the highlights include:

  • Ability to view different album ownership on the album page.
  • Better user experience when creating a new album.
  • Context menu items now come with associated icons.
  • Slideshow control improvement.
  • Added job metrics for Prometheus.
  • Notable fix: Scroll stickiness on the mobile app.

Album ownership toggle

On the album page on the web, you can now view all albums - i.e., shared or, owned or both - on the same page by using the toggle options.

chrome_E2Gte5jLAw.mp4

Better user experience when creating a new album

The notification on the web now includes a button to go to the album after you add new photos or videos to an album.

chrome_SocaZ52kLV.mp4

Context menu with associated icons

We added icons to the context menu to make the distinction between the options clearer.

image

Slideshow control improvement

After 10 seconds of inactivity, the cursor and control bar will be hidden, and a button will allow you to return to full screen.

Job metrics

You can now monitor the successful, skipped, and failed jobs for particular job types in Prometheus and the number of active jobs being processed in each queue.


And as always, bugs are fixed, and many other improvements also come with this release.

Please consider supporting the project.

Support

If you find the project helpful, you can support Immich via the following channels.

It is a great way to let me know that you want me to continue developing and working on this project for years to come.

What's Changed

🗄️ Server

📱 Mobile

🖥️ Web

⚡ CLI

📓 Documentation

🔨 Maintenance

  • chore(server): use absolute import paths by @danieldietzler in #8080
  • chore(deps): update dependency @types/node to v20.11.28 by @renovate in #8064
  • chore(deps): update prom/prometheus docker digest to 5ccad47 by @renovate in #8071
  • chore(deps): update node.js to 8765147 by @renovate i...
Read more

v1.99.0

20 Mar 15:13
Compare
Choose a tag to compare

v1.99.0

New logo

The new logo is now rolled out on all platforms, including the web, mobile, and documentation pages. If you are a content creator, you can grab the logo vector and raster files in the repository's design folder.

Social Preview

Highlights

Welcome to release v1.99.0 of Immich. This release adds the new logo, fixes many bugs, and improves the application. Some of the highlights include:

  • [WEB] Sort photos and videos to display direction in an album.
  • On-disk cache on the mobile app to provide a better viewing experience.
  • There is a new endpoint for OpenTelemetry metrics to monitor performance.
  • Optimized queries for large libraries.
  • Add upload progress and speed indicator.
  • XMP sidecar file is now recognized with both photo.ext.xmp and photo.xmp extensions.
  • Drag to select - Now press your thumb to drag and select in the selection mode.
  • Improve user feedback in the mobile app's backup and album selection screen.
  • Various improvements for the library scanning process.

Asset's display direction in the album

We added an option to change the order of the assets in the album so you can view the assets from older to newest and vice versa.

album.view.order.mp4

Mobile asset caching

Improving cache for remote thumbnails and the images, they now stay on disk so that they can load faster and give a better experience while used offline. You should feel a faster loading experience across the app.

Performance monitoring with OpenTelemetry integration

Immich provides a variety of performance metrics to allow for local monitoring and insights. This integration is primarily in the form of Prometheus metrics. However, exporting traces is also possible due to OpenTelemetry instrumentation. Please visit the documentation to learn how to enable this feature

Note

This opt-in feature allows you to monitor Immich's performance. This data isn't sent anywhere beyond what you've configured.

File size progress and upload speed indicator

We added an indicator to show the file's size that has been uploaded and the upload speed under the progress bar in the backup screen.

Simulator.Screen.Recording.-.iPhone.15.Pro.Max.-.2024-03-14.at.18.08.37.mp4

Drag to select

You can now drag to select in the mobile app when in selection mode; this will help make selecting in bulk easier.

drag_to_select.mp4

And lastly, I want to express my gratitude to @immich-app/contributor who make this behemoth of a release happen 🎉


And as always, bugs are fixed, and many other improvements also come with this release.

Please consider supporting the project.

Support

If you find the project helpful, you can support Immich via the following channels.

It is a great way to let me know that you want me to continue developing and working on this project for years to come.

What's Changed

🗄️ Server

  • fix(server): face search results not always sorted by @mertalev in #7839
  • fix(server): serve static directory only if it exists by @benmccann in #7857
  • feat(server): Add OAuth auto-redirect enable/disable CLI commands by @ddshd in #7841
  • feat(server): OpenTelemetry integration by @mertalev in #7356
  • feat(server): YAML config file support by @bo0tzz in #7894
  • feat(server): Update XMP sidecar search to look for both photo.ext.xmp and photo.xmp by @kokulshan in #7813
  • feat(server): lower library scan memory usage by @mertalev in #7939
  • perf(server): optimize getByIds query by @mertalev in #7918
  • fix(server): queue library asset refresh in batches by @etnoy in #7914
  • feat(server, web): album orders by @martabal in #7819
  • feat(server): added support for SVG files by @declan8010 in #7960
  • refactor: global validation pipe by @jrasm91 in #7985
  • feat(web): add millisecond options to storage template settings by @sevtdy in #7942
  • fix(server): prevent feedback loop during library scan by @mertalev in #7944
  • feat(server): use nestjs events to validate config by @danieldietzler in #7986
  • feat(server): memory includes partners assets on timeline by @alextran1502 in #7993
  • refactor(server): library service by @jrasm91 in #8050
  • chore(server): change save -> update in asset repository by @mertalev in #8055
  • fix(server): "view all" for cities only showing 12 cities by @mertalev in #8035
  • fix(server): use extension in originalFileName for libraries by @etnoy in #8083
  • test: temporarily disable flaky audit e2e test until #7436 is fixed by @zackpollard in #8089

📱 Mobile

🖥️ Web

Read more

v1.98.2

11 Mar 14:31
Compare
Choose a tag to compare

v1.98.2

Hotfixes

  • Fixed an issue with the library re-scanning assets if the library has more than 65,000 assets.

Support

If you find the project helpful, you can support Immich via the following channels.

It is a great way to let me know that you want me to continue developing and working on this project for years to come.

What's Changed

🗄️ Server

📱 Mobile

🖥️ Web

  • feat(web): add sticky date headers for asset-date-group by @samholton in #7824
  • Fix: Disable 'As profile picture' option for videos in context menu a… by @declan8010 in #7830

🔨 Maintenance

New Contributors

Full Changelog: v1.98.1...v1.98.2

v1.98.1

09 Mar 00:57
Compare
Choose a tag to compare

v1.98.1

Hotfixes

  • Fixed an issue with syncing the assets from the server on the mobile app
  • Fixed archive assets are not properly allocated on the mobile app
  • Fixed caching issue on the mobile app, causing jerkiness when scrolling on the timeline

Support

If you find the project helpful, you can support Immich via the following channels.

It is a great way to let me know that you want me to continue developing and working on this project for years to come.

What's Changed

🗄️ Server

📱 Mobile

🖥️ Web

📓 Documentation

🔨 Maintenance

  • chore(deps): update dependency @playwright/test to v1.42.1 by @renovate in #7684
  • feat(server): create a person with optional values by @jrasm91 in #7706
  • refactor: api validators (boolean and date) by @jrasm91 in #7709
  • chore(deps): bump docker/build-push-action from 5.1.0 to 5.2.0 by @dependabot in #7737
  • refactor: search e2e by @jrasm91 in #7732

New Contributors

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

v1.98.0

07 Mar 19:39
Compare
Choose a tag to compare

v1.98.0

Announcement

The logo design contest has ended on March 4th, 2024.

We had an internal voting round with the core team members and contributors. The winner is @Tyree, with the design below.

Tyree's design

We are planning to roll out the new logo in the near future.

Thank you all for your contributions and discussions. We are very happy to have such strong community engagement.

Highlights

Welcome to release v1.98.0 of Immich. We are pleased to introduce many new features, quality of life improvements and bug fixes in this release—some of the highlights below.

  • Move library settings to the Administration page - Simplify the external library setup process.
  • Context search with people filtering.
  • File name and file extension search.
  • Add an option to disable the required password change when creating a new user.
  • Show people in the information sheet on the mobile app.
  • A configurable timer is used to delete a user permanently.

Move library settings to the Administration page

We moved all library settings under the Admin settings to reduce the complexity of setting up external libraries and lay the groundwork for sharing external libraries between users.

image

Context search with people filtering

Thanks to @michelheusschen's help in solving the technical challenges of combining contextual search results with people filtering, it is now possible to search for "person in red dress" and choose only the people that you would like to see in a red dress.

File name and extension search

You can now search for file name and file extension again as free text search. For example, you can search for all Nikon photos with NEF or nef, or search for file names such as IMG_1234.JPG with 123 or 234 as the search query.

image

Show people the information sheet on the mobile app.

You can now see the people detected in a photo/video in the detail sheet on the mobile app.

Option to disable required password change for new user creation

image

Configurable timer for user deletion

This setting can be found in the server settings in the Administration page. You can now adjust how long until a user gets permanently removed from the server.

image


And as always, bugs are fixed, and many other improvements also come with this release.

Please consider supporting the project.

Support

If you find the project helpful, you can support Immich via the following channels.

It is a great way to let me know that you want me to continue developing and working on this project for years to come.

What's Changed

🗄️ Server

  • fix(server): re-add mimalloc by @mertalev in #7511
  • fix(server): only queue ml / transcoding jobs after thumbnail generation on upload by @mertalev in #7516
  • feat: filter people when using smart search by @michelheusschen in #7521
  • fix(immich-admin): only 1st argument was passed by @saimonn in #7552
  • feat(server/web): add oauth defaultStorageQuota and storageQuotaClaim by @samholton in #7548
  • feat(server): allow oauth claim to set 0 for no quota by @samholton in #7581
  • fix(server): prevent leaking isFavorite and isArchived info by @martabal in #7580
  • feat(server, web): add checkbox to create user screen for shouldChang… by @samholton in #7598
  • fix(server): regular version check by @rovo89 in #7620
  • fix(server, web): prevent reload when liking an asset by @martabal in #7589
  • fix(server): incorrect number of assets for a person by @martabal in #7602
  • feat(server): deterministic download order by @jrasm91 in #7658
  • chore(server): eslint await-thenable by @etnoy in #7545
  • fix(server): stack info in asset response for mobile by @alextran1502 in #7346
  • feat(server,web): make user deletion delay configurable by @samholton in #7663
  • chore(server): save original file name with extension by @alextran1502 in #7679
  • chore(server): lower default max recognition distance for facial recognition by @mertalev in #7689
  • perf(server): use queries to refresh library assets by @mertalev in #7685
  • chore(server): search filename using originalFileName by @alextran1502 in #7691
  • fix(server): access face count when the value is undefined by @alextran1502 in #7694
  • fix(server): add extension to filename migration by @michelheusschen in #7697
  • chore(server): Move library watcher to microservices by @etnoy in #7533
  • fix(server): admin access to edit library by @alextran1502 in #7708

📱 Mobile

  • fix(mobile): bottom bar Upload translation by @waclaw66 in #7553
  • refactor(mobile): Refactor video player page and gallery bottom app bar by @martyfuhry in #7625
  • feat(mobile): Add people list to exit bottom sheet by @l0nax in #6717
  • fix(mobile): Refactors exif bottom sheet to use widgets and fixes slow sliding up exif bottom sheet by @martyfuhry in #7671
  • chore(mobile,web): use originalFilename by @alextran1502 in #7692

🖥️ Web

🧠 Machine Learning

⚡ CLI

  • feat(cli): Use well-known endpoint to resolve API by @bo0tzz in #6733

📓 Documentation

  • docs: fix the database name env variable by @ikajdan in #7576
  • doc: update truenas.md with permission...
Read more

v1.97.0

28 Feb 22:46
Compare
Choose a tag to compare

v1.97.0

Highlights

Welcome to release v1.97.0 of Immich. This release contains bug fixes and minor improvements in asset rendering on the mobile app.

  • Remove the polling option for library watcher due to the number of issues it brings outweighing the advantages
  • Fix the issue with the toggle button on the web app that doesn't conform to state change.
  • Fix the wrong aspect ratio of the preview image in the memory view

Please consider supporting the project.

Support

If you find the project helpful, you can support Immich via the following channels.

It is a great way to let me know that you want me to continue developing and working on this project for years to come.

What's Changed

🗄️ Server

  • feat(server): rkmpp hardware decoding scaling by @fyfrey in #7472
  • chore: remove watcher polling option by @etnoy in #7480

📱 Mobile

  • fix(mobile): Fixes thumbnail size with blur and alignment in video player by @martyfuhry in #7483
  • fix(mobile): Fixes prefer remote assets in thumbnail provider by @martyfuhry in #7485
  • feat(mobile): Adds better precaching for assets in gallery view and memory lane by @martyfuhry in #7486

🖥️ Web

📓 Documentation

🔨 Maintenance

  • chore(deps): update dependency @types/node to v20.11.20 by @renovate in #7474
  • refactor(server): format and metadata e2e by @jrasm91 in #7477
  • add explicit registry to docker image names by @saimonn in #7496

New Contributors

Full Changelog: v1.96.0...v1.97.0