Skip to content

chore(deps): update dependency https://github.com/immich-app/immich.git to v1.90.2

This MR contains the following updates:

Package Update Change
https://github.com/immich-app/immich.git minor v1.89.0 -> v1.90.2

Release Notes

immich-app/immich (https://github.com/immich-app/immich.git)

v1.90.2

Compare Source

v1.90.2

[!IMPORTANT]

Announcement (Breaking changes next release - v1.91.0)

Continuing the effort of reducing Immich's footprint, we would like to announce another planned change. Starting from the next release (not this release), we will be removing the Typesense container and changing the database image. Below are the changes that must be made in your docker-compose.yml file.

  immich-server:
  [...]
    depends_on:
      - redis
      - database
-     - typesense
    restart: always

  immich-microservices:
  [...]
    depends_on:
      - redis
      - database
-     - typesense
    restart: always

-  typesense:
-    container_name: immich_typesense
-    image: typesense/typesense:0.24.1@​sha256:9bcff2b829f12074426ca044b56160ca9d777a0c488303469143dd9f8259d4dd
-    environment:
-      - TYPESENSE_API_KEY=${TYPESENSE_API_KEY}
-      - TYPESENSE_DATA_DIR=/data
-      # remove this to get debug messages
-      - GLOG_minloglevel=1
-    volumes:
-      - tsdata:/data
-    restart: always

[...]

  database:
    container_name: immich_postgres
-   image: postgres:14-alpine@sha256:6a0e35296341e676fe6bd8d236c72afffe2dfe3d7eb9c2405c0f3fc04500cd07
+   image: tensorchord/pgvecto-rs:pg14-v0.1.11
    env_file:
      - .env
    environment:

volumes:
  pgdata:
  model-cache:
- tsdata:

[!NOTE] Note: If you are running your database with a non-superuser role for Immich, you must enable the pgvecto.rs extension manually. You can do this by connecting to the immich database as a superuser and running:

CREATE EXTENSION vectors;

Search Background

It turns out that synchronizing data between Postgres and Typesense is quite complicated. It accounts for at least an additional 1000 lines of code and, while very feature-filled, has become a burden to maintain. Also, there have been some serious memory and performance issues with Typesense, especially with large photo collections. It is lightning fast, but at the expense of large indexes that must be read from disk into memory on each restart. There have been reports of this process taking up to 30 minutes!

We effectively remove an entire class of bugs and issues by removing the need to synchronize data. Furthermore, search queries can more easily be combined with the existing database schema, like libraries, partner sharing, albums, etc. After merging #​3605, we hope to be able to make significant progress around the search implementation and feature set.

In short, some of the benefits of this change include the following:

  • One less container to run, deploy, and manage
  • Better memory/system resource usage
    • Decreased memory usage
    • Faster Encode CLIP and Recognize Faces jobs
    • Faster startup time
  • Significantly less code to maintain, test, debug
  • Improved developer workflow when adding search-related functionality
  • Ability to integrate smart search into end-to-end testing for improved testing coverage and stability
  • Ability to integrate CLIP search with other (metadata) criteria in the future
  • Ability to add customizable index settings for even lower memory usage and higher performance, such as on-disk indices and quantization

Hot Fixes

There is no mobile release for this version

  • Fixed merge face panel only shows 10 people

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

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

v1.90.1

Compare Source

v1.90.1

[!IMPORTANT]

Announcement (Breaking changes next release - v1.91.0)

Continuing the effort of reducing Immich's footprint, we would like to announce another planned change. Starting from the next release (not this release), we will be removing the Typesense container and changing the database image. Below are the changes that must be made in your docker-compose.yml file.

  immich-server:
  [...]
    depends_on:
      - redis
      - database
-     - typesense
    restart: always

  immich-microservices:
  [...]
    depends_on:
      - redis
      - database
-     - typesense
    restart: always

-  typesense:
-    container_name: immich_typesense
-    image: typesense/typesense:0.24.1@​sha256:9bcff2b829f12074426ca044b56160ca9d777a0c488303469143dd9f8259d4dd
-    environment:
-      - TYPESENSE_API_KEY=${TYPESENSE_API_KEY}
-      - TYPESENSE_DATA_DIR=/data
-      # remove this to get debug messages
-      - GLOG_minloglevel=1
-    volumes:
-      - tsdata:/data
-    restart: always

[...]

  database:
    container_name: immich_postgres
-   image: postgres:14-alpine@sha256:6a0e35296341e676fe6bd8d236c72afffe2dfe3d7eb9c2405c0f3fc04500cd07
+   image: tensorchord/pgvecto-rs:pg14-v0.1.11
    env_file:
      - .env
    environment:

volumes:
  pgdata:
  model-cache:
- tsdata:

[!NOTE] Note: If you are running your database with a non-superuser role for Immich, you must enable the pgvecto.rs extension manually. You can do this by connecting to the immich database as a superuser and running:

CREATE EXTENSION vectors;

Search Background

It turns out that synchronizing data between Postgres and Typesense is quite complicated. It accounts for at least an additional 1000 lines of code and, while very feature-filled, has become a burden to maintain. Also, there have been some serious memory and performance issues with Typesense, especially with large photo collections. It is lightning fast, but at the expense of large indexes that must be read from disk into memory on each restart. There have been reports of this process taking up to 30 minutes!

We effectively remove an entire class of bugs and issues by removing the need to synchronize data. Furthermore, search queries can more easily be combined with the existing database schema, like libraries, partner sharing, albums, etc. After merging #​3605, we hope to be able to make significant progress around the search implementation and feature set.

In short, some of the benefits of this change include the following:

  • One less container to run, deploy, and manage
  • Better memory/system resource usage
    • Decreased memory usage
    • Faster Encode CLIP and Recognize Faces jobs
    • Faster startup time
  • Significantly less code to maintain, test, debug
  • Improved developer workflow when adding search-related functionality
  • Ability to integrate smart search into end-to-end testing for improved testing coverage and stability
  • Ability to integrate CLIP search with other (metadata) criteria in the future
  • Ability to add customizable index settings for even lower memory usage and higher performance, such as on-disk indices and quantization

Hot Fixes

There is no mobile release for this version

  • Fixed bulk editing for asset's metadata on the web
  • Fixed faces not update after reassign face in a video

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

New Contributors

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

v1.90.0

Compare Source

v1.90.0

[!IMPORTANT]

Announcement (Breaking changes next release v1.91.0)

Continuing the effort of reducing Immich's footprint, we would like to announce another planned change. Starting from the next release (not this release), we will be removing the Typesense container and changing the database image. Below are the changes that must be made in your docker-compose.yml file.

  immich-server:
  [...]
    depends_on:
      - redis
      - database
-     - typesense
    restart: always

  immich-microservices:
  [...]
    depends_on:
      - redis
      - database
-     - typesense
    restart: always

-  typesense:
-    container_name: immich_typesense
-    image: typesense/typesense:0.24.1@​sha256:9bcff2b829f12074426ca044b56160ca9d777a0c488303469143dd9f8259d4dd
-    environment:
-      - TYPESENSE_API_KEY=${TYPESENSE_API_KEY}
-      - TYPESENSE_DATA_DIR=/data
-      # remove this to get debug messages
-      - GLOG_minloglevel=1
-    volumes:
-      - tsdata:/data
-    restart: always

[...]

  database:
    container_name: immich_postgres
-   image: postgres:14-alpine@sha256:6a0e35296341e676fe6bd8d236c72afffe2dfe3d7eb9c2405c0f3fc04500cd07
+   image: tensorchord/pgvecto-rs:pg14-v0.1.11
    env_file:
      - .env
    environment:

volumes:
  pgdata:
  model-cache:
- tsdata:

[!NOTE] Note: If you are running your database with a non-superuser role for Immich, you must enable the pgvecto.rs extension manually. You can do this by connecting to the immich database as a superuser and running:

CREATE EXTENSION vectors;

Search Background

It turns out that synchronizing data between Postgres and Typesense is quite complicated. It accounts for at least an additional 1000 lines of code and, while very feature-filled, has become a burden to maintain. Also, there have been some serious memory and performance issues with Typesense, especially with large photo collections. It is lightning fast, but at the expense of large indexes that must be read from disk into memory on each restart. There have been reports of this process taking up to 30 minutes!

We effectively remove an entire class of bugs and issues by removing the need to synchronize data. Furthermore, search queries can more easily be combined with the existing database schema, like libraries, partner sharing, albums, etc. After merging #​3605, we hope to be able to make significant progress around the search implementation and feature set.

In short, some of the benefits of this change include the following:

  • One less container to run, deploy, and manage
  • Better memory/system resource usage
    • Decreased memory usage
    • Faster Encode CLIP and Recognize Faces jobs
    • Faster startup time
  • Significantly less code to maintain, test, debug
  • Improved developer workflow when adding search-related functionality
  • Ability to integrate smart search into end-to-end testing for improved testing coverage and stability
  • Ability to integrate CLIP search with other (metadata) criteria in the future
  • Ability to add customizable index settings for even lower memory usage and higher performance, such as on-disk indices and quantization

Highlights

Welcome to release v1.90.0 of Immich. In this release, we introduce the first implementation of asset metadata editing, which includes date, time, and location. This release also contains many improvements and bug fixes. I hope you enjoy this release. Please read the following highlights below:

  • Edit metadata.
  • Reassign person faces.
  • Better handling of iCloud assets.
Edit metadata

This release introduces the first implementation of editing assets.

Web

https://github.com/immich-app/immich/assets/27055614/28966ea1-36f6-4dd9-8920-a5355978205d

Mobile App
Bottom Sheet Edit Date Time Edit Location Manual Location
Bottom sheet Edit date Location Edit Dialog Manual Location
Map Picker Bottom sheet Asset without location
Map picker Exif Info Sheet Asset without location

[!NOTE] Metadata edits only apply to non-external/read-only assets.

You can now edit a photo or video's date, time, hours, timezone, and GPS information. The edited info is written to a companion sidecar file and saved in the exact library location as the original photo or video.

Please note that downloading an asset does not include the sidecar file or edited information yet.

Thanks, @​YFrendo, and @​jrasm91 for the valuable implementation of this feature. Thanks @​shenlong-tanwen for a quick implementation on the mobile app for feature parity

Reassign person's faces

In this continuous enhancement, @​martabal has implemented a mechanism to change facial data in a photo from one person to another. There is a bounding box around the person's face in the photo hovered on the face in the detail panel.

Re-assigning faces

https://github.com/immich-app/immich/assets/74269598/84c63fc7-9b6e-44f2-8798-88dd1dcec898

Hovering thumbnails

https://github.com/immich-app/immich/assets/74269598/c2efd9f8-8efc-43e6-afc8-d24ff4acc76c

Better handling of iCloud assets

This is the first attempt to improve the backup process for iCloud’s users. We also added a toggle to ignore backing up assets from iCloud; you can find the option in a new Backup Options page on the mobile app.


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.

Changelogs

Mobile
Web
Server
Documentations
Dependencies

New Contributors

Full Changelog: https://github.com/immich-app/immich/compare/v1.89.0...v1.90.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 MR becomes conflicted, or you tick the rebase/retry checkbox.

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


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

This MR has been generated by Renovate Bot. The local configuration can be found in the SI Renovate Bot repository.

Edited by Botaniker (Bot)

Merge request reports