diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000000..83a7239f94 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,230 @@ + +# v2.4.0 + +# v2.4.0 + +## Highlights + +Welcome to the release `v2.4.0`Β of Immich. This release focuses on bug fixes, QoL improvements, and polished UI components across mobile and the web. Let's dive right in. + +* Show the owner's name in the shared album +* Command palette +* Change search type directly in the search bar +* Job details +* Simplify the top control bar in the mobile app +* Notable fix: fix an issue where metadata extraction could fail on high concurrency + + +### Show the owner's name in the shared album. + +On the web, in shared albums, you can now toggle an option to display the asset's owner name at the bottom right corner of the thumbnail. + + ![](/api/attachments.redirect?id=3e4d661e-4015-4b04-b8f3-a055e9d4db01 " =1071x758") + +### Command palette + +The web app now has an integrated command palette, which can be opened `ctrl + k`Β on Windows/Linux or `cmd + k`Β on macOS. This first iteration of command pallets lets you quickly navigate between administration pages by typing the name of the page you want to go to. + + ![](/api/attachments.redirect?id=e431bca6-78fb-4873-879c-2a61af4a6df0 " =1354x1032") + +### Change search type directly in the search bar + + + +## What's Changed + +### πŸ«₯ Deprecated Changes + +* feat: queues by @jrasm91 in + +### πŸš€ Features + +* feat: improve performance: don't sort timeline buckets from server by @midzelis in +* feat: command palette by @danieldietzler in +* feat(web): Shared album owner labels by @xCJPECKOVERx in +* feat(mobile): persist album sorting & layout in settings by @YarosMallorca in +* feat: queue detail page by @jrasm91 in +* chore(mobile): add kebabu menu in asset viewer by @idubnori in + +### 🌟 Enhancements + +* feat(web): allow navigating the map with arrow keys by @lukashass in +* feat: separate camera and lens info in detail panel by @fabianbees in +* feat(web): shared link card tweaks by @jrasm91 in +* feat(server): exclude syncthing folders from external libraries by @SaphuA in +* feat(web): search type selection dropdown by @YarosMallorca in +* feat: header context menu by @jrasm91 in +* feat(mobile): move top bar buttons into kebabu menu in AssetViewer by @idubnori in + +### πŸ› Bug fixes + +* fix: effect loop by @jrasm91 in +* fix: do not clear hash on updated_at change by @shenlong-tanwen in +* fix: disable animation "add to" action menu by @bwees in +* fix: Use correct app store link by @Mraedis in +* fix: show archived assets in favorite page by @bwees in +* fix(mobile): first video memory on page doesn't play by @YarosMallorca in +* feat(web): show detected faces in spherical photos by @meesfrensel in +* fix: add users to album by @danieldietzler in +* fix(server): sanitize DB_URL for pg_dumpall to remove unknown query params by @lutostag in +* fix: use proper updatedAt value in local assets by @shenlong-tanwen in +* fix: albums page reactivity loops by @danieldietzler in +* fix: getAspectRatio fallback to db width and height by @shenlong-tanwen in +* fix(web): fix support & feedback modal wrapping by @Snowknight26 in +* fix: don't get OCR data in shared link by @alextran1502 in +* fix: duration extraction by @jrasm91 in +* fix(ml): Upgrade ONNX Runtime to v1.22.1 to fix ROCm build failures by @LukaPrebil in +* fix: update timeline-manager after archive actions by @midzelis in +* fix: theme switcher by @jrasm91 in +* fix: label 'for' attributes in user-api-key-grid by @kimsey0 in +* fix(mobile): enable backup text overflows by @YarosMallorca in +* fix(web): integrate zoom toggle button into panorama photo viewer by @meesfrensel in +* fix(web): use full tag path when creating nested subtags by @NiklasvonM in +* fix: only generate memory based on users assets by @alextran1502 in +* fix(mobile): docs link by @mmomjian in +* fix(server): use bigrams for cjk by @mertalev in +* fix(ml): do not upscale preview by @mertalev in +* fix(web): open onboarding documentation link in new tab by @carbonemys in +* fix(mobile): use correct timezone displayed in the info sheet by @kao-byte in +* fix(web): folder view sort oder by @etnoy in +* fix(server): do not delete offline assets by @mertalev in +* fix: exposure info and better readability by @alextran1502 in +* fix: Adjust the zoom level by @jforseth210 in +* fix: local full sync on Android on resume by @alextran1502 in +* fix(web): Add minimum content size to logo for consistent visual on small screens by @kiloomar in +* fix: use adjustment time in iOS for hash reset by @shenlong-tanwen in +* fix(server): update exiftool-vendored to v34 for more robust metadata extraction by @skatsubo in +* fix(mobile): cannot create album while name field is focused by @YarosMallorca in +* fix(web): \[album table view\] long album title overflows table row by @simonkub in +* fix(mobile): fix overflow text in backup card by @YarosMallorca in +* fix(mobile): timeline bottom padding on selection by @YarosMallorca in +* feat(mobile): Localized backup upload details page by @ArnyminerZ in + +### πŸ“š Documentation + +* docs: DB_STORAGE_TYPE is only used by the database container by @dionysius in +* fix(docs): build `cli` for e2e tests by @roschaefer in +* docs(faq): add more info on archiving by @etnoy in +* fix(docs): server and machine-learning use IMMICH_HOST and IMMICH_PORT by @dionysius in +* fix: prevent OOM on nginx reverse proxy servers by @NicholasFlamy in +* fix(docs): obsolete docs about rootless docker by @roschaefer in +* fix(docs): websockets in nginx example by @fourthwall in + +### 🌐 Translations + +* chore: add new language requests by @danieldietzler in + +## New Contributors + +* @ujjwal123123 made their first contribution in +* @lutostag made their first contribution in +* @LukaPrebil made their first contribution in +* @kimsey0 made their first contribution in +* @SaphuA made their first contribution in +* @dionysius made their first contribution in +* @NiklasvonM made their first contribution in +* @kao-byte made their first contribution in +* @carbonemys made their first contribution in +* @kiloomar made their first contribution in +* @fourthwall made their first contribution in +* @simonkub made their first contribution in +* @ArnyminerZ made their first contribution in + +**Full Changelog**: + + + +## What's Changed +### πŸ«₯ Deprecated Changes +* feat: queues by @jrasm91 in https://github.com/immich-app/immich/pull/24142 +### πŸš€ Features +* feat: improve performance: don't sort timeline buckets from server by @midzelis in https://github.com/immich-app/immich/pull/24032 +* feat: command palette by @danieldietzler in https://github.com/immich-app/immich/pull/23693 +* feat(web): Shared album owner labels by @xCJPECKOVERx in https://github.com/immich-app/immich/pull/21171 +* feat(mobile): persist album sorting & layout in settings by @YarosMallorca in https://github.com/immich-app/immich/pull/22133 +* feat: queue detail page by @jrasm91 in https://github.com/immich-app/immich/pull/24352 +* chore(mobile): add kebabu menu in asset viewer by @idubnori in https://github.com/immich-app/immich/pull/24387 +### 🌟 Enhancements +* feat(web): allow navigating the map with arrow keys by @lukashass in https://github.com/immich-app/immich/pull/24080 +* feat: separate camera and lens info in detail panel by @fabianbees in https://github.com/immich-app/immich/pull/23670 +* feat(web): shared link card tweaks by @jrasm91 in https://github.com/immich-app/immich/pull/24192 +* feat(server): exclude syncthing folders from external libraries by @SaphuA in https://github.com/immich-app/immich/pull/24240 +* feat(web): search type selection dropdown by @YarosMallorca in https://github.com/immich-app/immich/pull/24091 +* feat: header context menu by @jrasm91 in https://github.com/immich-app/immich/pull/24374 +* feat(mobile): move top bar buttons into kebabu menu in AssetViewer by @idubnori in https://github.com/immich-app/immich/pull/24461 +### πŸ› Bug fixes +* fix: effect loop by @jrasm91 in https://github.com/immich-app/immich/pull/24014 +* fix: do not clear hash on updated_at change by @shenlong-tanwen in https://github.com/immich-app/immich/pull/24039 +* fix: disable animation "add to" action menu by @bwees in https://github.com/immich-app/immich/pull/24040 +* fix: Use correct app store link by @Mraedis in https://github.com/immich-app/immich/pull/24062 +* fix: show archived assets in favorite page by @bwees in https://github.com/immich-app/immich/pull/24052 +* fix(mobile): first video memory on page doesn't play by @YarosMallorca in https://github.com/immich-app/immich/pull/23906 +* feat(web): show detected faces in spherical photos by @meesfrensel in https://github.com/immich-app/immich/pull/23974 +* fix: add users to album by @danieldietzler in https://github.com/immich-app/immich/pull/24133 +* fix(server): sanitize DB_URL for pg_dumpall to remove unknown query params by @lutostag in https://github.com/immich-app/immich/pull/23333 +* fix: use proper updatedAt value in local assets by @shenlong-tanwen in https://github.com/immich-app/immich/pull/24137 +* fix: albums page reactivity loops by @danieldietzler in https://github.com/immich-app/immich/pull/24046 +* fix: getAspectRatio fallback to db width and height by @shenlong-tanwen in https://github.com/immich-app/immich/pull/24131 +* fix(web): fix support & feedback modal wrapping by @Snowknight26 in https://github.com/immich-app/immich/pull/24018 +* fix: don't get OCR data in shared link by @alextran1502 in https://github.com/immich-app/immich/pull/24152 +* fix: duration extraction by @jrasm91 in https://github.com/immich-app/immich/pull/24178 +* fix(ml): Upgrade ONNX Runtime to v1.22.1 to fix ROCm build failures by @LukaPrebil in https://github.com/immich-app/immich/pull/24045 +* fix: update timeline-manager after archive actions by @midzelis in https://github.com/immich-app/immich/pull/24010 +* fix: theme switcher by @jrasm91 in https://github.com/immich-app/immich/pull/24209 +* fix: label 'for' attributes in user-api-key-grid by @kimsey0 in https://github.com/immich-app/immich/pull/24232 +* fix(mobile): enable backup text overflows by @YarosMallorca in https://github.com/immich-app/immich/pull/24227 +* fix(web): integrate zoom toggle button into panorama photo viewer by @meesfrensel in https://github.com/immich-app/immich/pull/24189 +* fix(web): use full tag path when creating nested subtags by @NiklasvonM in https://github.com/immich-app/immich/pull/24249 +* fix: only generate memory based on users assets by @alextran1502 in https://github.com/immich-app/immich/pull/24151 +* fix(mobile): docs link by @mmomjian in https://github.com/immich-app/immich/pull/24277 +* fix(server): use bigrams for cjk by @mertalev in https://github.com/immich-app/immich/pull/24285 +* fix(ml): do not upscale preview by @mertalev in https://github.com/immich-app/immich/pull/24322 +* fix(web): open onboarding documentation link in new tab by @carbonemys in https://github.com/immich-app/immich/pull/24289 +* fix(mobile): use correct timezone displayed in the info sheet by @kao-byte in https://github.com/immich-app/immich/pull/24310 +* fix(web): folder view sort oder by @etnoy in https://github.com/immich-app/immich/pull/24337 +* fix(server): do not delete offline assets by @mertalev in https://github.com/immich-app/immich/pull/24355 +* fix: exposure info and better readability by @alextran1502 in https://github.com/immich-app/immich/pull/24344 +* fix: Adjust the zoom level by @jforseth210 in https://github.com/immich-app/immich/pull/24353 +* fix: local full sync on Android on resume by @alextran1502 in https://github.com/immich-app/immich/pull/24348 +* fix(web): Add minimum content size to logo for consistent visual on small screens by @kiloomar in https://github.com/immich-app/immich/pull/24372 +* fix: use adjustment time in iOS for hash reset by @shenlong-tanwen in https://github.com/immich-app/immich/pull/24047 +* fix(server): update exiftool-vendored to v34 for more robust metadata extraction by @skatsubo in https://github.com/immich-app/immich/pull/24424 +* fix(mobile): cannot create album while name field is focused by @YarosMallorca in https://github.com/immich-app/immich/pull/24449 +* fix(web): [album table view] long album title overflows table row by @simonkub in https://github.com/immich-app/immich/pull/24450 +* fix(mobile): fix overflow text in backup card by @YarosMallorca in https://github.com/immich-app/immich/pull/24448 +* fix(mobile): timeline bottom padding on selection by @YarosMallorca in https://github.com/immich-app/immich/pull/24480 +* feat(mobile): Localized backup upload details page by @ArnyminerZ in https://github.com/immich-app/immich/pull/21136 +* fix(mobile): iOS local permission dialog extra whitespace by @kurtmckee in https://github.com/immich-app/immich/pull/24491 +* fix(mobile): versionStatus.message text overflow by @idubnori in https://github.com/immich-app/immich/pull/24504 +### πŸ“š Documentation +* docs: DB_STORAGE_TYPE is only used by the database container by @dionysius in https://github.com/immich-app/immich/pull/24215 +* fix(docs): build `cli` for e2e tests by @roschaefer in https://github.com/immich-app/immich/pull/24184 +* docs(faq): add more info on archiving by @etnoy in https://github.com/immich-app/immich/pull/24326 +* fix(docs): server and machine-learning use IMMICH_HOST and IMMICH_PORT by @dionysius in https://github.com/immich-app/immich/pull/24335 +* fix: prevent OOM on nginx reverse proxy servers by @NicholasFlamy in https://github.com/immich-app/immich/pull/24351 +* fix(docs): obsolete docs about rootless docker by @roschaefer in https://github.com/immich-app/immich/pull/24376 +* fix(docs): websockets in nginx example by @fourthwall in https://github.com/immich-app/immich/pull/24411 +* fix(docs): slow upload speed with example nginx reverse proxy config by @goalie2002 in https://github.com/immich-app/immich/pull/24490 +### 🌐 Translations +* chore: add new language requests by @danieldietzler in https://github.com/immich-app/immich/pull/23991 + +## New Contributors +* @ujjwal123123 made their first contribution in https://github.com/immich-app/immich/pull/24101 +* @lutostag made their first contribution in https://github.com/immich-app/immich/pull/23333 +* @LukaPrebil made their first contribution in https://github.com/immich-app/immich/pull/24045 +* @kimsey0 made their first contribution in https://github.com/immich-app/immich/pull/24232 +* @SaphuA made their first contribution in https://github.com/immich-app/immich/pull/24240 +* @dionysius made their first contribution in https://github.com/immich-app/immich/pull/24215 +* @NiklasvonM made their first contribution in https://github.com/immich-app/immich/pull/24249 +* @kao-byte made their first contribution in https://github.com/immich-app/immich/pull/24098 +* @carbonemys made their first contribution in https://github.com/immich-app/immich/pull/24289 +* @kiloomar made their first contribution in https://github.com/immich-app/immich/pull/24372 +* @fourthwall made their first contribution in https://github.com/immich-app/immich/pull/24411 +* @simonkub made their first contribution in https://github.com/immich-app/immich/pull/24450 +* @ArnyminerZ made their first contribution in https://github.com/immich-app/immich/pull/21136 +* @kurtmckee made their first contribution in https://github.com/immich-app/immich/pull/24491 + +**Full Changelog**: https://github.com/immich-app/immich/compare/v2.3.1...v2.4.0 + +--- + diff --git a/cli/package.json b/cli/package.json index e74425eb41..af26241e98 100644 --- a/cli/package.json +++ b/cli/package.json @@ -1,6 +1,6 @@ { "name": "@immich/cli", - "version": "2.2.103", + "version": "2.2.104", "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 87dc3f3465..34d8e6e59f 100644 --- a/docs/static/archived-versions.json +++ b/docs/static/archived-versions.json @@ -1,4 +1,8 @@ [ + { + "label": "v2.4.0", + "url": "https://docs.v2.4.0.archive.immich.app" + }, { "label": "v2.3.1", "url": "https://docs.v2.3.1.archive.immich.app" diff --git a/e2e/package.json b/e2e/package.json index 70669a8546..9d40cafa56 100644 --- a/e2e/package.json +++ b/e2e/package.json @@ -1,6 +1,6 @@ { "name": "immich-e2e", - "version": "2.3.1", + "version": "2.4.0", "description": "", "main": "index.js", "type": "module", diff --git a/machine-learning/pyproject.toml b/machine-learning/pyproject.toml index 436dbb7db1..25b936bc36 100644 --- a/machine-learning/pyproject.toml +++ b/machine-learning/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "immich-ml" -version = "2.3.1" +version = "2.4.0" description = "" authors = [{ name = "Hau Tran", email = "alex.tran1502@gmail.com" }] requires-python = ">=3.10,<4.0" diff --git a/mobile/android/fastlane/Fastfile b/mobile/android/fastlane/Fastfile index b2e6c568c2..33fe8f978b 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" => 3028, - "android.injected.version.name" => "2.3.1", + "android.injected.version.code" => 3029, + "android.injected.version.name" => "2.4.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/openapi/README.md b/mobile/openapi/README.md index 268c4849c5..1b7b0e8c82 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.3.1 +- API version: 2.4.0 - Generator version: 7.8.0 - Build package: org.openapitools.codegen.languages.DartClientCodegen diff --git a/mobile/pubspec.yaml b/mobile/pubspec.yaml index 1633a54cb6..2552e43d78 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.3.1+3028 +version: 2.4.0+3029 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 e21cf27beb..c052e41a49 100644 --- a/open-api/immich-openapi-specs.json +++ b/open-api/immich-openapi-specs.json @@ -14268,7 +14268,7 @@ "info": { "title": "Immich", "description": "Immich API", - "version": "2.3.1", + "version": "2.4.0", "contact": {} }, "tags": [ diff --git a/open-api/typescript-sdk/package.json b/open-api/typescript-sdk/package.json index 56520b0efe..6b4c834b9e 100644 --- a/open-api/typescript-sdk/package.json +++ b/open-api/typescript-sdk/package.json @@ -1,6 +1,6 @@ { "name": "@immich/sdk", - "version": "2.3.1", + "version": "2.4.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 7afee42e2c..537427ff03 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.3.1 + * 2.4.0 * DO NOT MODIFY - This file has been generated using oazapfts. * See https://www.npmjs.com/package/oazapfts */ diff --git a/server/package.json b/server/package.json index d4efb4b1bb..32169d21c7 100644 --- a/server/package.json +++ b/server/package.json @@ -1,6 +1,6 @@ { "name": "immich", - "version": "2.3.1", + "version": "2.4.0", "description": "", "author": "", "private": true, diff --git a/web/package.json b/web/package.json index 96aba1660e..16e843be09 100644 --- a/web/package.json +++ b/web/package.json @@ -1,6 +1,6 @@ { "name": "immich-web", - "version": "2.3.1", + "version": "2.4.0", "license": "GNU Affero General Public License version 3", "type": "module", "scripts": {