Skip to content

Releases: immich-app/immich

v1.91.1

16 Dec 18:49
Compare
Choose a tag to compare

v1.91.1

Important

There was breaking changes in v1.91.0 please refer to the previous release note for more information

Hot Fixes

  • Fixed cannot save exclusive patterns on the web
  • Fixed cannot search for places

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

Web

Documentation

New Contributors

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

v1.91.0

15 Dec 15:47
Compare
Choose a tag to compare

v1.91.0

Welcome to the release v1.91.0 of Immich! This release is packed with changes. Some of the highlights include:

  • A list of breaking changes/action required steps
  • More details about the removal of the Typesense container and switch to pgvecto.rs, including some FAQs
  • Notable fix: Backing up assets from iCloud no longer hangs the process

Important

Action Required

  1. docker-compose.yml updates related to dropping Typesense
  2. Reupload certain iOS Live Photos
  3. Changes to the LOG_LEVEL environment variable

1. docker-compose.yml updates

We are 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;

Note

See below for more details about this change, including frequently asked questions.

2. Reupload certain iOS Live Photos

iOS Live Photos uploaded after v1.89.0 that are not linked need to be deleted and re-uploaded from the mobile app.

This is a one-time action, and future live photos uploaded from the mobile app will be properly linked together.

3. Changes to the LOG_LEVEL environment variable

The LOG_LEVEL value of simple has been removed. The equivalent value is log. If you were using the value simple, the server container will not start until this is updated.

FAQ

I kept Typesense disabled because my CPU doesn’t support AVX. Does this change mean I can’t use Immich anymore?

The new vector search extension we’re using, pgvecto.rs, does not require AVX to function as it does a runtime check on the SIMD instructions your CPU supports.

Does it work with Raspberry Pi?

It is tested to work with Raspberry Pi 5, and should work with Raspberry Pi 4 as well.

Do I need to do a backup and restore for my Postgres database?

While it is recommended to regularly backup your database, this change can be done in-place just by changing the image. You do not need to do a backup and restore unless you run into a specific issue that requires it.

I have a common Postgres instance that I share with other services. What do I need to do with this change?

The Postgres image we use is regular Postgres, just with the pgvecto.rs extension. If your Postgres instance is a regular instance without any third-party extensions, then you can simply switch out the image for that instance with the tensorchord/pgvecto-rs:pg14-v0.1.11 image (changing pg14 to the major version you use - 14, 15 or 16). This is a drop-in replacement that will work without a backup and restore.

If your instance has third-party extensions, then you will need to make a docker image that installs the pgvecto.rs extension in addition to the other extensions based on their installation instructions. An example of this for the CloudNativePG Kubernetes operator can be found here.

If you use a bare-metal instance and have a Debian-based server, then you may instead follow their installation instructions and install the pgvecto.rs Debian package directly.

While trying to backup and restore my Postgres instance, I got the error type “earth” does not exist. What do I do?

This is a bug with Postgres’ earthdistance extension. You can fix the issue by following the instructions here.

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

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

Breaking Changes 🛠

Server

Mobile

Read more

v1.90.2

08 Dec 14:42
Compare
Choose a tag to compare

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

  • fix(web): don't limit merge face selector to 10 people by @martabal in #5551

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

v1.90.1

08 Dec 04:39
Compare
Choose a tag to compare

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

07 Dec 19:01
Compare
Choose a tag to compare

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

chrome_R8eIwyUEBR.mp4

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

2023-11-10.20-05-34.mp4

Hovering thumbnails

2023-11-13.11-42-12.mp4

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

Read more

v1.89.0

29 Nov 20:19
Compare
Choose a tag to compare

v1.89.0

Highlights

