From 93d39e13f890e4e4d935217b7b3cf72ce560ecc7 Mon Sep 17 00:00:00 2001
From: jrasm91 <4334196+jrasm91@users.noreply.github.com>
Date: Thu, 26 Feb 2026 17:16:14 +0000
Subject: [PATCH] chore: release v2.6.0
---
CHANGELOG.md | 137 ++++++++++++++++++++
cli/package.json | 2 +-
docs/static/archived-versions.json | 4 +
e2e/package.json | 4 +-
i18n/package.json | 2 +-
machine-learning/pyproject.toml | 2 +-
machine-learning/uv.lock | 2 +-
mobile/android/fastlane/Fastfile | 4 +-
mobile/ios/Runner/Info.plist | 2 +-
mobile/openapi/README.md | 2 +-
mobile/pubspec.yaml | 2 +-
open-api/immich-openapi-specs.json | 2 +-
open-api/typescript-sdk/package.json | 2 +-
open-api/typescript-sdk/src/fetch-client.ts | 2 +-
package.json | 2 +-
server/package.json | 2 +-
web/package.json | 2 +-
17 files changed, 158 insertions(+), 17 deletions(-)
create mode 100644 CHANGELOG.md
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 0000000000..c167d308b8
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,137 @@
+
+# v2.6.0
+
+## Highlights
+
+{{RELEASE HIGHLIGHTS}}
+
+As always, please consider supporting the project.
+
+🎉 Cheers! 🎉
+
+
+----
+
+And as always, bugs are fixed, and many other improvements also come with this release.
+
+
+
+## What's Changed
+### 🚀 Features
+* feat: shared link login by @jrasm91 in https://github.com/immich-app/immich/pull/25678
+* feat: schema-check by @jrasm91 in https://github.com/immich-app/immich/pull/25904
+* feat: add people deeplink by @arne182 in https://github.com/immich-app/immich/pull/25686
+* feat(mobile): inline asset details by @uhthomas in https://github.com/immich-app/immich/pull/25952
+* feat(mobile): filter by tags by @benjamonnguyen in https://github.com/immich-app/immich/pull/26196
+* feat: add .mxf file support by @timonrieger in https://github.com/immich-app/immich/pull/24644
+* feat: tap to see next/previous image by @thezeroalpha in https://github.com/immich-app/immich/pull/20286
+* feat(mobile): Allow users to set album cover from mobile app by @timonrieger in https://github.com/immich-app/immich/pull/25515
+* feat(mobile): Allow users to set profile picture from asset viewer by @timonrieger in https://github.com/immich-app/immich/pull/25517
+* feat: ROCm 7.2 and MIGraphX support by @kprinssu in https://github.com/immich-app/immich/pull/26178
+* feat(web): map timeline sidepanel by @michelheusschen in https://github.com/immich-app/immich/pull/26532
+### 🌟 Enhancements
+* feat: verify permissions by @jrasm91 in https://github.com/immich-app/immich/pull/25647
+* feat(web): change link expiration logic & presets by @YarosMallorca in https://github.com/immich-app/immich/pull/26064
+* feat(mobile): dynamic layout in new timeline by @shenlong-tanwen in https://github.com/immich-app/immich/pull/23837
+* feat(cli): change progress bar to display file size by @Nykri in https://github.com/immich-app/immich/pull/23328
+* feat(mobile): dynamic multi-line album name by @uhthomas in https://github.com/immich-app/immich/pull/26040
+* feat(mobile): hide search by context/OCR if disabled on server (#25472) by @Nacolis in https://github.com/immich-app/immich/pull/26063
+* fix(release): add docker-compose.rootless.yml to released assets by @dnozay in https://github.com/immich-app/immich/pull/26261
+* feat(web): show ocr text boxes in panoramas by @meesfrensel in https://github.com/immich-app/immich/pull/25727
+* feat(web): loop chromecast video by @etnoy in https://github.com/immich-app/immich/pull/24410
+* chore(web): merge "Add to album" and "Add to shared album" actions into a single action by @timonrieger in https://github.com/immich-app/immich/pull/24669
+* feat(mobile): timeline - add bottomWidgetBuilder by @PeterOmbodi in https://github.com/immich-app/immich/pull/25634
+* feat(mobile): video zooming in asset viewer by @goalie2002 in https://github.com/immich-app/immich/pull/22036
+* feat(mobile): Add slug support for shared links by @Lauritz-Tieste in https://github.com/immich-app/immich/pull/26441
+* feat: warn when losing transparency during thumbnail generation by @midzelis in https://github.com/immich-app/immich/pull/26243
+* perf(mobile): optimized album sorting by @YarosMallorca in https://github.com/immich-app/immich/pull/25179
+* feat(mobile): prompt when deleting from trash by @YarosMallorca in https://github.com/immich-app/immich/pull/26392
+* feat: getAssetEdits respond with edit IDs by @bwees in https://github.com/immich-app/immich/pull/26445
+* fix(server): accept showAt and hideAt for creating memories by @meesfrensel in https://github.com/immich-app/immich/pull/26429
+* feat(server): SyncAssetEditV1 by @bwees in https://github.com/immich-app/immich/pull/26446
+* feat: splash screen error page by @shenlong-tanwen in https://github.com/immich-app/immich/pull/26460
+### 🐛 Bug fixes
+* fix: ignore checksum constraint error when logging by @jrasm91 in https://github.com/immich-app/immich/pull/26113
+* fix(web): use locale for date picker by @michelheusschen in https://github.com/immich-app/immich/pull/26125
+* fix(web): escape shortcut handling by @michelheusschen in https://github.com/immich-app/immich/pull/26096
+* fix(mobile): Login routing on Splash screen by @PeterOmbodi in https://github.com/immich-app/immich/pull/26128
+* fix: null local date time in timeline queries by @shenlong-tanwen in https://github.com/immich-app/immich/pull/26133
+* fix(web): prevent event manager from throwing error by @michelheusschen in https://github.com/immich-app/immich/pull/26156
+* fix(web): improve api key modal responsiveness by @klenner1 in https://github.com/immich-app/immich/pull/26151
+* fix(web): show correct assets in memory gallery by @michelheusschen in https://github.com/immich-app/immich/pull/26157
+* fix(web): add missing @immich/ui translations by @michelheusschen in https://github.com/immich-app/immich/pull/26143
+* fix(mobile): timeline handling on foldable phones + ensuring that images are not cut off by @bkchr in https://github.com/immich-app/immich/pull/25088
+* fix(mobile): prevent nav bar label text wrapping by @chrislongros in https://github.com/immich-app/immich/pull/26011
+* fix(mobile): hide latest version warnings by @uhthomas in https://github.com/immich-app/immich/pull/26036
+* fix(mobile): inconsistent query for people by @YarosMallorca in https://github.com/immich-app/immich/pull/24437
+* fix(web): timeline multi select group state by @michelheusschen in https://github.com/immich-app/immich/pull/26180
+* fix(web): add checkerboard background for transparent images by @agent-steven in https://github.com/immich-app/immich/pull/26091
+* fix(mobile): inherit toolbar opacity by @uhthomas in https://github.com/immich-app/immich/pull/25694
+* fix(web): focus tag input when modal opens by @michelheusschen in https://github.com/immich-app/immich/pull/26256
+* fix(web): clear face boxes when switching assets by @michelheusschen in https://github.com/immich-app/immich/pull/26249
+* fix(web): clear unsaved asset description when changing asset by @michelheusschen in https://github.com/immich-app/immich/pull/26255
+* fix(web): clear cache when asset changes by @michelheusschen in https://github.com/immich-app/immich/pull/26257
+* fix: utc time zone upserts by @danieldietzler in https://github.com/immich-app/immich/pull/26258
+* fix: metadata crash by @jrasm91 in https://github.com/immich-app/immich/pull/26327
+* fix: prevent server crash when extraction of metadata fails if the assets are corrupted by @Devansh-Jani in https://github.com/immich-app/immich/pull/26042
+* fix(server): db restore failure when `DB_URL` is set to unix-domain socket connection by @fabio-garavini in https://github.com/immich-app/immich/pull/26252
+* fix: Download the edited version when downloading multiple photos by @MontejoJorge in https://github.com/immich-app/immich/pull/26259
+* fix: include `DROP INDEX` in transaction to prevent missing index on rollback by @haoxi911 in https://github.com/immich-app/immich/pull/25399
+* fix: safari address bar color by @jrasm91 in https://github.com/immich-app/immich/pull/26346
+* fix(web): prevent panorama image reload during asset updates by @michelheusschen in https://github.com/immich-app/immich/pull/26349
+* fix(web): favoriting assets opened via GalleryViewer by @michelheusschen in https://github.com/immich-app/immich/pull/26350
+* fix(i18n): add translation key for partner's photos by @timonrieger in https://github.com/immich-app/immich/pull/26348
+* fix(web): single select scroll behavior by @timonrieger in https://github.com/immich-app/immich/pull/26358
+* perf: add indexes to improve People API response times by @bxtdvd in https://github.com/immich-app/immich/pull/26337
+* fix: pin code reset modal by @jrasm91 in https://github.com/immich-app/immich/pull/26370
+* fix(mobile): Reset "People" search filter chip if no selections are made by @benjamonnguyen in https://github.com/immich-app/immich/pull/26267
+* fix(cli): delete sidecar files after upload if requested by @timonrieger in https://github.com/immich-app/immich/pull/26353
+* fix(web): album description auto height by @michelheusschen in https://github.com/immich-app/immich/pull/26420
+* fix(web): prevent side panel overlap during transition by @michelheusschen in https://github.com/immich-app/immich/pull/26398
+* fix(web): storage template example by @mmomjian in https://github.com/immich-app/immich/pull/26424
+* fix(web): prevent `state_unsafe_mutation` error on people page by @michelheusschen in https://github.com/immich-app/immich/pull/26438
+* fix: missing deletedAt and isVisible columns on mobile by @bwees in https://github.com/immich-app/immich/pull/26414
+* fix(mobile): joinLocal on archived timeline by @YarosMallorca in https://github.com/immich-app/immich/pull/26387
+* fix: always show library scan button by @etnoy in https://github.com/immich-app/immich/pull/26428
+* fix: retain asset when either asset is a favorite by @shenlong-tanwen in https://github.com/immich-app/immich/pull/26473
+* fix(web): prevent null folder tree on concurrent load by @michelheusschen in https://github.com/immich-app/immich/pull/26489
+* fix(web): toast warning when trying to upload unsupported file type by @meesfrensel in https://github.com/immich-app/immich/pull/26492
+* fix(mobile): birthday picker shows limited months when no date exists by @socksprox in https://github.com/immich-app/immich/pull/26407
+* fix: consider DAR when extracting video dimension by @alextran1502 in https://github.com/immich-app/immich/pull/25293
+* feat(mobile): Prevent premature image cache eviction when higher image loading is enabled by @LeLunZ in https://github.com/immich-app/immich/pull/26208
+* refactor: star rating by @meesfrensel in https://github.com/immich-app/immich/pull/26357
+* fix(mobile): set correct initial system-ui mode in asset viewer by @goalie2002 in https://github.com/immich-app/immich/pull/26500
+### 📚 Documentation
+* chore(docs): Update help channel for developers by @Mraedis in https://github.com/immich-app/immich/pull/26284
+* feat(docs): Explain configuration file location for Docker Compose by @keunes in https://github.com/immich-app/immich/pull/24989
+* chore(docs): add quick-start guide for DevPod with docker by @dhlavaty in https://github.com/immich-app/immich/pull/26213
+* feat(docs): Adding information about parameter c= by @aviv926 in https://github.com/immich-app/immich/pull/26430
+* feat: doc links by @jrasm91 in https://github.com/immich-app/immich/pull/26519
+### 🌐 Translations
+* chore(web): update translations by @weblate in https://github.com/immich-app/immich/pull/26118
+* fix: clarify external domain setting is used for emails too by @chrislongros in https://github.com/immich-app/immich/pull/26009
+* chore(web): update translations by @weblate in https://github.com/immich-app/immich/pull/26167
+* fix(web): error page i18n by @meesfrensel in https://github.com/immich-app/immich/pull/26517
+
+## New Contributors
+* @klenner1 made their first contribution in https://github.com/immich-app/immich/pull/26151
+* @bkchr made their first contribution in https://github.com/immich-app/immich/pull/25088
+* @chrislongros made their first contribution in https://github.com/immich-app/immich/pull/26011
+* @agent-steven made their first contribution in https://github.com/immich-app/immich/pull/26091
+* @dhlavaty made their first contribution in https://github.com/immich-app/immich/pull/26238
+* @Nacolis made their first contribution in https://github.com/immich-app/immich/pull/26063
+* @ewinnd made their first contribution in https://github.com/immich-app/immich/pull/26277
+* @dnozay made their first contribution in https://github.com/immich-app/immich/pull/26261
+* @keunes made their first contribution in https://github.com/immich-app/immich/pull/24989
+* @Devansh-Jani made their first contribution in https://github.com/immich-app/immich/pull/26042
+* @benjamonnguyen made their first contribution in https://github.com/immich-app/immich/pull/26196
+* @fabio-garavini made their first contribution in https://github.com/immich-app/immich/pull/26252
+* @haoxi911 made their first contribution in https://github.com/immich-app/immich/pull/25399
+* @thezeroalpha made their first contribution in https://github.com/immich-app/immich/pull/20286
+* @socksprox made their first contribution in https://github.com/immich-app/immich/pull/26407
+* @kprinssu made their first contribution in https://github.com/immich-app/immich/pull/26178
+
+**Full Changelog**: https://github.com/immich-app/immich/compare/v2.5.6...v2.6.0
+
+---
+
diff --git a/cli/package.json b/cli/package.json
index 849957ae36..87e46c8b90 100644
--- a/cli/package.json
+++ b/cli/package.json
@@ -1,6 +1,6 @@
{
"name": "@immich/cli",
- "version": "2.5.6",
+ "version": "2.6.0",
"description": "Command Line Interface (CLI) for Immich",
"type": "module",
"exports": "./dist/index.js",
diff --git a/docs/static/archived-versions.json b/docs/static/archived-versions.json
index 564eeafa94..83206fefee 100644
--- a/docs/static/archived-versions.json
+++ b/docs/static/archived-versions.json
@@ -1,4 +1,8 @@
[
+ {
+ "label": "v2.6.0",
+ "url": "https://docs.v2.6.0.archive.immich.app"
+ },
{
"label": "v2.5.6",
"url": "https://docs.v2.5.6.archive.immich.app"
diff --git a/e2e/package.json b/e2e/package.json
index ac1ae081b3..0dd2bae852 100644
--- a/e2e/package.json
+++ b/e2e/package.json
@@ -1,6 +1,6 @@
{
"name": "immich-e2e",
- "version": "2.5.6",
+ "version": "2.6.0",
"description": "",
"main": "index.js",
"type": "module",
@@ -27,7 +27,7 @@
"@eslint/js": "^10.0.0",
"@faker-js/faker": "^10.1.0",
"@immich/cli": "workspace:*",
- "@immich/e2e-auth-server": "workspace:*",
+ "@immich/e2e-auth-server": "workspace:*",
"@immich/sdk": "workspace:*",
"@playwright/test": "^1.44.1",
"@socket.io/component-emitter": "^3.1.2",
diff --git a/i18n/package.json b/i18n/package.json
index 47748c28e8..93d7d4554f 100644
--- a/i18n/package.json
+++ b/i18n/package.json
@@ -1,6 +1,6 @@
{
"name": "immich-i18n",
- "version": "2.5.6",
+ "version": "2.6.0",
"private": true,
"scripts": {
"format": "prettier --check .",
diff --git a/machine-learning/pyproject.toml b/machine-learning/pyproject.toml
index c7f587332a..a8050ebb31 100644
--- a/machine-learning/pyproject.toml
+++ b/machine-learning/pyproject.toml
@@ -1,6 +1,6 @@
[project]
name = "immich-ml"
-version = "2.5.6"
+version = "2.6.0"
description = ""
authors = [{ name = "Hau Tran", email = "alex.tran1502@gmail.com" }]
requires-python = ">=3.11,<4.0"
diff --git a/machine-learning/uv.lock b/machine-learning/uv.lock
index c9ae62dd4e..75fa25a586 100644
--- a/machine-learning/uv.lock
+++ b/machine-learning/uv.lock
@@ -922,7 +922,7 @@ wheels = [
[[package]]
name = "immich-ml"
-version = "2.5.6"
+version = "2.6.0"
source = { editable = "." }
dependencies = [
{ name = "aiocache" },
diff --git a/mobile/android/fastlane/Fastfile b/mobile/android/fastlane/Fastfile
index 14a6b4b660..4e56a3fc55 100644
--- a/mobile/android/fastlane/Fastfile
+++ b/mobile/android/fastlane/Fastfile
@@ -35,8 +35,8 @@ platform :android do
task: 'bundle',
build_type: 'Release',
properties: {
- "android.injected.version.code" => 3037,
- "android.injected.version.name" => "2.5.6",
+ "android.injected.version.code" => 3038,
+ "android.injected.version.name" => "2.6.0",
}
)
upload_to_play_store(skip_upload_apk: true, skip_upload_images: true, skip_upload_screenshots: true, aab: '../build/app/outputs/bundle/release/app-release.aab')
diff --git a/mobile/ios/Runner/Info.plist b/mobile/ios/Runner/Info.plist
index 1557d7f701..ab53ec0f8c 100644
--- a/mobile/ios/Runner/Info.plist
+++ b/mobile/ios/Runner/Info.plist
@@ -80,7 +80,7 @@
CFBundlePackageType
APPL
CFBundleShortVersionString
- 2.5.6
+ 2.6.0
CFBundleSignature
????
CFBundleURLTypes
diff --git a/mobile/openapi/README.md b/mobile/openapi/README.md
index bb437787cb..c864333780 100644
--- a/mobile/openapi/README.md
+++ b/mobile/openapi/README.md
@@ -3,7 +3,7 @@ Immich API
This Dart package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
-- API version: 2.5.6
+- API version: 2.6.0
- Generator version: 7.8.0
- Build package: org.openapitools.codegen.languages.DartClientCodegen
diff --git a/mobile/pubspec.yaml b/mobile/pubspec.yaml
index 0b54dfc53e..1453830f2e 100644
--- a/mobile/pubspec.yaml
+++ b/mobile/pubspec.yaml
@@ -2,7 +2,7 @@ name: immich_mobile
description: Immich - selfhosted backup media file on mobile phone
publish_to: 'none'
-version: 2.5.6+3037
+version: 2.6.0+3038
environment:
sdk: '>=3.8.0 <4.0.0'
diff --git a/open-api/immich-openapi-specs.json b/open-api/immich-openapi-specs.json
index 38e1fe8e01..1237fa91a5 100644
--- a/open-api/immich-openapi-specs.json
+++ b/open-api/immich-openapi-specs.json
@@ -15181,7 +15181,7 @@
"info": {
"title": "Immich",
"description": "Immich API",
- "version": "2.5.6",
+ "version": "2.6.0",
"contact": {}
},
"tags": [
diff --git a/open-api/typescript-sdk/package.json b/open-api/typescript-sdk/package.json
index 8f057df6cc..30b36ebdef 100644
--- a/open-api/typescript-sdk/package.json
+++ b/open-api/typescript-sdk/package.json
@@ -1,6 +1,6 @@
{
"name": "@immich/sdk",
- "version": "2.5.6",
+ "version": "2.6.0",
"description": "Auto-generated TypeScript SDK for the Immich API",
"type": "module",
"main": "./build/index.js",
diff --git a/open-api/typescript-sdk/src/fetch-client.ts b/open-api/typescript-sdk/src/fetch-client.ts
index 1ae12cd091..ad7760732c 100644
--- a/open-api/typescript-sdk/src/fetch-client.ts
+++ b/open-api/typescript-sdk/src/fetch-client.ts
@@ -1,6 +1,6 @@
/**
* Immich
- * 2.5.6
+ * 2.6.0
* DO NOT MODIFY - This file has been generated using oazapfts.
* See https://www.npmjs.com/package/oazapfts
*/
diff --git a/package.json b/package.json
index b49e12c3e9..28ee571d0b 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "immich-monorepo",
- "version": "2.5.6",
+ "version": "2.6.0",
"description": "Monorepo for Immich",
"private": true,
"packageManager": "pnpm@10.30.0+sha512.2b5753de015d480eeb88f5b5b61e0051f05b4301808a82ec8b840c9d2adf7748eb352c83f5c1593ca703ff1017295bc3fdd3119abb9686efc96b9fcb18200937",
diff --git a/server/package.json b/server/package.json
index 5578f242ae..923d84da03 100644
--- a/server/package.json
+++ b/server/package.json
@@ -1,6 +1,6 @@
{
"name": "immich",
- "version": "2.5.6",
+ "version": "2.6.0",
"description": "",
"author": "",
"private": true,
diff --git a/web/package.json b/web/package.json
index 03ccb35d7e..81536f7f43 100644
--- a/web/package.json
+++ b/web/package.json
@@ -1,6 +1,6 @@
{
"name": "immich-web",
- "version": "2.5.6",
+ "version": "2.6.0",
"license": "GNU Affero General Public License version 3",
"type": "module",
"scripts": {