From 3c52ad867bd3b129a2d2dcfda00fef06cae18a19 Mon Sep 17 00:00:00 2001
From: mertalev <101130780+mertalev@users.noreply.github.com>
Date: Thu, 19 Feb 2026 23:00:23 +0000
Subject: [PATCH] chore: release v2.6.0
---
CHANGELOG.md | 99 +++++++++++++++++++++
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 | 16 +---
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, 120 insertions(+), 31 deletions(-)
create mode 100644 CHANGELOG.md
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 0000000000..ef27ee9a11
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,99 @@
+
+# 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
+### 🌟 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
+### 🐛 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
+### 📚 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
+### 🌐 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
+
+## 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
+
+**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 8e2aec0282..98dc8add31 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 cebd9fafc2..0da6730a5a 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": "^9.8.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 c43d0df2cc..6c5439577d 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 25f59a8fe5..52882f9d31 100644
--- a/machine-learning/uv.lock
+++ b/machine-learning/uv.lock
@@ -654,18 +654,6 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/70/25/fab23259a52ece5670dcb8452e1af34b89e6135ecc17cd4b54b4b479eac6/fsspec-2023.12.2-py3-none-any.whl", hash = "sha256:d800d87f72189a745fa3d6b033b9dc4a34ad069f60ca60b943a63599f5501960", size = 168979, upload-time = "2023-12-11T21:19:52.446Z" },
]
-[[package]]
-name = "ftfy"
-version = "6.3.1"
-source = { registry = "https://pypi.org/simple" }
-dependencies = [
- { name = "wcwidth" },
-]
-sdist = { url = "https://files.pythonhosted.org/packages/a5/d3/8650919bc3c7c6e90ee3fa7fd618bf373cbbe55dff043bd67353dbb20cd8/ftfy-6.3.1.tar.gz", hash = "sha256:9b3c3d90f84fb267fe64d375a07b7f8912d817cf86009ae134aa03e1819506ec", size = 308927, upload-time = "2024-10-26T00:50:35.149Z" }
-wheels = [
- { url = "https://files.pythonhosted.org/packages/ab/6e/81d47999aebc1b155f81eca4477a616a70f238a2549848c38983f3c22a82/ftfy-6.3.1-py3-none-any.whl", hash = "sha256:7c70eb532015cd2f9adb53f101fb6c7945988d023a085d127d1573dc49dd0083", size = 44821, upload-time = "2024-10-26T00:50:33.425Z" },
-]
-
[[package]]
name = "gevent"
version = "24.10.3"
@@ -934,12 +922,11 @@ wheels = [
[[package]]
name = "immich-ml"
-version = "2.5.6"
+version = "2.6.0"
source = { editable = "." }
dependencies = [
{ name = "aiocache" },
{ name = "fastapi" },
- { name = "ftfy" },
{ name = "gunicorn" },
{ name = "huggingface-hub" },
{ name = "insightface" },
@@ -1018,7 +1005,6 @@ types = [
requires-dist = [
{ name = "aiocache", specifier = ">=0.12.1,<1.0" },
{ name = "fastapi", specifier = ">=0.95.2,<1.0" },
- { name = "ftfy", specifier = ">=6.1.1" },
{ name = "gunicorn", specifier = ">=21.1.0" },
{ name = "huggingface-hub", specifier = ">=0.20.1,<1.0" },
{ name = "insightface", specifier = ">=0.7.3,<1.0" },
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 afeeb694e1..9778ad3b39 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 0e57fc4819..a5c458a357 100644
--- a/open-api/immich-openapi-specs.json
+++ b/open-api/immich-openapi-specs.json
@@ -15144,7 +15144,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 acd8109cd3..d203787461 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 c50c4e1eb8..809aabbbbc 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.29.3+sha512.498e1fb4cca5aa06c1dcf2611e6fafc50972ffe7189998c409e90de74566444298ffe43e6cd2acdc775ba1aa7cc5e092a8b7054c811ba8c5770f84693d33d2dc",
diff --git a/server/package.json b/server/package.json
index 814934b1be..831dc40f64 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 b45e89fc97..b28eb15369 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": {