Welcome to release v1.89.0 of Immich. This release focuses on bug fixes and quality improvements for the server, web, and mobile client. Some of the highlights include:

  • Better reverse geocoding resource management (#5301)
  • Search name when merging face
  • Album sorting options (take 2)
  • Set original datetime via sidecar in preparation for metadata writing (#5199, #5066)

Reverse Geocoding Rewrite

When we first implemented reverse-geocoding, we picked a semi-popular library to handle it for us. However, we have run into quite a few issues. Like this, this, this, this, and plenty more. For better or for worse, it was easier to rewrite the implementation from the ground up, as part of the Immich core codebase. The new implementation matches the accuracy of the previous implementation but with multiple improvements. We plan to increase accuracy further in the future. Some of the changes include:

  • Default reverse geocoding files ship with the immich-server image (bye-bye .reverse-geocoding-dump/ folder and internet connectivity requirement!)
  • Reverse geocoding is read and loaded into Postgres once per release and then cached afterward.
  • Microservices memory usage down from ~500MB to ~100MB

Before

Before

After

After

Warning

If you are running your own Postgres database (not the one in our default docker-compose) and created the immich user yourself, you may need to enable the required extensions as the database superuser. You can do this by running the following two queries under the context of the immich database. This will only need to be run once.

CREATE EXTENSION cube;
CREATE EXTENSION earthdistance;

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

Web

Server

Mobile

Machine Learning

CLI

Documentation

Dependencies Updates

Read more

v1.88.2

21 Nov 16:30
Compare
Choose a tag to compare

1.88.2

This a reminder that there is a breaking change for v1.88.x

Warning

BREAKING CHANGES
immich-proxy and immich-web are no longer used as announced.

Note

There is no mobile release for this version v1.88.2

Hotfixes

  • Fixed issue with query unoptimized for the album and sharing page on the web. This fix is a revert of the fix for the web's album sorting. We will need to return to that issue and find an optimal way to perform the sort mechanism

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

v1.88.1

21 Nov 03:26
Compare
Choose a tag to compare

v1.88.1

A reminder that there is a breaking change for v1.88.x

Warning

BREAKING CHANGES
immich-proxy and immich-web are no longer used as announced. Please see the content that needs to be edited from the docker-compose.yml file below. immich-server now serves the api on /api and the web-app from /.

The steps to update are as follow:

  1. Bring down the stack with docker compose down --remove-orphans
  2. Update the docker-compose.yml file
    2.1. Remove immich-proxy service
    2.2. Remove immich-web service
    2.3. Expose port 2283:3001 in the immich-server service
  3. Run docker compose pull
  4. Bring up the stack with docker compose up -d

For those using a custom proxy, please update the routing to forward all requests to immich-server without the /api path re-write.

Note

There is no mobile release for this version v1.88.1

services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    command: [ "start.sh", "immich" ]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
    env_file:
      - .env
+   ports:
+     - 2283:3001
    depends_on:
      - redis
      - database
      - typesense
    restart: always

  immich-microservices:
     [...]
  immich-machine-learning:
     [...]

-  immich-web:
-    container_name: immich_web
-    image: ghcr.io/immich-app/immich-web:${IMMICH_VERSION:-release}
-    env_file:
-      - .env
-    restart: always

  typesense:
    [...]

  redis:
    [...]

  database:
    [...]

- immich-proxy:
-   container_name: immich_proxy
-   image: ghcr.io/ Warninimmich-app/immich-proxy:${IMMICH_VERSION:-release}
-   ports:
-     - 2283:8080
-   depends_on:
-     - immich-server
-     - immich-web
-   restart: always

Hotfixes

  • Fixed an issue with the video not being correctly placed on the timeline
  • Fixed an issue with search on the web doesn't take into account the search phrase
  • Fixed an issue of the year label overlapped on the timeline bar

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

v1.88.0

20 Nov 21:08
Compare
Choose a tag to compare

v1.88.0

Warning

BREAKING CHANGES
immich-proxy and immich-web are no longer used as announced. Please see the content that needs to be edited from the docker-compose.yml file below. immich-server now serves the api on /api and the web-app from /.

The steps to update are as follow:

  1. Bring down the stack with docker compose down --remove-orphans
  2. Update the docker-compose.yml file
    2.1. Remove immich-proxy service
    2.2. Remove immich-web service
    2.3. Expose port 2283:3001 in the immich-server service
  3. Run docker compose pull
  4. Bring up the stack with docker compose up -d

For those using a custom proxy, please update the routing to forward all requests to immich-server without the /api path re-write.

services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    command: [ "start.sh", "immich" ]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
    env_file:
      - .env
+   ports:
+     - 2283:3001
    depends_on:
      - redis
      - database
      - typesense
    restart: always

  immich-microservices:
     [...]
  immich-machine-learning:
     [...]

-  immich-web:
-    container_name: immich_web
-    image: ghcr.io/immich-app/immich-web:${IMMICH_VERSION:-release}
-    env_file:
-      - .env
-    restart: always

  typesense:
    [...]

  redis:
    [...]

  database:
    [...]

- immich-proxy:
-   container_name: immich_proxy
-   image: ghcr.io/ Warninimmich-app/immich-proxy:${IMMICH_VERSION:-release}
-   ports:
-     - 2283:8080
-   depends_on:
-     - immich-server
-     - immich-web
-   restart: always

Highlights

Welcome to release v1.88.0 of Immich. In this release we have simplified how Immich is deployed, beautified our app interface with a new font, namely Overpass, and finally released version 2 of our command line interface (CLI), which has been in the works for the past six months.

image image

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

Server

CLI

Web

Mobile

Machine Learning

Documentation and others

Dependencies

New Contributors

Full Changelog: v1.87.0...v1.88.0

v1.87.0

18 Nov 03:16
Compare
Choose a tag to compare

v1.87.0

Welcome to release v1.87.0 of Immich. This release is the final version where we bid farewell to the immich-web and immich-proxy containers. Starting in the next release, the two containers will be consolidated into the immich-server container for easier deployment and maintenance. For more information on preparing for the next release, please read the following announcement

Recently, I've had a chance to get on the Self-hosted.show podcast to talk about Immich, the team behind it, the project's future and vision, as well as the sustainability of the project. You can have a listen here.

Please find the highlights of this release below:

  • You can now use the mobile app without giving it full permission to access media storage, allowing you to access only remote assets that are backed up on the server.
  • Machine learning models are now unloaded when unused, reducing the application's memory footprint.
  • The /asset/import endpoint has been removed in favor of Libraries.
  • Lower thumbnail resolution options

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

Server

Mobile

Web

Machine Learning

Others

  • chore(test): don't set max old space in e2e tests by @etnoy in #5050
  • chore: readme feature list by @alextran1502 in #5048
  • chore(deps): bump actions/github-script from 6 to 7 by @dependabot in #5032
  • fix(deps): update dependency commander to v11.1.0 by @renovate in #5003
  • chore(deps): update postgres:14-alpine docker digest to 50d9be7 by @renovate in #5054
  • chore(deps): update dependency @faker-js/faker to v8 by @renovate in #5059
  • chore(deps): update dependency @testing-library/jest-dom to v6 by @renovate in #5073
  • chore: added new zcash donation option in readme by @JordyEGNL in #5087

New Contributors

Full Changelog: v1.86.0...v1.87.0