High performance self-hosted photo and video management solution.
AGPL-3.0 License
Bot releases are visible (Hide)
Published by github-actions[bot] 10 months ago
Welcome to the first Immich release of 2024, v1.92.0
. This release is packed with features, bug fixes, and improvements. Let’s dive into some of the highlights of this release.
We have further hardened the storage template move mechanism to not leave any files in the upload
folder behind. Making the job concurrency a fixed number and performing database lock between the move jobs will resolve some outstanding issues and stabilize this core feature.
For new instances, the storage template mechanism is now disabled by default (existing instances won’t be affected). This means files uploaded to the server will be stored in the upload
folder and not moved to the library
folder. To provide a nice user experience, we added the onboarding feature, as seen below, to inform users that the storage template is disabled by default, and they can enable it before uploading any photos or videos to the instance to avoid confusion.
https://github.com/immich-app/immich/assets/27055614/3705f8cb-723f-4ee7-854e-2628a684f6ca
This is also the continued effort to add support for other storage backends, such as Amazon S3 or Backblaze B2, in the future.
Add the option to set the instance's "external domain" when constructing the shared link URL to copy to the clipboard.
And as always, bugs are fixed, and many other improvements also come with this release.
Please consider supporting the project.
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.
Full Changelog: https://github.com/immich-app/immich/compare/v1.91.4...v1.92.0
Published by github-actions[bot] 10 months ago
[!important]
There was breaking changes inv1.91.0
please refer to the previous release note for more information
And as always, bugs are fixed, and many other improvements also come with this release.
Please consider supporting the project.
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.
Full Changelog: https://github.com/immich-app/immich/compare/v1.91.3...v1.91.4
Published by github-actions[bot] 10 months ago
[!important]
There was breaking changes inv1.91.0
please refer to the previous release note for more information
And as always, bugs are fixed, and many other improvements also come with this release.
Please consider supporting the project.
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.
Full Changelog: https://github.com/immich-app/immich/compare/v1.91.3...
Published by github-actions[bot] 10 months ago
[!important]
There was breaking changes inv1.91.0
please refer to the previous release note for more information
And as always, bugs are fixed, and many other improvements also come with this release.
Please consider supporting the project.
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.
Full Changelog: https://github.com/immich-app/immich/compare/v1.91.1...
Published by github-actions[bot] 10 months ago
[!important]
There was breaking changes inv1.91.0
please refer to the previous release note for more information
And as always, bugs are fixed, and many other improvements also come with this release.
Please consider supporting the project.
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.
Full Changelog: https://github.com/immich-app/immich/compare/v1.91.0...
Published by github-actions[bot] 10 months ago
Welcome to the release v1.91.0
of Immich! This release is packed with changes. Some of the highlights include:
[!IMPORTANT]
Action Required
docker-compose.yml
updates related to dropping Typesense- Reupload certain iOS Live Photos
- Changes to the
LOG_LEVEL
environment variable
docker-compose.yml
updatesWe 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 theimmich
database as a superuser and running:CREATE EXTENSION vectors;
[!NOTE]
See below for more details about this change, including frequently asked questions.
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.
LOG_LEVEL
environment variableThe 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.
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.
It is tested to work with Raspberry Pi 5, and should work with Raspberry Pi 4 as well.
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.
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.
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.
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:
And as always, bugs are fixed, and many other improvements also come with this release.
Please consider supporting the project.
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.
<a>
tag for albums in list view by @martabal in https://github.com/immich-app/immich/pull/5645
Full Changelog: https://github.com/immich-app/immich/compare/v1.90.2...v1.91.0
Published by github-actions[bot] 11 months ago
[!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 theimmich
database as a superuser and running:CREATE EXTENSION vectors;
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:
There is no mobile release for this version
And as always, bugs are fixed, and many other improvements also come with this release.
Please consider supporting the project.
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.
Full Changelog: https://github.com/immich-app/immich/compare/v1.90.1...
Published by github-actions[bot] 11 months ago
[!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 theimmich
database as a superuser and running:CREATE EXTENSION vectors;
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:
There is no mobile release for this version
And as always, bugs are fixed, and many other improvements also come with this release.
Please consider supporting the project.
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.
Full Changelog: https://github.com/immich-app/immich/compare/v1.90.0...
Published by github-actions[bot] 11 months ago
[!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 theimmich
database as a superuser and running:CREATE EXTENSION vectors;
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:
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:
This release introduces the first implementation of editing assets.
https://github.com/immich-app/immich/assets/27055614/28966ea1-36f6-4dd9-8920-a5355978205d
Bottom Sheet | Edit Date Time | Edit Location | Manual Location |
---|---|---|---|
Map Picker | Bottom 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
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.
https://github.com/immich-app/immich/assets/74269598/84c63fc7-9b6e-44f2-8798-88dd1dcec898
https://github.com/immich-app/immich/assets/74269598/c2efd9f8-8efc-43e6-afc8-d24ff4acc76c
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.
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.
sendFile
by @jameskeane in https://github.com/immich-app/immich/pull/5515
Full Changelog: https://github.com/immich-app/immich/compare/v1.89.0...v1.90.0
Published by github-actions[bot] 11 months ago
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:
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:
.reverse-geocoding-dump/
folder and internet connectivity requirement!)[!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.
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.
Full Changelog: https://github.com/immich-app/immich/compare/v1.88.2...v1.89.0
Published by github-actions[bot] 11 months ago
This a reminder that there is a breaking change for v1.88.x
[!warning]
BREAKING CHANGES
immich-proxy
andimmich-web
are no longer used as announced.
[!note]
There is no mobile release for this versionv1.88.2
Please consider supporting the project.
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.
Full Changelog: https://github.com/immich-app/immich/compare/v1.88.1...
Published by github-actions[bot] 11 months ago
A reminder that there is a breaking change for v1.88.x
[!warning]
BREAKING CHANGES
immich-proxy
andimmich-web
are no longer used as announced. Please see the content that needs to be edited from thedocker-compose.yml
file below.immich-server
now serves the api on/api
and the web-app from/
.The steps to update are as follow:
- Bring down the stack with
docker compose down --remove-orphans
- Update the
docker-compose.yml
file
2.1. Removeimmich-proxy
service
2.2. Removeimmich-web
service
2.3. Expose port2283:3001
in theimmich-server
service- Run
docker compose pull
- 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 versionv1.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
And as always, bugs are fixed, and many other improvements also come with this release.
Please consider supporting the project.
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.
Full Changelog: https://github.com/immich-app/immich/compare/v1.88.0...
Published by github-actions[bot] 11 months ago
[!warning]
BREAKING CHANGES
immich-proxy
andimmich-web
are no longer used as announced. Please see the content that needs to be edited from thedocker-compose.yml
file below.immich-server
now serves the api on/api
and the web-app from/
.The steps to update are as follow:
- Bring down the stack with
docker compose down --remove-orphans
- Update the
docker-compose.yml
file
2.1. Removeimmich-proxy
service
2.2. Removeimmich-web
service
2.3. Expose port2283:3001
in theimmich-server
service- Run
docker compose pull
- 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
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.
Please consider supporting the project.
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.
Full Changelog: https://github.com/immich-app/immich/compare/v1.87.0...v1.88.0
Published by github-actions[bot] 11 months ago
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:
/asset/import
endpoint has been removed in favor of Libraries.Please consider supporting the project.
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.
Full Changelog: https://github.com/immich-app/immich/compare/v1.86.0...v1.87.0
Published by github-actions[bot] 12 months ago
[!warning]
Breaking Changes
- The server and mobile app must be on the same version for the application to work correctly.
- The mobile app might log you out. You will need to log in again for this release since we are changing some of the APIs and cannot auto-resolve when the user is logged in.
- Docker compose auto-names resources based on the project name, with a fallback to the current folder. In #4906 we now set the project name to “immich” in our docker compose file. For existing installs, we recommend ignoring this change as it would lead to orphaned resources.
We are sorry for the inconvenience
Welcome to release v1.86.0
of Immich. This release brings you some of the highly requested features and a lot of bug fixes and improvements. Let’s dive right into the highlighted features below:
In this release we have added an option to enable parter-shared photos to be displayed in the main timeline. This feature can be enabled on a per-partner basis and can be viewed and updated on both the web and mobile app.
For the web interface: Account’s Setting > Sharing > Show in timeline
For the mobile app: from the partner’s view, on the top right corner of the app bar
Related to this new feature, the people-sharing card has been redesigned to make it easier to understand what is being shared, and with whom.
Now that assets from multiple users can appear in the timeline, there are some caveats, namely:
Since Immich has been growing quickly, we got a reminder from the community that we were using OpenStreetMap’s tile server. We have switched to a different default tile server to avoid violating the Tile Usage Policy. This created an opportunity to build our custom layer to make the map’s look-and-feel slicker.
We’ve added additional support for antelopev2
and buffalo_m
as the supported facial recognition models:
antelopev2
has the same detection model as buffalo_l
, but a roughly 50% larger recognition model.
buffalo_m
has the same recognition model as buffalo_l
, but a smaller detection model.
We added an option to change the color of your avatar if you don’t want to upload a profile picture. This mechanism will help to distinguish the user in the Activity panel on the album page.
https://github.com/immich-app/immich/assets/74269598/2a133113-190c-49b6-8dea-2ddf113507c8
And as always, bugs are fixed, and many other improvements also come with this release.
Please consider supporting the project.
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.
Full Changelog: https://github.com/immich-app/immich/compare/v1.85.0...v1.86.0
Published by github-actions[bot] 12 months ago
[!warning]
Breaking Changes
The server and mobile app must be on the same version for the application to work correctly.
Welcome to release v1.85.0
of Immich. This release includes many bug fixes across the app, server, and web and introduces new features, which you can find in the highlights below.
The activity feature that was added in the last release has now been integrated into the shared album view, where you can now see the likes and comments for all photos and videos in the shared album. You can also like and comment directly on the album itself. In the new album options modal, you can also toggle this feature on and off.
In this release, the activity functions have also been added to the mobile app.
Thanks @martabal and @shenlong-tanwen for your tireless work on this feature
https://github.com/immich-app/immich/assets/27055614/fafec2b1-ba56-487f-a965-f8c5bbca5efc
With the return of our web expert, @brighteyed, the slideshow now plays and advances with a shuffle option by default. You can toggle the option to advance the slide show incrementally according to the creation date.
And as always, bugs are fixed, and many other improvements also come with this release.
Please consider supporting the project.
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.
getByIds
by @mertalev in https://github.com/immich-app/immich/pull/4855
docker compose
command. by @jesb1n in https://github.com/immich-app/immich/pull/4828
Full Changelog: https://github.com/immich-app/immich/compare/v1.84.0...
Published by github-actions[bot] 12 months ago
Welcome to release v1.84.0
. This release brings many quality-of-life improvements, a new mobile app bar, and bug fixes for machine learning. I hope you enjoy this release.
Thanks to @shenlong-tanwen, we now have the new aesthetically pleasing app bar and user profile panel. The trash button can now be found on the library
page.
We added an optional password
option for the shared link. Thanks, @jarvis2f, for your work!
With the fantastic and tight collaboration between @martabal and @jrasm91, after two days of work, you can now comment on a photo or video in the shared album, and the shared users can all read the feed. This feature is web-only at the current stage.
You can now define a custom interval for the trigger or external library rescan. Thank you, @danieldietzler, for the enhancement to the feature.
And as always, bugs are fixed, and many other improvements also come with this release.
Please consider supporting the project.
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.
Full Changelog: https://github.com/immich-app/immich/compare/v1.83.0...v1.84.0
Warning
Action Required
Re-run metadata extraction for videos impacted by the
duration
parsing bug (#4480)
Welcome to release v1.83.0
of Immich. Thank you, everybody, for your continued support of Immich, from testing, bug reports, and code contributions to the financial donations. You have my eternal appreciation. I am happy to bring you this 20_000 stars release. The contributors and I love gazing at the stars when we push out code in the middle of the night, so be sure to keep it coming 😀. I hope you enjoy this release, which brings a lot of bug fixes and new features, which are highlighted below:
This release introduces asset stacking. Specifically, we have added the option to manually stack assets, with automatic stacking planned for a future release. When assets are stacked, the children are hidden from the main timeline, and only a single (primary/parent) asset is shown. This is perfect for grouping JPEG and RAW, burst shots, and edited file versions. The stacked content can only be seen from the main timeline on the web and mobile app. In other views, such as album, archive, and favorite, the contents are still shown as not stacked.
Many thanks to @shenlong-tanwen for spearheading this effort and the mobile implementation.
https://github.com/immich-app/immich/assets/27055614/ca2e8538-7b87-41d5-a2f6-f0a8e976d6a3
https://github.com/immich-app/immich/assets/27055614/2b194070-7736-4db7-846c-1d540b622aac
You can now create a shared link on the mobile app. It is not yet possible to view the shared link content on the mobile app, and we are hoping to add this ability in the near future.
https://github.com/immich-app/immich/assets/27055614/b4b1b3b4-2964-4dd8-86c3-73b7caf6c983
Two new storage template variables have been added in this release:
{{assetId}}
- The UUID for the asset
{{album}}
- The name of the first album the asset belongs to
[!NOTE]
Note that when using thealbum
variable, the storage template won’t be applied immediately unless an asset is directly uploaded to an album. Therefore, the Storage Template Migration job may need to be run manually after sorting new assets into albums.
We have added a new Administration > Setting
called “Theme Settings”, where you can write custom CSS that will get loaded in the web application for all users. This enables administrators to change fonts, colors, and other styles. Thanks @Wingysam for your contribution.
As always, please consider supporting the project.
🎉 Cheer! 🎉
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.
assetId
by @ItalyPaleAle in https://github.com/immich-app/immich/pull/4555
Full Changelog: https://github.com/immich-app/immich/compare/v1.82.1...1.83.0
Published by github-actions[bot] about 1 year ago
[!NOTE]
There is no mobile release for this version
This version includes some minor bug fixes and improvements.
Please consider supporting the project.
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.
Full Changelog: https://github.com/immich-app/immich/compare/v1.82.0...
Published by github-actions[bot] about 1 year ago
Warning
Action Required - BREAKING CHANGE
- The mobile app and server must be on the same version to work correctly.
- We removed a section from the default docker-compose.yml that passed the
IMMICH_SERVER_URL
andIMMICH_WEB_URL
environment variables to immich-proxy. If your setup requires those, make sure you keep them passed through.- We have improved the time bucket grouping algorithm (see more below). To take advantage of this feature, please run the job to “Extract Metadata” for all assets.
We identified two security flaws that have been fixed and, therefore, urge all Immich users to upgrade as soon as possible.
/api/user/count
) to determine if the server had an initial administrator account. The endpoint revealed the number of user accounts on the Immich server, which is undesirable. We have added authentication to this endpoint and migrated the server initialization status to an alternative endpoint. This flaw was found by internal security testing (DAST) by the Immich team.In addition, we have discovered that thumbnails (which can be downloaded from right-click -> save images as…
) contain the full EXIF (metadata) information. Normally, you might expect this metadata to be scrubbed (as do Facebook, Google Photos, Twitter, etc.), but it isn’t. We are not able to fix it ourselves without significant performance degradation but have to wait for an upstream package. We advise users not to use the public-sharing feature if they have concerns about sharing metadata.
Welcome to release v1.82.0
of Immich. This release is packed with many improvements, so buckle your seat belt and zoom on to the highlights below:
This release introduces the new trash feature, which is similar to the trash section on your native photo viewer. When a photo is deleted from Immich, it will go into the trash and stay there for 30 days before being permanently removed from Immich, which includes the database and the file system for non-external library assets. You can access the page from the sidebar on the web and the app drawer menu in the mobile app. Like with most features in Immich, you can adjust the trash duration or even opt out of the feature entirely from the Administration Settings. This has been a highly requested feature, and we hope you enjoy it. Let us know if you run into any issues using it.
Several actions in the web client previously required the user to manually refresh the page to see changes. In this release, we added a WebSocket connection to the web application, eliminating some of these manual refreshes and improving the user experience. Events that are now pushed from the server include:
With web sockets in place now both in the web and mobile apps, we hope to find additional ways to improve the user experience and push updates as they happen to appropriate clients.
Library scanning performance has been significantly improved in this release. Specifically, the implementation for the initial scan has been greatly improved. Previously, this job had quadratic time complexity but has since been improved to linear time. On a library with 250k assets, the time to queue a library refresh has gone down from 10+ minutes (@etnoy said: I couldn’t be bothered to wait longer for a list comparison) to around 30 seconds.
Additionally, marking assets as offline has been improved as well. This process is used to execute a single query per asset, which adds up when large numbers of assets go offline. We have optimized this to use a single (bulk) update statement. For reference, marking 16k assets as offline went down from several minutes to a few seconds.
Lastly, we have added an index for asset lookups by path, which should decrease the amount of pressure on put on the database during library refreshes.
The default library job concurrency has been increased from 1 to 5.
These improvements will make it much easier to use Immich with large collections. Please let us know if you are still seeing performance bottlenecks in the library jobs. We plan to continue to iterate and improve this area in the future, and your feedback is very helpful in identifying issues.
Assets are grouped by buckets on the web, and this was a problematic and complicated task when considering photos taken in different time zones. Even more so when considering a database, server, and client, which may all be running in different timezones, now, with a new database column localDateTime
, we can query, sort, and group assets by the local date and time they were taken and show them consistently in the right bucket (in the correct order), regardless of the server or viewing timezone.
The storage template feature was added in the early days of Immich and has helped many people automatically organize the underlying files into a clean, predictable structure. However, the additional file move operations that were introduced with the feature have also been the cause of some nasty bugs, like #2877. In this release, we have hardened the move operations, which have significantly improved the resiliency of storage template move operations. Additionally, we have added a new page at Administration > Repair
, which gives a report of orphaned and untracked files, with some initial tools to help correct previously orphaned files.
Please consider supporting the project.
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.
Full Changelog: https://github.com/immich-app/immich/compare/v1.81.1...v1.82.0