Commit Graph

42 Commits

Author SHA1 Message Date
96355c8b5f chore(deps): update dependency immich-app/immich to v2.5.0 (#3541)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 1m8s
renovate / renovate (push) Successful in 3m10s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [immich-app/immich](https://github.com/immich-app/immich) | minor | `v2.4.1` → `v2.5.0` |

---

### Release Notes

<details>
<summary>immich-app/immich (immich-app/immich)</summary>

### [`v2.5.0`](https://github.com/immich-app/immich/releases/tag/v2.5.0): - 90000 Stars Release

[Compare Source](https://github.com/immich-app/immich/compare/v2.4.1...v2.5.0)

### v2.5.0

> \[!NOTE]
> 20:23 GMT: We are halting the release of the mobile app as there are some reported issues with migration
>
> Sorry for the inconvenience

#### Highlights

Happy New Year! Welcome to Immich `v2.5.0`. This release is our fireworks to celebrate both the new year and reaching *90,000* stars on GitHub. It is packed with major features that have been in the works for quite some time, and the team has kicked off the year with incredible momentum that we're excited to carry forward. We couldn't wait to share this with you. Let's dive right in:

- Free Up Space
- Non-destructive editing
- Database backup and restore (web)
- Upload improvements
- Visual refresh across all platforms
- Disable admin setup
- Star rating (mobile)
- Additional fine-grained permissions (api keys)
- Progressive JPEGs
- Slideshow loop option (web)
- Native HTTP clients for HTTP/2 and HTTP/3 image loading

##### Free Up Space

*This feature was requested ages ago. So long in fact, that it has a 3-digit ID ([#&#8203;165](https://github.com/immich-app/immich/issues/165))! Given the rapid iteration and development pace of the pre-stable era, it was risky to include it in the app due to its bulk-delete nature. But it is now 2026* 😄*, so here we are.*

**Free Up Space** allows you to remove local media files from your device that have already been successfully backed up to your Immich server (and are not in Immich trash). This helps reclaim storage on your mobile device without losing your memories. The feature can be accessed from the user profile panel or from the Settings page in the mobile app.

<img width="300" alt="image" src="https://github.com/user-attachments/assets/2985ea6c-4392-414e-aef3-83c70ffe5570" />

<img  alt="image" src="https://github.com/user-attachments/assets/cf7b7d2c-5d37-4c13-a6ad-cacb53a71acb" />

There are configuration options and steps to make sure that everything is verified before deleting from the app.

1. **Configuration:**
   - **Cutoff date:** Free Up Space will only look for photos and videos **on or before** this date.
   - **Keep albums:** Hold all photos and videos in the selected albums on your device, regardless of other settings. By default, `**WhatsApp**` related albums are selected to be kept on the device. Assets that are not already on the device will not be redownloaded.
   - **Keep favorites:** This works the same way `**Keep albums**` . By default, favorited assets are preserved on your device.
   - **Keep on device:** You can choose to restrict removal to `**Always keep**` **All photos** or **All videos**, regardless of other settings. This setting can hamper freeing up space significantly — with 80 GB of videos and 40 GB of photos, selecting `**Always keep photos**` retains thousands of photos on your device.

> \[!TIP]
> These configurations are persistent to make it convenient for those who perform this task often.

2. **Scan & Review:** Before any files are removed, you are presented with a review screen to confirm which items will be deleted and how much storage will be reclaimed.
3. **Deletion:** Confirmed items are moved to your device's native Trash/Recycle Bin.

> \[!NOTE]
> **Reclaim storage**
> To use the reclaimed space right away, you must manually empty the system/gallery trash outside Immich.

For more information about this feature, please read it [here](https://docs.immich.app/features/mobile-app#free-up-space)

##### Non-destructive editing

Immich now supports non-destructive photo editing. This means that any edits you make to an asset do not modify the original file; instead, the modifications are stored in the database, and new thumbnails are generated based on those changes. This means you can always revert to the original asset if needed.

When you download an edited asset, Immich provides the edited version by default. However, you can choose to download the original version if needed. Immich always generates an edited full-size version based on your full-size quality settings. This occurs regardless of whether the "Enable full-size image generation" setting is enabled or disabled.

> \[!NOTE]
> **Limitations:**
>
> - Mobile clients must be updated to v2.5.0 in order view the edited version of an asset. Clients will continue to > see the original asset if on a mobile app version <2.5.0
> - As of this version, the edited download won't include the EXIF metadata of the original asset. This feature will come in future releases.
> - Mobile editing still uses the old edit system (saving a new version of the photo). The mobile editor will be upgraded to use the new non-destructive editing system in a future release.

You can click on the following icon to enter edit mode

<img width="400" alt="image" src="https://github.com/user-attachments/assets/7f2092cf-c149-492c-af08-a04c8de16915" />

Currently, Immich supports the following types of edits:

- Cropping
- Rotation
- Mirroring

<img  width="800" alt="image" src="https://github.com/user-attachments/assets/b1c0b1e7-5074-4b19-ac23-449931a233f3" />

Opening the editor on an edited asset will load the existing edits back in so you can make adjustments and changes.

<img width="800" alt="image" src="https://github.com/user-attachments/assets/0346e1ac-eb8c-490a-8d47-a3b79626b5b6" />

##### Backup and restore from the web UI

Backup and restore are an important part of any self-hosted application; this feature helps you maintain reliable access to your instance during unexpected events, such as database corruption caused by system failure or power loss.

Historically, restoring an Immich instance to a specific point required the user to have access to the command line, which proved challenging for many users, especially those new to self-hosting and software maintenance.

Now, we have the entire backup and restore pipeline built into Immich, which allows you to quickly restore a database backup directly from the web UI. You can perform the steps either from the `Administration > Maintenance` page, or from a brand new instance on the welcome page.

**Restore from Administration's Maintenance page**

<img width="800" alt="image" src="https://github.com/user-attachments/assets/7a608442-bd1c-4e0c-b255-1df45699fa9f" />

**Restore from Onboarding page**

<img width="800" alt="image" src="https://github.com/user-attachments/assets/6012a0e6-ba32-45d0-aec4-c24d19bd4a25" />

For more detailed steps, please read them in [our documentation](https://docs.immich.app/administration/backup-and-restore)

##### Upload improvement

This release also improves foreground upload in the mobile app. The previous implementation improves background uploads but leaves foreground uploads less reliable by leveraging the queue system to offload upload handling to the OS, which can be throttled under specific criteria.

We are taking back more control over handling uploads with the *try-and-true* method used in the old timeline, but this time it is supercharged with concurrent uploads and also correctly handles assets with missing file extensions from software such as DJI or Fusion Camera.

<img width="300" alt="image" src="https://github.com/user-attachments/assets/87d317ed-933b-48c7-88e3-d267e928b9d1" />

Upload now will also send unique metadata for each asset to the server, so it can be used to quickly retrieve the checksum when reinstalling the app, saving time and CPU resources. This is especially useful for iCloud users, as the hashing process can take a long time.

For iOS and iCloud users, it is recommended to go to App Settings > Sync Status and tap the "Sync Cloud IDs" button to backfill the metadata for the uploaded content. You only need to do this once.

<img width="300" alt="image" src="https://github.com/user-attachments/assets/0470e707-f913-418c-94a5-3fb83ae95fae" />

##### Visual refresh across all platforms

This release also brings you a refreshed look and feel across the web, mobile app, and the documentation sites, with a new font face ("The-name-must-not-be-named" Sans) that improves reading legibility, especially for numbers and smaller text.

<img width="300" alt="image" src="https://github.com/user-attachments/assets/83fc22ab-c3c8-4dfe-99c2-4620c6f03938" />

The UI library (<https://ui.immich.app/>) components have also been added to the web app in more places. You should see a more standardized, coherent, and better hierarchy for UI components across the app.

<img width="300" alt="image" src="https://github.com/user-attachments/assets/80157cb0-e77f-4219-9648-373a21ebfd6e" />

All icon buttons now come with a tooltip, so you don't have to guess what function the button serves

<img width="300" alt="image" src="https://github.com/user-attachments/assets/df2119dc-d3a9-43ae-a002-593710d3d226" />

##### Star rating (mobile)

Mobile now has the star-rating feature, similar to the web application. If you don't see a star rating on either platform, make sure the feature is enabled [here](https://my.immich.app/user-settings?isOpen=feature+rating).

<img width="400" alt="image" src="https://github.com/user-attachments/assets/e6a3e6a4-a18a-41a4-9eb0-845be68904a9" />

##### Disable admin setup

New installs show a welcome page and allow anyone to sign up / register as an admin. To have more control over whether this is allowed or not, we have added the following environment variable:

```typescript
IMMICH_ALLOW_SETUP=true|false
```

This is especially useful if you have already initialized Immich and never want this situation to be possible in the future, which can happen if for whatever reason the database is reset.

##### Additional fine-grained permissions (api keys)

Some existing endpoints have been assigned fine-grained permissions, allowing the creation of API keys with limited access. The new permissions include:\n

- `map.read` - Retrieve a list of latitude and longitude coordinates for every asset with location data
- `map.search` - Retrieve location information for latitude & longitude coordinates
- `folder.read` - Retrieve information about folders and which assets they contain

##### Progressive JPEGs

All image-generation settings now include a new option to enable progressive JPEGs. When enabled, supported browsers will progressively render the image.

<img width="800" alt="image" src="https://github.com/user-attachments/assets/ac62bb63-41da-419b-808f-b81ef90f7183" />

##### Slideshow loop option (web)

The slideshow settings on the web now include an option to automatically start the slideshow over.

<img width="500" alt="image" src="https://github.com/user-attachments/assets/b9122b7b-ae6f-4536-bf4c-fc295f6bd486" />

##### Native HTTP clients

All remote images are now requested using optimized HTTP clients, meaning images load more quickly and can keep up with your scrolling. Caching is also improved: not only does this make images even snappier to load after being downloaded, it also improves the offline experience with better responsiveness and a larger cache size.

***

As always, there are many more QoL improvements, bug fixes, and enhancements in this release. Please find the full release note below

#### Support Immich

<p align="center">

<img src="https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExbjY2eWc5Y2F0ZW56MmR4aWE0dDhzZXlidXRmYWZyajl1bWZidXZpcyZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/87CKDqErVfMqY/giphy.gif" width="450" title="SUPPORT THE PROJECT!">

</p>

If you find the project helpful, you can support Immich by purchasing a product key at <https://buy.immich.app> or our merchandise at <https://immich.store>

<!-- Release notes generated using configuration in .github/release.yml at main -->

#### What's Changed

##### 🚀 Features

- feat: workflow ui by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;24190](https://github.com/immich-app/immich/pull/24190)
- feat: disable admin setup by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;24628](https://github.com/immich-app/immich/pull/24628)
- feat: free up space by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;24999](https://github.com/immich-app/immich/pull/24999)
- feat: use fastlane sigh to manage signing profiles by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;25089](https://github.com/immich-app/immich/pull/25089)
- feat: image editing by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;24155](https://github.com/immich-app/immich/pull/24155)
- feat: add cloud id during native sync by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;20418](https://github.com/immich-app/immich/pull/20418)
- feat: restore database backups by [@&#8203;insertish](https://github.com/insertish) in [#&#8203;23978](https://github.com/immich-app/immich/pull/23978)
- feat(mobile): star rating by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24457](https://github.com/immich-app/immich/pull/24457)
- feat(mobile): scrollbar for album page by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;25507](https://github.com/immich-app/immich/pull/25507)

##### 🌟 Enhancements

- feat: focus jumped-to item in timeline by [@&#8203;bo0tzz](https://github.com/bo0tzz) in [#&#8203;24738](https://github.com/immich-app/immich/pull/24738)
- chore: web editor improvements by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;25169](https://github.com/immich-app/immich/pull/25169)
- feat: modal routes by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;24726](https://github.com/immich-app/immich/pull/24726)
- feat: prefer admin settings page over users page by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;24780](https://github.com/immich-app/immich/pull/24780)
- feat: shared link edit by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;24783](https://github.com/immich-app/immich/pull/24783)
- feat(mobile): use tabular figures in backup info card by [@&#8203;wrbl606](https://github.com/wrbl606) in [#&#8203;24820](https://github.com/immich-app/immich/pull/24820)
- feat(mobile): album options to kebab menu by [@&#8203;idubnori](https://github.com/idubnori) in [#&#8203;24204](https://github.com/immich-app/immich/pull/24204)
- feat: Hide/show controls when zoom state changes by [@&#8203;Lauritz-Tieste](https://github.com/Lauritz-Tieste) in [#&#8203;24784](https://github.com/immich-app/immich/pull/24784)
- feat(server): Support camera `make`, `model`, and `lensModel` in Storage Template by [@&#8203;rahul-kumar-saini](https://github.com/rahul-kumar-saini) in [#&#8203;24650](https://github.com/immich-app/immich/pull/24650)
- feat(ml): update ONNX Runtime, OpenVINO and ROCm stack by [@&#8203;savely-krasovsky](https://github.com/savely-krasovsky) in [#&#8203;23458](https://github.com/immich-app/immich/pull/23458)
- chore(server): Vchord 1.0 support by [@&#8203;mmomjian](https://github.com/mmomjian) in [#&#8203;23845](https://github.com/immich-app/immich/pull/23845)
- feat(web): Add coordinate pair location searching. by [@&#8203;GustavJones](https://github.com/GustavJones) in [#&#8203;24799](https://github.com/immich-app/immich/pull/24799)
- feat: show asset owners for editors in shared albums by [@&#8203;ama156](https://github.com/ama156) in [#&#8203;24890](https://github.com/immich-app/immich/pull/24890)
- feat(web): undo delete single asset by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24439](https://github.com/immich-app/immich/pull/24439)
- feat(server): implement switchable logging formats (console/json) by [@&#8203;DanielRamosAcosta](https://github.com/DanielRamosAcosta) in [#&#8203;24791](https://github.com/immich-app/immich/pull/24791)
- chore(web): bump immich/ui for tooltips by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;24632](https://github.com/immich-app/immich/pull/24632)
- feat(web): star rating keyboard shortcut by [@&#8203;cbochs](https://github.com/cbochs) in [#&#8203;24620](https://github.com/immich-app/immich/pull/24620)
- feat: bulk asset metadata endpoints by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;25133](https://github.com/immich-app/immich/pull/25133)
- feat(mobile): 2026 font by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;25213](https://github.com/immich-app/immich/pull/25213)
- feat(web): search albums by description by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;25244](https://github.com/immich-app/immich/pull/25244)
- feat(web): 2026 font by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;25174](https://github.com/immich-app/immich/pull/25174)
- chore: dart http foreground upload by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;24883](https://github.com/immich-app/immich/pull/24883)
- feat: update intel compute driver by [@&#8203;savely-krasovsky](https://github.com/savely-krasovsky) in [#&#8203;25259](https://github.com/immich-app/immich/pull/25259)
- feat: download original asset by [@&#8203;danieldietzler](https://github.com/danieldietzler) in [#&#8203;25302](https://github.com/immich-app/immich/pull/25302)
- feat: allow /memory?id= in AndroidManifest by [@&#8203;arne182](https://github.com/arne182) in [#&#8203;25373](https://github.com/immich-app/immich/pull/25373)
- fix: add scoped API permissions to map endpoints by [@&#8203;meesfrensel](https://github.com/meesfrensel) in [#&#8203;25423](https://github.com/immich-app/immich/pull/25423)
- fix(server): scoped permissions for more endpoints by [@&#8203;meesfrensel](https://github.com/meesfrensel) in [#&#8203;25452](https://github.com/immich-app/immich/pull/25452)
- feat: generate progressive JPEGs for thumbnails by [@&#8203;midzelis](https://github.com/midzelis) in [#&#8203;25463](https://github.com/immich-app/immich/pull/25463)
- feat: loop slideshows by [@&#8203;GeneralZero](https://github.com/GeneralZero) in [#&#8203;25462](https://github.com/immich-app/immich/pull/25462)
- feat(mobile): native clients by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;21459](https://github.com/immich-app/immich/pull/21459)

##### 🐛 Bug fixes

- fix(maintenance): prevent enable/disable maintenance CLI hanging on occasion by [@&#8203;insertish](https://github.com/insertish) in [#&#8203;24713](https://github.com/immich-app/immich/pull/24713)
- fix(web): display jxl original by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;24766](https://github.com/immich-app/immich/pull/24766)
- fix(web): stale album info by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;24787](https://github.com/immich-app/immich/pull/24787)
- fix: album card timezone by [@&#8203;danieldietzler](https://github.com/danieldietzler) in [#&#8203;24855](https://github.com/immich-app/immich/pull/24855)
- fix(web): let slideshow videos play ([#&#8203;19601](https://github.com/immich-app/immich/issues/19601)) by [@&#8203;keanucz](https://github.com/keanucz) in [#&#8203;24914](https://github.com/immich-app/immich/pull/24914)
- fix(server): update exiftool-vendored to v34.3 for correct colon-less timezone parsing by [@&#8203;dosten](https://github.com/dosten) in [#&#8203;24979](https://github.com/immich-app/immich/pull/24979)
- fix(mobile): hide delete action for remote-only assets by [@&#8203;skrmc](https://github.com/skrmc) in [#&#8203;25010](https://github.com/immich-app/immich/pull/25010)
- fix: import config from json by [@&#8203;MontejoJorge](https://github.com/MontejoJorge) in [#&#8203;25030](https://github.com/immich-app/immich/pull/25030)
- fix: search input has incorrect focus state after closing the search filter modal by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;24886](https://github.com/immich-app/immich/pull/24886)
- fix(web): duplicate key error and enable expiration editing for expired shared links by [@&#8203;timonrieger](https://github.com/timonrieger) in [#&#8203;24686](https://github.com/immich-app/immich/pull/24686)
- fix: shared-link-mapper by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;24794](https://github.com/immich-app/immich/pull/24794)
- fix(server): migrate motion part of live photo by [@&#8203;NikhilAlapati](https://github.com/NikhilAlapati) in [#&#8203;24688](https://github.com/immich-app/immich/pull/24688)
- fix(web): use asset date for change date popup when single asset selected by [@&#8203;majiayu000](https://github.com/majiayu000) in [#&#8203;25076](https://github.com/immich-app/immich/pull/25076)
- fix(web): long text taking more width than expected in duplicate manager by [@&#8203;HemendraSinghShekhawat](https://github.com/HemendraSinghShekhawat) in [#&#8203;24547](https://github.com/immich-app/immich/pull/24547)
- fix(web): broken asset urls if shared link has photos in name by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24451](https://github.com/immich-app/immich/pull/24451)
- fix(server): search statistics with personIds returns 500 by [@&#8203;majiayu000](https://github.com/majiayu000) in [#&#8203;25074](https://github.com/immich-app/immich/pull/25074)
- fix(web): server stats layout by [@&#8203;meesfrensel](https://github.com/meesfrensel) in [#&#8203;25085](https://github.com/immich-app/immich/pull/25085)
- fix: enter now submits the date modals by [@&#8203;fabb](https://github.com/fabb) in [#&#8203;25053](https://github.com/immich-app/immich/pull/25053)
- fix(web): improve text contrast in minimized upload panel by [@&#8203;majiayu000](https://github.com/majiayu000) in [#&#8203;25075](https://github.com/immich-app/immich/pull/25075)
- fix: propagate iCloud Shared Album flag by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;25060](https://github.com/immich-app/immich/pull/25060)
- fix: description does not rerender when navigating between assets by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;25137](https://github.com/immich-app/immich/pull/25137)
- fix(server): avoid upserting empty metadata array by [@&#8203;timonrieger](https://github.com/timonrieger) in [#&#8203;25143](https://github.com/immich-app/immich/pull/25143)
- fix(server): Document HTTP 200 response for duplicate uploads in OpenAPI by [@&#8203;timonrieger](https://github.com/timonrieger) in [#&#8203;25148](https://github.com/immich-app/immich/pull/25148)
- fix(web): person asset count doesn't update when navigating by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24438](https://github.com/immich-app/immich/pull/24438)
- fix(mobile): remove weird zooming behaviour on videos and play/pause button delay by [@&#8203;goalie2002](https://github.com/goalie2002) in [#&#8203;24006](https://github.com/immich-app/immich/pull/24006)
- fix: unlock properties after successful sidecar write by [@&#8203;danieldietzler](https://github.com/danieldietzler) in [#&#8203;25168](https://github.com/immich-app/immich/pull/25168)
- fix(web): show relevant navbar options for partner assets by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24832](https://github.com/immich-app/immich/pull/24832)
- fix(web): added background gradient for video time visibility by [@&#8203;HemendraSinghShekhawat](https://github.com/HemendraSinghShekhawat) in [#&#8203;25138](https://github.com/immich-app/immich/pull/25138)
- feat(mobile): do not restore locally deleted assets during trash sync (Android) by [@&#8203;PeterOmbodi](https://github.com/PeterOmbodi) in [#&#8203;24218](https://github.com/immich-app/immich/pull/24218)
- fix: asset local type casting by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;25214](https://github.com/immich-app/immich/pull/25214)
- fix(web): ocr button not clickable for stacked assets by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;25210](https://github.com/immich-app/immich/pull/25210)
- fix(web): Handle upload failures from public users by [@&#8203;juliancarrivick](https://github.com/juliancarrivick) in [#&#8203;24826](https://github.com/immich-app/immich/pull/24826)
- fix(mobile): prevent system UI from hiding on drag down gesture by [@&#8203;goalie2002](https://github.com/goalie2002) in [#&#8203;25240](https://github.com/immich-app/immich/pull/25240)
- fix: migration order by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;25249](https://github.com/immich-app/immich/pull/25249)
- fix(web): redirect to login by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;25254](https://github.com/immich-app/immich/pull/25254)
- fix(mobile): improve asset transition back to timeline by [@&#8203;goalie2002](https://github.com/goalie2002) in [#&#8203;24485](https://github.com/immich-app/immich/pull/24485)
- fix: dark mode appbar color by [@&#8203;akashKarmakar02](https://github.com/akashKarmakar02) in [#&#8203;24976](https://github.com/immich-app/immich/pull/24976)
- fix(web): add min-width to setting input field by [@&#8203;K0lin](https://github.com/K0lin) in [#&#8203;25317](https://github.com/immich-app/immich/pull/25317)
- fix(server): api key update checks by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;25363](https://github.com/immich-app/immich/pull/25363)
- fix(mobile): album selector icon visibility by [@&#8203;ByteSizedMarius](https://github.com/ByteSizedMarius) in [#&#8203;25311](https://github.com/immich-app/immich/pull/25311)
- fix(mobile): indicators not showing on thumbnail tile after asset change in viewer by [@&#8203;goalie2002](https://github.com/goalie2002) in [#&#8203;25297](https://github.com/immich-app/immich/pull/25297)
- fix(web): handle deletion from asset viewer on map page by [@&#8203;meesfrensel](https://github.com/meesfrensel) in [#&#8203;25393](https://github.com/immich-app/immich/pull/25393)
- fix: tag update race condition by [@&#8203;danieldietzler](https://github.com/danieldietzler) in [#&#8203;25371](https://github.com/immich-app/immich/pull/25371)
- fix(web): allow exiting pin setup flow by [@&#8203;meesfrensel](https://github.com/meesfrensel) in [#&#8203;25413](https://github.com/immich-app/immich/pull/25413)
- fix: upload file without extension by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;25419](https://github.com/immich-app/immich/pull/25419)
- fix: incorrect asset viewer scale on image frame update by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;25430](https://github.com/immich-app/immich/pull/25430)
- fix(mobile): bring back map settings by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;25448](https://github.com/immich-app/immich/pull/25448)
- fix(web): fix badge value in queues page by [@&#8203;beinganukul](https://github.com/beinganukul) in [#&#8203;25445](https://github.com/immich-app/immich/pull/25445)
- fix(mobile): backfill asset dimensions to exif table by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;25483](https://github.com/immich-app/immich/pull/25483)
- fix(mobile): do not try to load video as image by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;25495](https://github.com/immich-app/immich/pull/25495)

##### 📚 Documentation

- fix: product keys wording in commercial guidelines faq by [@&#8203;bo0tzz](https://github.com/bo0tzz) in [#&#8203;24765](https://github.com/immich-app/immich/pull/24765)
- docs: config options for hardware transcoding by [@&#8203;Javex](https://github.com/Javex) in [#&#8203;24853](https://github.com/immich-app/immich/pull/24853)
- fix: use my.immich.app as url placeholder in docs by [@&#8203;bo0tzz](https://github.com/bo0tzz) in [#&#8203;25153](https://github.com/immich-app/immich/pull/25153)
- chore:  update Thai README (remove "under active development" lines) by [@&#8203;ppnplus](https://github.com/ppnplus) in [#&#8203;25208](https://github.com/immich-app/immich/pull/25208)
- fix(docs): add missing mermaid dependency and configuration by [@&#8203;bdoerfchen](https://github.com/bdoerfchen) in [#&#8203;25247](https://github.com/immich-app/immich/pull/25247)
- chore(docs): update RAM req by [@&#8203;mmomjian](https://github.com/mmomjian) in [#&#8203;25344](https://github.com/immich-app/immich/pull/25344)
- feat(docs): add Free Up Space section by [@&#8203;aviv926](https://github.com/aviv926) in [#&#8203;25253](https://github.com/immich-app/immich/pull/25253)
- docs: update README\_de\_DE.md by [@&#8203;solluh](https://github.com/solluh) in [#&#8203;25443](https://github.com/immich-app/immich/pull/25443)
- fix(docs): document that fullsize thumbnail might redirect to original by [@&#8203;meesfrensel](https://github.com/meesfrensel) in [#&#8203;25416](https://github.com/immich-app/immich/pull/25416)
- docs: update documentation by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;25440](https://github.com/immich-app/immich/pull/25440)

#### New Contributors

- [@&#8203;wrbl606](https://github.com/wrbl606) made their first contribution in [#&#8203;24820](https://github.com/immich-app/immich/pull/24820)
- [@&#8203;keanucz](https://github.com/keanucz) made their first contribution in [#&#8203;24914](https://github.com/immich-app/immich/pull/24914)
- [@&#8203;rahul-kumar-saini](https://github.com/rahul-kumar-saini) made their first contribution in [#&#8203;24650](https://github.com/immich-app/immich/pull/24650)
- [@&#8203;dosten](https://github.com/dosten) made their first contribution in [#&#8203;24979](https://github.com/immich-app/immich/pull/24979)
- [@&#8203;GustavJones](https://github.com/GustavJones) made their first contribution in [#&#8203;24799](https://github.com/immich-app/immich/pull/24799)
- [@&#8203;skrmc](https://github.com/skrmc) made their first contribution in [#&#8203;25010](https://github.com/immich-app/immich/pull/25010)
- [@&#8203;ama156](https://github.com/ama156) made their first contribution in [#&#8203;24890](https://github.com/immich-app/immich/pull/24890)
- [@&#8203;DanielRamosAcosta](https://github.com/DanielRamosAcosta) made their first contribution in [#&#8203;24791](https://github.com/immich-app/immich/pull/24791)
- [@&#8203;NikhilAlapati](https://github.com/NikhilAlapati) made their first contribution in [#&#8203;24688](https://github.com/immich-app/immich/pull/24688)
- [@&#8203;flpcury](https://github.com/flpcury) made their first contribution in [#&#8203;24867](https://github.com/immich-app/immich/pull/24867)
- [@&#8203;Javex](https://github.com/Javex) made their first contribution in [#&#8203;24853](https://github.com/immich-app/immich/pull/24853)
- [@&#8203;majiayu000](https://github.com/majiayu000) made their first contribution in [#&#8203;25076](https://github.com/immich-app/immich/pull/25076)
- [@&#8203;HemendraSinghShekhawat](https://github.com/HemendraSinghShekhawat) made their first contribution in [#&#8203;24547](https://github.com/immich-app/immich/pull/24547)
- [@&#8203;cbochs](https://github.com/cbochs) made their first contribution in [#&#8203;24620](https://github.com/immich-app/immich/pull/24620)
- [@&#8203;fabb](https://github.com/fabb) made their first contribution in [#&#8203;25053](https://github.com/immich-app/immich/pull/25053)
- [@&#8203;ppnplus](https://github.com/ppnplus) made their first contribution in [#&#8203;25208](https://github.com/immich-app/immich/pull/25208)
- [@&#8203;juliancarrivick](https://github.com/juliancarrivick) made their first contribution in [#&#8203;24826](https://github.com/immich-app/immich/pull/24826)
- [@&#8203;bdoerfchen](https://github.com/bdoerfchen) made their first contribution in [#&#8203;25247](https://github.com/immich-app/immich/pull/25247)
- [@&#8203;akashKarmakar02](https://github.com/akashKarmakar02) made their first contribution in [#&#8203;24976](https://github.com/immich-app/immich/pull/24976)
- [@&#8203;K0lin](https://github.com/K0lin) made their first contribution in [#&#8203;25317](https://github.com/immich-app/immich/pull/25317)
- [@&#8203;NAM-MAN](https://github.com/NAM-MAN) made their first contribution in [#&#8203;25320](https://github.com/immich-app/immich/pull/25320)
- [@&#8203;ByteSizedMarius](https://github.com/ByteSizedMarius) made their first contribution in [#&#8203;25311](https://github.com/immich-app/immich/pull/25311)
- [@&#8203;arne182](https://github.com/arne182) made their first contribution in [#&#8203;25373](https://github.com/immich-app/immich/pull/25373)
- [@&#8203;solluh](https://github.com/solluh) made their first contribution in [#&#8203;25443](https://github.com/immich-app/immich/pull/25443)
- [@&#8203;beinganukul](https://github.com/beinganukul) made their first contribution in [#&#8203;25445](https://github.com/immich-app/immich/pull/25445)
- [@&#8203;GeneralZero](https://github.com/GeneralZero) made their first contribution in [#&#8203;25462](https://github.com/immich-app/immich/pull/25462)

**Full Changelog**: <https://github.com/immich-app/immich/compare/v2.4.1...v2.5.0>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi42OS4yIiwidXBkYXRlZEluVmVyIjoiNDIuNjkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->

Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/3541
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-01-27 21:44:16 +00:00
3f1e9e4de3 chore(deps): update ghcr.io/immich-app/immich-server docker tag to v2.5.0 (#3537)
Some checks failed
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 1m21s
renovate / renovate (push) Has been cancelled
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [ghcr.io/immich-app/immich-server](https://github.com/immich-app/immich) | minor | `v2.4.1` → `v2.5.0` |

---

### Release Notes

<details>
<summary>immich-app/immich (ghcr.io/immich-app/immich-server)</summary>

### [`v2.5.0`](https://github.com/immich-app/immich/releases/tag/v2.5.0): - 90000 Stars Release

[Compare Source](https://github.com/immich-app/immich/compare/v2.4.1...v2.5.0)

### v2.5.0

> \[!NOTE]
> 20:23 GMT: We are halting the release of the mobile app as there are some reported issues with migration
>
> Sorry for the inconvenience

#### Highlights

Happy New Year! Welcome to Immich `v2.5.0`. This release is our fireworks to celebrate both the new year and reaching *90,000* stars on GitHub. It is packed with major features that have been in the works for quite some time, and the team has kicked off the year with incredible momentum that we're excited to carry forward. We couldn't wait to share this with you. Let's dive right in:

- Free Up Space
- Non-destructive editing
- Database backup and restore (web)
- Upload improvements
- Visual refresh across all platforms
- Disable admin setup
- Star rating (mobile)
- Additional fine-grained permissions (api keys)
- Progressive JPEGs
- Slideshow loop option (web)
- Native HTTP clients for HTTP/2 and HTTP/3 image loading

##### Free Up Space

*This feature was requested ages ago. So long in fact, that it has a 3-digit ID ([#&#8203;165](https://github.com/immich-app/immich/issues/165))! Given the rapid iteration and development pace of the pre-stable era, it was risky to include it in the app due to its bulk-delete nature. But it is now 2026* 😄*, so here we are.*

**Free Up Space** allows you to remove local media files from your device that have already been successfully backed up to your Immich server (and are not in Immich trash). This helps reclaim storage on your mobile device without losing your memories. The feature can be accessed from the user profile panel or from the Settings page in the mobile app.

<img width="300" alt="image" src="https://github.com/user-attachments/assets/2985ea6c-4392-414e-aef3-83c70ffe5570" />

<img  alt="image" src="https://github.com/user-attachments/assets/cf7b7d2c-5d37-4c13-a6ad-cacb53a71acb" />

There are configuration options and steps to make sure that everything is verified before deleting from the app.

1. **Configuration:**
   - **Cutoff date:** Free Up Space will only look for photos and videos **on or before** this date.
   - **Keep albums:** Hold all photos and videos in the selected albums on your device, regardless of other settings. By default, `**WhatsApp**` related albums are selected to be kept on the device. Assets that are not already on the device will not be redownloaded.
   - **Keep favorites:** This works the same way `**Keep albums**` . By default, favorited assets are preserved on your device.
   - **Keep on device:** You can choose to restrict removal to `**Always keep**` **All photos** or **All videos**, regardless of other settings. This setting can hamper freeing up space significantly — with 80 GB of videos and 40 GB of photos, selecting `**Always keep photos**` retains thousands of photos on your device.

> \[!TIP]
> These configurations are persistent to make it convenient for those who perform this task often.

2. **Scan & Review:** Before any files are removed, you are presented with a review screen to confirm which items will be deleted and how much storage will be reclaimed.
3. **Deletion:** Confirmed items are moved to your device's native Trash/Recycle Bin.

> \[!NOTE]
> **Reclaim storage**
> To use the reclaimed space right away, you must manually empty the system/gallery trash outside Immich.

For more information about this feature, please read it [here](https://docs.immich.app/features/mobile-app#free-up-space)

##### Non-destructive editing

Immich now supports non-destructive photo editing. This means that any edits you make to an asset do not modify the original file; instead, the modifications are stored in the database, and new thumbnails are generated based on those changes. This means you can always revert to the original asset if needed.

When you download an edited asset, Immich provides the edited version by default. However, you can choose to download the original version if needed. Immich always generates an edited full-size version based on your full-size quality settings. This occurs regardless of whether the "Enable full-size image generation" setting is enabled or disabled.

> \[!NOTE]
> **Limitations:**
>
> - Mobile clients must be updated to v2.5.0 in order view the edited version of an asset. Clients will continue to > see the original asset if on a mobile app version <2.5.0
> - As of this version, the edited download won't include the EXIF metadata of the original asset. This feature will come in future releases.
> - Mobile editing still uses the old edit system (saving a new version of the photo). The mobile editor will be upgraded to use the new non-destructive editing system in a future release.

You can click on the following icon to enter edit mode

<img width="400" alt="image" src="https://github.com/user-attachments/assets/7f2092cf-c149-492c-af08-a04c8de16915" />

Currently, Immich supports the following types of edits:

- Cropping
- Rotation
- Mirroring

<img  width="800" alt="image" src="https://github.com/user-attachments/assets/b1c0b1e7-5074-4b19-ac23-449931a233f3" />

Opening the editor on an edited asset will load the existing edits back in so you can make adjustments and changes.

<img width="800" alt="image" src="https://github.com/user-attachments/assets/0346e1ac-eb8c-490a-8d47-a3b79626b5b6" />

##### Backup and restore from the web UI

Backup and restore are an important part of any self-hosted application; this feature helps you maintain reliable access to your instance during unexpected events, such as database corruption caused by system failure or power loss.

Historically, restoring an Immich instance to a specific point required the user to have access to the command line, which proved challenging for many users, especially those new to self-hosting and software maintenance.

Now, we have the entire backup and restore pipeline built into Immich, which allows you to quickly restore a database backup directly from the web UI. You can perform the steps either from the `Administration > Maintenance` page, or from a brand new instance on the welcome page.

**Restore from Administration's Maintenance page**

<img width="800" alt="image" src="https://github.com/user-attachments/assets/7a608442-bd1c-4e0c-b255-1df45699fa9f" />

**Restore from Onboarding page**

<img width="800" alt="image" src="https://github.com/user-attachments/assets/6012a0e6-ba32-45d0-aec4-c24d19bd4a25" />

For more detailed steps, please read them in [our documentation](https://docs.immich.app/administration/backup-and-restore)

##### Upload improvement

This release also improves foreground upload in the mobile app. The previous implementation improves background uploads but leaves foreground uploads less reliable by leveraging the queue system to offload upload handling to the OS, which can be throttled under specific criteria.

We are taking back more control over handling uploads with the *try-and-true* method used in the old timeline, but this time it is supercharged with concurrent uploads and also correctly handles assets with missing file extensions from software such as DJI or Fusion Camera.

<img width="300" alt="image" src="https://github.com/user-attachments/assets/87d317ed-933b-48c7-88e3-d267e928b9d1" />

Upload now will also send unique metadata for each asset to the server, so it can be used to quickly retrieve the checksum when reinstalling the app, saving time and CPU resources. This is especially useful for iCloud users, as the hashing process can take a long time.

For iOS and iCloud users, it is recommended to go to App Settings > Sync Status and tap the "Sync Cloud IDs" button to backfill the metadata for the uploaded content. You only need to do this once.

<img width="300" alt="image" src="https://github.com/user-attachments/assets/0470e707-f913-418c-94a5-3fb83ae95fae" />

##### Visual refresh across all platforms

This release also brings you a refreshed look and feel across the web, mobile app, and the documentation sites, with a new font face ("The-name-must-not-be-named" Sans) that improves reading legibility, especially for numbers and smaller text.

<img width="300" alt="image" src="https://github.com/user-attachments/assets/83fc22ab-c3c8-4dfe-99c2-4620c6f03938" />

The UI library (<https://ui.immich.app/>) components have also been added to the web app in more places. You should see a more standardized, coherent, and better hierarchy for UI components across the app.

<img width="300" alt="image" src="https://github.com/user-attachments/assets/80157cb0-e77f-4219-9648-373a21ebfd6e" />

All icon buttons now come with a tooltip, so you don't have to guess what function the button serves

<img width="300" alt="image" src="https://github.com/user-attachments/assets/df2119dc-d3a9-43ae-a002-593710d3d226" />

##### Star rating (mobile)

Mobile now has the star-rating feature, similar to the web application. If you don't see a star rating on either platform, make sure the feature is enabled [here](https://my.immich.app/user-settings?isOpen=feature+rating).

<img width="400" alt="image" src="https://github.com/user-attachments/assets/e6a3e6a4-a18a-41a4-9eb0-845be68904a9" />

##### Disable admin setup

New installs show a welcome page and allow anyone to sign up / register as an admin. To have more control over whether this is allowed or not, we have added the following environment variable:

```typescript
IMMICH_ALLOW_SETUP=true|false
```

This is especially useful if you have already initialized Immich and never want this situation to be possible in the future, which can happen if for whatever reason the database is reset.

##### Additional fine-grained permissions (api keys)

Some existing endpoints have been assigned fine-grained permissions, allowing the creation of API keys with limited access. The new permissions include:\n

- `map.read` - Retrieve a list of latitude and longitude coordinates for every asset with location data
- `map.search` - Retrieve location information for latitude & longitude coordinates
- `folder.read` - Retrieve information about folders and which assets they contain

##### Progressive JPEGs

All image-generation settings now include a new option to enable progressive JPEGs. When enabled, supported browsers will progressively render the image.

<img width="800" alt="image" src="https://github.com/user-attachments/assets/ac62bb63-41da-419b-808f-b81ef90f7183" />

##### Slideshow loop option (web)

The slideshow settings on the web now include an option to automatically start the slideshow over.

<img width="500" alt="image" src="https://github.com/user-attachments/assets/b9122b7b-ae6f-4536-bf4c-fc295f6bd486" />

##### Native HTTP clients

All remote images are now requested using optimized HTTP clients, meaning images load more quickly and can keep up with your scrolling. Caching is also improved: not only does this make images even snappier to load after being downloaded, it also improves the offline experience with better responsiveness and a larger cache size.

***

As always, there are many more QoL improvements, bug fixes, and enhancements in this release. Please find the full release note below

#### Support Immich

<p align="center">

<img src="https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExbjY2eWc5Y2F0ZW56MmR4aWE0dDhzZXlidXRmYWZyajl1bWZidXZpcyZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/87CKDqErVfMqY/giphy.gif" width="450" title="SUPPORT THE PROJECT!">

</p>

If you find the project helpful, you can support Immich by purchasing a product key at <https://buy.immich.app> or our merchandise at <https://immich.store>

<!-- Release notes generated using configuration in .github/release.yml at main -->

#### What's Changed

##### 🚀 Features

- feat: workflow ui by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;24190](https://github.com/immich-app/immich/pull/24190)
- feat: disable admin setup by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;24628](https://github.com/immich-app/immich/pull/24628)
- feat: free up space by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;24999](https://github.com/immich-app/immich/pull/24999)
- feat: use fastlane sigh to manage signing profiles by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;25089](https://github.com/immich-app/immich/pull/25089)
- feat: image editing by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;24155](https://github.com/immich-app/immich/pull/24155)
- feat: add cloud id during native sync by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;20418](https://github.com/immich-app/immich/pull/20418)
- feat: restore database backups by [@&#8203;insertish](https://github.com/insertish) in [#&#8203;23978](https://github.com/immich-app/immich/pull/23978)
- feat(mobile): star rating by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24457](https://github.com/immich-app/immich/pull/24457)
- feat(mobile): scrollbar for album page by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;25507](https://github.com/immich-app/immich/pull/25507)

##### 🌟 Enhancements

- feat: focus jumped-to item in timeline by [@&#8203;bo0tzz](https://github.com/bo0tzz) in [#&#8203;24738](https://github.com/immich-app/immich/pull/24738)
- chore: web editor improvements by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;25169](https://github.com/immich-app/immich/pull/25169)
- feat: modal routes by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;24726](https://github.com/immich-app/immich/pull/24726)
- feat: prefer admin settings page over users page by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;24780](https://github.com/immich-app/immich/pull/24780)
- feat: shared link edit by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;24783](https://github.com/immich-app/immich/pull/24783)
- feat(mobile): use tabular figures in backup info card by [@&#8203;wrbl606](https://github.com/wrbl606) in [#&#8203;24820](https://github.com/immich-app/immich/pull/24820)
- feat(mobile): album options to kebab menu by [@&#8203;idubnori](https://github.com/idubnori) in [#&#8203;24204](https://github.com/immich-app/immich/pull/24204)
- feat: Hide/show controls when zoom state changes by [@&#8203;Lauritz-Tieste](https://github.com/Lauritz-Tieste) in [#&#8203;24784](https://github.com/immich-app/immich/pull/24784)
- feat(server): Support camera `make`, `model`, and `lensModel` in Storage Template by [@&#8203;rahul-kumar-saini](https://github.com/rahul-kumar-saini) in [#&#8203;24650](https://github.com/immich-app/immich/pull/24650)
- feat(ml): update ONNX Runtime, OpenVINO and ROCm stack by [@&#8203;savely-krasovsky](https://github.com/savely-krasovsky) in [#&#8203;23458](https://github.com/immich-app/immich/pull/23458)
- chore(server): Vchord 1.0 support by [@&#8203;mmomjian](https://github.com/mmomjian) in [#&#8203;23845](https://github.com/immich-app/immich/pull/23845)
- feat(web): Add coordinate pair location searching. by [@&#8203;GustavJones](https://github.com/GustavJones) in [#&#8203;24799](https://github.com/immich-app/immich/pull/24799)
- feat: show asset owners for editors in shared albums by [@&#8203;ama156](https://github.com/ama156) in [#&#8203;24890](https://github.com/immich-app/immich/pull/24890)
- feat(web): undo delete single asset by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24439](https://github.com/immich-app/immich/pull/24439)
- feat(server): implement switchable logging formats (console/json) by [@&#8203;DanielRamosAcosta](https://github.com/DanielRamosAcosta) in [#&#8203;24791](https://github.com/immich-app/immich/pull/24791)
- chore(web): bump immich/ui for tooltips by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;24632](https://github.com/immich-app/immich/pull/24632)
- feat(web): star rating keyboard shortcut by [@&#8203;cbochs](https://github.com/cbochs) in [#&#8203;24620](https://github.com/immich-app/immich/pull/24620)
- feat: bulk asset metadata endpoints by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;25133](https://github.com/immich-app/immich/pull/25133)
- feat(mobile): 2026 font by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;25213](https://github.com/immich-app/immich/pull/25213)
- feat(web): search albums by description by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;25244](https://github.com/immich-app/immich/pull/25244)
- feat(web): 2026 font by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;25174](https://github.com/immich-app/immich/pull/25174)
- chore: dart http foreground upload by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;24883](https://github.com/immich-app/immich/pull/24883)
- feat: update intel compute driver by [@&#8203;savely-krasovsky](https://github.com/savely-krasovsky) in [#&#8203;25259](https://github.com/immich-app/immich/pull/25259)
- feat: download original asset by [@&#8203;danieldietzler](https://github.com/danieldietzler) in [#&#8203;25302](https://github.com/immich-app/immich/pull/25302)
- feat: allow /memory?id= in AndroidManifest by [@&#8203;arne182](https://github.com/arne182) in [#&#8203;25373](https://github.com/immich-app/immich/pull/25373)
- fix: add scoped API permissions to map endpoints by [@&#8203;meesfrensel](https://github.com/meesfrensel) in [#&#8203;25423](https://github.com/immich-app/immich/pull/25423)
- fix(server): scoped permissions for more endpoints by [@&#8203;meesfrensel](https://github.com/meesfrensel) in [#&#8203;25452](https://github.com/immich-app/immich/pull/25452)
- feat: generate progressive JPEGs for thumbnails by [@&#8203;midzelis](https://github.com/midzelis) in [#&#8203;25463](https://github.com/immich-app/immich/pull/25463)
- feat: loop slideshows by [@&#8203;GeneralZero](https://github.com/GeneralZero) in [#&#8203;25462](https://github.com/immich-app/immich/pull/25462)
- feat(mobile): native clients by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;21459](https://github.com/immich-app/immich/pull/21459)

##### 🐛 Bug fixes

- fix(maintenance): prevent enable/disable maintenance CLI hanging on occasion by [@&#8203;insertish](https://github.com/insertish) in [#&#8203;24713](https://github.com/immich-app/immich/pull/24713)
- fix(web): display jxl original by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;24766](https://github.com/immich-app/immich/pull/24766)
- fix(web): stale album info by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;24787](https://github.com/immich-app/immich/pull/24787)
- fix: album card timezone by [@&#8203;danieldietzler](https://github.com/danieldietzler) in [#&#8203;24855](https://github.com/immich-app/immich/pull/24855)
- fix(web): let slideshow videos play ([#&#8203;19601](https://github.com/immich-app/immich/issues/19601)) by [@&#8203;keanucz](https://github.com/keanucz) in [#&#8203;24914](https://github.com/immich-app/immich/pull/24914)
- fix(server): update exiftool-vendored to v34.3 for correct colon-less timezone parsing by [@&#8203;dosten](https://github.com/dosten) in [#&#8203;24979](https://github.com/immich-app/immich/pull/24979)
- fix(mobile): hide delete action for remote-only assets by [@&#8203;skrmc](https://github.com/skrmc) in [#&#8203;25010](https://github.com/immich-app/immich/pull/25010)
- fix: import config from json by [@&#8203;MontejoJorge](https://github.com/MontejoJorge) in [#&#8203;25030](https://github.com/immich-app/immich/pull/25030)
- fix: search input has incorrect focus state after closing the search filter modal by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;24886](https://github.com/immich-app/immich/pull/24886)
- fix(web): duplicate key error and enable expiration editing for expired shared links by [@&#8203;timonrieger](https://github.com/timonrieger) in [#&#8203;24686](https://github.com/immich-app/immich/pull/24686)
- fix: shared-link-mapper by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;24794](https://github.com/immich-app/immich/pull/24794)
- fix(server): migrate motion part of live photo by [@&#8203;NikhilAlapati](https://github.com/NikhilAlapati) in [#&#8203;24688](https://github.com/immich-app/immich/pull/24688)
- fix(web): use asset date for change date popup when single asset selected by [@&#8203;majiayu000](https://github.com/majiayu000) in [#&#8203;25076](https://github.com/immich-app/immich/pull/25076)
- fix(web): long text taking more width than expected in duplicate manager by [@&#8203;HemendraSinghShekhawat](https://github.com/HemendraSinghShekhawat) in [#&#8203;24547](https://github.com/immich-app/immich/pull/24547)
- fix(web): broken asset urls if shared link has photos in name by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24451](https://github.com/immich-app/immich/pull/24451)
- fix(server): search statistics with personIds returns 500 by [@&#8203;majiayu000](https://github.com/majiayu000) in [#&#8203;25074](https://github.com/immich-app/immich/pull/25074)
- fix(web): server stats layout by [@&#8203;meesfrensel](https://github.com/meesfrensel) in [#&#8203;25085](https://github.com/immich-app/immich/pull/25085)
- fix: enter now submits the date modals by [@&#8203;fabb](https://github.com/fabb) in [#&#8203;25053](https://github.com/immich-app/immich/pull/25053)
- fix(web): improve text contrast in minimized upload panel by [@&#8203;majiayu000](https://github.com/majiayu000) in [#&#8203;25075](https://github.com/immich-app/immich/pull/25075)
- fix: propagate iCloud Shared Album flag by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;25060](https://github.com/immich-app/immich/pull/25060)
- fix: description does not rerender when navigating between assets by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;25137](https://github.com/immich-app/immich/pull/25137)
- fix(server): avoid upserting empty metadata array by [@&#8203;timonrieger](https://github.com/timonrieger) in [#&#8203;25143](https://github.com/immich-app/immich/pull/25143)
- fix(server): Document HTTP 200 response for duplicate uploads in OpenAPI by [@&#8203;timonrieger](https://github.com/timonrieger) in [#&#8203;25148](https://github.com/immich-app/immich/pull/25148)
- fix(web): person asset count doesn't update when navigating by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24438](https://github.com/immich-app/immich/pull/24438)
- fix(mobile): remove weird zooming behaviour on videos and play/pause button delay by [@&#8203;goalie2002](https://github.com/goalie2002) in [#&#8203;24006](https://github.com/immich-app/immich/pull/24006)
- fix: unlock properties after successful sidecar write by [@&#8203;danieldietzler](https://github.com/danieldietzler) in [#&#8203;25168](https://github.com/immich-app/immich/pull/25168)
- fix(web): show relevant navbar options for partner assets by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24832](https://github.com/immich-app/immich/pull/24832)
- fix(web): added background gradient for video time visibility by [@&#8203;HemendraSinghShekhawat](https://github.com/HemendraSinghShekhawat) in [#&#8203;25138](https://github.com/immich-app/immich/pull/25138)
- feat(mobile): do not restore locally deleted assets during trash sync (Android) by [@&#8203;PeterOmbodi](https://github.com/PeterOmbodi) in [#&#8203;24218](https://github.com/immich-app/immich/pull/24218)
- fix: asset local type casting by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;25214](https://github.com/immich-app/immich/pull/25214)
- fix(web): ocr button not clickable for stacked assets by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;25210](https://github.com/immich-app/immich/pull/25210)
- fix(web): Handle upload failures from public users by [@&#8203;juliancarrivick](https://github.com/juliancarrivick) in [#&#8203;24826](https://github.com/immich-app/immich/pull/24826)
- fix(mobile): prevent system UI from hiding on drag down gesture by [@&#8203;goalie2002](https://github.com/goalie2002) in [#&#8203;25240](https://github.com/immich-app/immich/pull/25240)
- fix: migration order by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;25249](https://github.com/immich-app/immich/pull/25249)
- fix(web): redirect to login by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;25254](https://github.com/immich-app/immich/pull/25254)
- fix(mobile): improve asset transition back to timeline by [@&#8203;goalie2002](https://github.com/goalie2002) in [#&#8203;24485](https://github.com/immich-app/immich/pull/24485)
- fix: dark mode appbar color by [@&#8203;akashKarmakar02](https://github.com/akashKarmakar02) in [#&#8203;24976](https://github.com/immich-app/immich/pull/24976)
- fix(web): add min-width to setting input field by [@&#8203;K0lin](https://github.com/K0lin) in [#&#8203;25317](https://github.com/immich-app/immich/pull/25317)
- fix(server): api key update checks by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;25363](https://github.com/immich-app/immich/pull/25363)
- fix(mobile): album selector icon visibility by [@&#8203;ByteSizedMarius](https://github.com/ByteSizedMarius) in [#&#8203;25311](https://github.com/immich-app/immich/pull/25311)
- fix(mobile): indicators not showing on thumbnail tile after asset change in viewer by [@&#8203;goalie2002](https://github.com/goalie2002) in [#&#8203;25297](https://github.com/immich-app/immich/pull/25297)
- fix(web): handle deletion from asset viewer on map page by [@&#8203;meesfrensel](https://github.com/meesfrensel) in [#&#8203;25393](https://github.com/immich-app/immich/pull/25393)
- fix: tag update race condition by [@&#8203;danieldietzler](https://github.com/danieldietzler) in [#&#8203;25371](https://github.com/immich-app/immich/pull/25371)
- fix(web): allow exiting pin setup flow by [@&#8203;meesfrensel](https://github.com/meesfrensel) in [#&#8203;25413](https://github.com/immich-app/immich/pull/25413)
- fix: upload file without extension by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;25419](https://github.com/immich-app/immich/pull/25419)
- fix: incorrect asset viewer scale on image frame update by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;25430](https://github.com/immich-app/immich/pull/25430)
- fix(mobile): bring back map settings by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;25448](https://github.com/immich-app/immich/pull/25448)
- fix(web): fix badge value in queues page by [@&#8203;beinganukul](https://github.com/beinganukul) in [#&#8203;25445](https://github.com/immich-app/immich/pull/25445)
- fix(mobile): backfill asset dimensions to exif table by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;25483](https://github.com/immich-app/immich/pull/25483)
- fix(mobile): do not try to load video as image by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;25495](https://github.com/immich-app/immich/pull/25495)

##### 📚 Documentation

- fix: product keys wording in commercial guidelines faq by [@&#8203;bo0tzz](https://github.com/bo0tzz) in [#&#8203;24765](https://github.com/immich-app/immich/pull/24765)
- docs: config options for hardware transcoding by [@&#8203;Javex](https://github.com/Javex) in [#&#8203;24853](https://github.com/immich-app/immich/pull/24853)
- fix: use my.immich.app as url placeholder in docs by [@&#8203;bo0tzz](https://github.com/bo0tzz) in [#&#8203;25153](https://github.com/immich-app/immich/pull/25153)
- chore:  update Thai README (remove "under active development" lines) by [@&#8203;ppnplus](https://github.com/ppnplus) in [#&#8203;25208](https://github.com/immich-app/immich/pull/25208)
- fix(docs): add missing mermaid dependency and configuration by [@&#8203;bdoerfchen](https://github.com/bdoerfchen) in [#&#8203;25247](https://github.com/immich-app/immich/pull/25247)
- chore(docs): update RAM req by [@&#8203;mmomjian](https://github.com/mmomjian) in [#&#8203;25344](https://github.com/immich-app/immich/pull/25344)
- feat(docs): add Free Up Space section by [@&#8203;aviv926](https://github.com/aviv926) in [#&#8203;25253](https://github.com/immich-app/immich/pull/25253)
- docs: update README\_de\_DE.md by [@&#8203;solluh](https://github.com/solluh) in [#&#8203;25443](https://github.com/immich-app/immich/pull/25443)
- fix(docs): document that fullsize thumbnail might redirect to original by [@&#8203;meesfrensel](https://github.com/meesfrensel) in [#&#8203;25416](https://github.com/immich-app/immich/pull/25416)
- docs: update documentation by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;25440](https://github.com/immich-app/immich/pull/25440)

#### New Contributors

- [@&#8203;wrbl606](https://github.com/wrbl606) made their first contribution in [#&#8203;24820](https://github.com/immich-app/immich/pull/24820)
- [@&#8203;keanucz](https://github.com/keanucz) made their first contribution in [#&#8203;24914](https://github.com/immich-app/immich/pull/24914)
- [@&#8203;rahul-kumar-saini](https://github.com/rahul-kumar-saini) made their first contribution in [#&#8203;24650](https://github.com/immich-app/immich/pull/24650)
- [@&#8203;dosten](https://github.com/dosten) made their first contribution in [#&#8203;24979](https://github.com/immich-app/immich/pull/24979)
- [@&#8203;GustavJones](https://github.com/GustavJones) made their first contribution in [#&#8203;24799](https://github.com/immich-app/immich/pull/24799)
- [@&#8203;skrmc](https://github.com/skrmc) made their first contribution in [#&#8203;25010](https://github.com/immich-app/immich/pull/25010)
- [@&#8203;ama156](https://github.com/ama156) made their first contribution in [#&#8203;24890](https://github.com/immich-app/immich/pull/24890)
- [@&#8203;DanielRamosAcosta](https://github.com/DanielRamosAcosta) made their first contribution in [#&#8203;24791](https://github.com/immich-app/immich/pull/24791)
- [@&#8203;NikhilAlapati](https://github.com/NikhilAlapati) made their first contribution in [#&#8203;24688](https://github.com/immich-app/immich/pull/24688)
- [@&#8203;flpcury](https://github.com/flpcury) made their first contribution in [#&#8203;24867](https://github.com/immich-app/immich/pull/24867)
- [@&#8203;Javex](https://github.com/Javex) made their first contribution in [#&#8203;24853](https://github.com/immich-app/immich/pull/24853)
- [@&#8203;majiayu000](https://github.com/majiayu000) made their first contribution in [#&#8203;25076](https://github.com/immich-app/immich/pull/25076)
- [@&#8203;HemendraSinghShekhawat](https://github.com/HemendraSinghShekhawat) made their first contribution in [#&#8203;24547](https://github.com/immich-app/immich/pull/24547)
- [@&#8203;cbochs](https://github.com/cbochs) made their first contribution in [#&#8203;24620](https://github.com/immich-app/immich/pull/24620)
- [@&#8203;fabb](https://github.com/fabb) made their first contribution in [#&#8203;25053](https://github.com/immich-app/immich/pull/25053)
- [@&#8203;ppnplus](https://github.com/ppnplus) made their first contribution in [#&#8203;25208](https://github.com/immich-app/immich/pull/25208)
- [@&#8203;juliancarrivick](https://github.com/juliancarrivick) made their first contribution in [#&#8203;24826](https://github.com/immich-app/immich/pull/24826)
- [@&#8203;bdoerfchen](https://github.com/bdoerfchen) made their first contribution in [#&#8203;25247](https://github.com/immich-app/immich/pull/25247)
- [@&#8203;akashKarmakar02](https://github.com/akashKarmakar02) made their first contribution in [#&#8203;24976](https://github.com/immich-app/immich/pull/24976)
- [@&#8203;K0lin](https://github.com/K0lin) made their first contribution in [#&#8203;25317](https://github.com/immich-app/immich/pull/25317)
- [@&#8203;NAM-MAN](https://github.com/NAM-MAN) made their first contribution in [#&#8203;25320](https://github.com/immich-app/immich/pull/25320)
- [@&#8203;ByteSizedMarius](https://github.com/ByteSizedMarius) made their first contribution in [#&#8203;25311](https://github.com/immich-app/immich/pull/25311)
- [@&#8203;arne182](https://github.com/arne182) made their first contribution in [#&#8203;25373](https://github.com/immich-app/immich/pull/25373)
- [@&#8203;solluh](https://github.com/solluh) made their first contribution in [#&#8203;25443](https://github.com/immich-app/immich/pull/25443)
- [@&#8203;beinganukul](https://github.com/beinganukul) made their first contribution in [#&#8203;25445](https://github.com/immich-app/immich/pull/25445)
- [@&#8203;GeneralZero](https://github.com/GeneralZero) made their first contribution in [#&#8203;25462](https://github.com/immich-app/immich/pull/25462)

**Full Changelog**: <https://github.com/immich-app/immich/compare/v2.4.1...v2.5.0>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi42OS4yIiwidXBkYXRlZEluVmVyIjoiNDIuNjkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->

Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/3537
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-01-27 21:40:50 +00:00
34e963e554 ci: change depName
Some checks failed
lint-test-helm / lint-helm (push) Successful in 46s
render-manifests-push / render-manifests-push (push) Successful in 1m50s
renovate / renovate (push) Has been cancelled
2026-01-27 15:27:07 -06:00
b3d90c6151 ci: change depName
All checks were successful
lint-test-helm / lint-helm (push) Successful in 1m22s
render-manifests-push / render-manifests-push (push) Successful in 2m6s
renovate / renovate (push) Successful in 3m3s
2026-01-27 15:03:44 -06:00
681ddd2d28 ci: change depName
All checks were successful
lint-test-helm / lint-helm (push) Successful in 54s
render-manifests-push / render-manifests-push (push) Successful in 1m50s
renovate / renovate (push) Successful in 3m5s
2026-01-27 14:54:34 -06:00
f46ac98970 chore(deps): update appVersions
All checks were successful
lint-test-helm / lint-helm (push) Successful in 16s
renovate / renovate (push) Successful in 11m40s
render-manifests-push / render-manifests-push (push) Successful in 12m20s
2026-01-23 17:05:18 -06:00
914dd14c81 fix: align renovate custom manager to appVersion updates on Chart
All checks were successful
lint-test-helm / lint-helm (push) Successful in 12s
render-manifests-push / render-manifests-push (push) Successful in 49m21s
renovate / renovate (push) Successful in 13m16s
2026-01-23 14:49:38 -06:00
3ff0d4dc3f chore(deps): update postgres-cluster docker tag to v7.5.0 (#3377)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 15s
renovate / renovate (push) Successful in 1m34s
render-manifests-dispatch / render-manifests-dispatch (push) Successful in 47m38s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [postgres-cluster](https://github.com/cloudnative-pg/cloudnative-pg) | minor | `7.4.5` → `7.5.0` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi42OS4yIiwidXBkYXRlZEluVmVyIjoiNDIuNjkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiY2hhcnQiLCJpbWFnZSJdfQ==-->

Reviewed-on: #3377
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-01-23 00:57:31 +00:00
285e17717f Update Helm release app-template to v4.6.2 (#3266)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 17s
renovate / renovate (push) Successful in 1m24s
2026-01-16 18:57:33 +00:00
db03b57c8c update redis charts
All checks were successful
lint-test-helm / lint-helm (push) Successful in 18s
renovate / renovate (push) Successful in 2m1s
render-manifests-push / render-manifests-push (push) Successful in 2m36s
2026-01-08 16:09:34 -06:00
a100fc174a Update Helm release app-template to v4.6.0 (#3094)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 24s
renovate / renovate (push) Successful in 2m15s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [app-template](https://github.com/bjw-s-labs/helm-charts) | minor | `4.5.0` → `4.6.0` |

---

### Release Notes

<details>
<summary>bjw-s-labs/helm-charts (app-template)</summary>

### [`v4.6.0`](https://github.com/bjw-s-labs/helm-charts/releases/tag/app-template-4.6.0)

[Compare Source](https://github.com/bjw-s-labs/helm-charts/compare/app-template-4.5.0...app-template-4.6.0)

##### Changelog:

##### Changed

- Upgraded the common library to v4.6.0
  - [Upgrade notes](https://bjw-s-labs.github.io/helm-charts/docs/app-template/upgrade-instructions/)
  - [Detailed release notes](https://github.com/bjw-s-labs/helm-charts/releases/tag/common-4.6.0)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi42OS4yIiwidXBkYXRlZEluVmVyIjoiNDIuNjkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiY2hhcnQiXX0=-->

Reviewed-on: #3094
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-01-07 23:03:02 +00:00
7ca7a0157b expand redis
All checks were successful
lint-test-helm / lint-helm (push) Successful in 28s
render-manifests-push / render-manifests-push (push) Successful in 1m7s
renovate / renovate (push) Successful in 2m13s
2026-01-01 23:36:11 -06:00
e4138a7994 add local
Some checks failed
lint-test-helm / lint-helm (push) Successful in 13s
render-manifests-push / render-manifests-push (push) Successful in 53s
renovate / renovate (push) Failing after 13m5s
2025-12-27 18:36:14 -06:00
c896e4a32f disable local
All checks were successful
lint-test-helm / lint-helm (push) Successful in 11s
renovate / renovate (push) Successful in 2m7s
render-manifests-push / render-manifests-push (push) Successful in 2m1s
2025-12-27 18:27:55 -06:00
f1eb78a0f8 Update postgres-cluster Docker tag to v7.4.5 (#2892)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 22s
renovate / renovate (push) Successful in 56s
2025-12-27 19:50:33 +00:00
b67d15cdfc change schedule
Some checks failed
lint-test-helm / lint-helm (push) Successful in 23s
renovate / renovate (push) Has been cancelled
render-manifests-push / render-manifests-push (push) Successful in 4m23s
2025-12-27 13:40:57 -06:00
8f90834648 scale 2025-12-27 10:51:40 -06:00
7a2938a142 upgrade chart 2025-12-26 17:18:18 -06:00
a1efd69267 renovate update chart appVersion
All checks were successful
lint-test-helm / lint-helm (push) Successful in 10s
render-manifests-push / render-manifests-push (push) Successful in 56s
renovate / renovate (push) Successful in 2m17s
2025-12-23 17:54:30 -06:00
5495c30990 Update postgres-cluster Docker tag to v7.1.4 (#2778)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 10s
renovate / renovate (push) Successful in 1m38s
2025-12-21 19:08:40 +00:00
348266d19e Update ghcr.io/immich-app/immich-server Docker tag to v2.4.1 (#2736)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 10s
renovate / renovate (push) Successful in 1m38s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [ghcr.io/immich-app/immich-server](https://github.com/immich-app/immich) | minor | `v2.3.1` -> `v2.4.1` |

---

### Release Notes

<details>
<summary>immich-app/immich (ghcr.io/immich-app/immich-server)</summary>

### [`v2.4.1`](https://github.com/immich-app/immich/releases/tag/v2.4.1)

[Compare Source](https://github.com/immich-app/immich/compare/v2.4.0...v2.4.1)

### 2.4.1

#### What's Changed

##### 🐛 Bug fixes

- fix(web): shared link expiry does not save by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24569](https://github.com/immich-app/immich/pull/24569)
- fix(mobile): infinite loading screen when hiding UI in map viewer on iOS by [@&#8203;timonrieger](https://github.com/timonrieger) in [#&#8203;24563](https://github.com/immich-app/immich/pull/24563)
- fix(web): auto-start slideshow when confirming settings modal by [@&#8203;timonrieger](https://github.com/timonrieger) in [#&#8203;24629](https://github.com/immich-app/immich/pull/24629)
- fix(mobile): merged video in On This Device played with incorrect ratio by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;24656](https://github.com/immich-app/immich/pull/24656)
- fix: dateTimeOriginal timezone updates by [@&#8203;danieldietzler](https://github.com/danieldietzler) in [#&#8203;24712](https://github.com/immich-app/immich/pull/24712)
- fix(web): timezone dropdown showing "No results" when seconds are set to 00 by [@&#8203;timonrieger](https://github.com/timonrieger) in [#&#8203;24662](https://github.com/immich-app/immich/pull/24662)
- fix(web): search-bar usability improvements  by [@&#8203;LeLunZ](https://github.com/LeLunZ) in [#&#8203;24705](https://github.com/immich-app/immich/pull/24705)

##### 📚 Documentation

- fix(docs): add & fix missing alt text to store badge images by [@&#8203;divulgacheur](https://github.com/divulgacheur) in [#&#8203;24637](https://github.com/immich-app/immich/pull/24637)

#### New Contributors

- [@&#8203;timonrieger](https://github.com/timonrieger) made their first contribution in [#&#8203;24563](https://github.com/immich-app/immich/pull/24563)
- [@&#8203;LeLunZ](https://github.com/LeLunZ) made their first contribution in [#&#8203;24705](https://github.com/immich-app/immich/pull/24705)
- [@&#8203;divulgacheur](https://github.com/divulgacheur) made their first contribution in [#&#8203;24637](https://github.com/immich-app/immich/pull/24637)

**Full Changelog**: <https://github.com/immich-app/immich/compare/v2.4.0...v2.4.1>

### [`v2.4.0`](https://github.com/immich-app/immich/releases/tag/v2.4.0)

[Compare Source](https://github.com/immich-app/immich/compare/v2.3.1...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 and animation 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
- Better action button placement in the mobile asset viewer
- 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.

<img width="800" alt="asset owner name in album" src="https://github.com/user-attachments/assets/90f425b3-91d4-4ef3-9455-234b2c28b0f0" />

##### 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 this lets you quickly navigate between administration pages by typing the name of the page you want to go to. It also already supports some common actions when on the respective admin pages, many of which also support shortcuts. Have a look around and check them out!

<img width="800"  alt="command pallet" src="https://github.com/user-attachments/assets/e9fb1638-a926-4df2-92ce-3ddfd0b04e02" />

##### Change search type directly in the search bar

You can now click on the pill from the search bar to select a different search type without opening the search filter panel.

<img width="800" alt="search type" src="https://github.com/user-attachments/assets/493d0b74-8b6f-4581-b2ba-9f00da9bcc30" />

##### Better placement of action buttons in the mobile asset viewer

Previously, to perform a specific action on the asset, you needed first to swipe up to open the detail panel, then swipe all the way to the right and tap the action. It limits the discoverability of some actions. To help resolve that issue, all the action buttons in the detail panel are now moved to the drop-down menu when tapping on the vertical dot icon (or kebab menu), along with some buttons that used to be on the top bar, clearing up space to display more helpful information when viewing the asset.

 <img width="350" alt="kebab menu" src="https://github.com/user-attachments/assets/7b4610c4-d04b-4f5e-8b7b-02504a9ee531" />

#### Support Immich

<p align="center">

<img src="https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExbjY2eWc5Y2F0ZW56MmR4aWE0dDhzZXlidXRmYWZyajl1bWZidXZpcyZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/87CKDqErVfMqY/giphy.gif" width="450" title="SUPPORT THE PROJECT!">

</p>

If you find the project helpful, you can support Immich by purchasing a product key at <https://buy.immich.app> or our merchandise at <https://immich.store>

#### What's Changed

##### 🫥 Deprecated Changes

- feat: queues by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;24142](https://github.com/immich-app/immich/pull/24142)

##### 🚀 Features

- feat: improve performance: don't sort timeline buckets from server by [@&#8203;midzelis](https://github.com/midzelis) in [#&#8203;24032](https://github.com/immich-app/immich/pull/24032)
- feat: command palette by [@&#8203;danieldietzler](https://github.com/danieldietzler) in [#&#8203;23693](https://github.com/immich-app/immich/pull/23693)
- feat(web): Shared album owner labels by [@&#8203;xCJPECKOVERx](https://github.com/xCJPECKOVERx) in [#&#8203;21171](https://github.com/immich-app/immich/pull/21171)
- feat(mobile): persist album sorting & layout in settings by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;22133](https://github.com/immich-app/immich/pull/22133)
- feat: queue detail page by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;24352](https://github.com/immich-app/immich/pull/24352)
- chore(mobile): add kebabu menu in asset viewer by [@&#8203;idubnori](https://github.com/idubnori) in [#&#8203;24387](https://github.com/immich-app/immich/pull/24387)
- feat(mobile): create new album from add to modal by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24431](https://github.com/immich-app/immich/pull/24431)
- feat(mobile): move buttons in the bottom sheet to the kebabu menu by [@&#8203;idubnori](https://github.com/idubnori) in [#&#8203;24175](https://github.com/immich-app/immich/pull/24175)

##### 🌟 Enhancements

- feat(web): allow navigating the map with arrow keys by [@&#8203;lukashass](https://github.com/lukashass) in [#&#8203;24080](https://github.com/immich-app/immich/pull/24080)
- feat: separate camera and lens info in detail panel by [@&#8203;fabianbees](https://github.com/fabianbees) in [#&#8203;23670](https://github.com/immich-app/immich/pull/23670)
- feat(web): shared link card tweaks by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;24192](https://github.com/immich-app/immich/pull/24192)
- feat(server): exclude syncthing folders from external libraries by [@&#8203;SaphuA](https://github.com/SaphuA) in [#&#8203;24240](https://github.com/immich-app/immich/pull/24240)
- feat(web): search type selection dropdown by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24091](https://github.com/immich-app/immich/pull/24091)
- feat: header context menu by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;24374](https://github.com/immich-app/immich/pull/24374)
- feat(mobile): move top bar buttons into kebabu menu in AssetViewer by [@&#8203;idubnori](https://github.com/idubnori) in [#&#8203;24461](https://github.com/immich-app/immich/pull/24461)
- feat(web): asset selection bar in tags view by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24522](https://github.com/immich-app/immich/pull/24522)
- feat(web): slideshow feature on shared albums by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24598](https://github.com/immich-app/immich/pull/24598)
- feat: replace heart icons to thumbs-up across activity by [@&#8203;idubnori](https://github.com/idubnori) in [#&#8203;24590](https://github.com/immich-app/immich/pull/24590)

##### 🐛 Bug fixes

- fix: effect loop by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;24014](https://github.com/immich-app/immich/pull/24014)
- fix: do not clear hash on updated\_at change by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;24039](https://github.com/immich-app/immich/pull/24039)
- fix: disable animation "add to" action menu by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;24040](https://github.com/immich-app/immich/pull/24040)
- fix: Use correct app store link by [@&#8203;Mraedis](https://github.com/Mraedis) in [#&#8203;24062](https://github.com/immich-app/immich/pull/24062)
- fix: show archived assets in favorite page by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;24052](https://github.com/immich-app/immich/pull/24052)
- fix(mobile): first video memory on page doesn't play by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;23906](https://github.com/immich-app/immich/pull/23906)
- feat(web): show detected faces in spherical photos by [@&#8203;meesfrensel](https://github.com/meesfrensel) in [#&#8203;23974](https://github.com/immich-app/immich/pull/23974)
- fix: add users to album by [@&#8203;danieldietzler](https://github.com/danieldietzler) in [#&#8203;24133](https://github.com/immich-app/immich/pull/24133)
- fix(server): sanitize DB\_URL for pg\_dumpall to remove unknown query params by [@&#8203;lutostag](https://github.com/lutostag) in [#&#8203;23333](https://github.com/immich-app/immich/pull/23333)
- fix: use proper updatedAt value in local assets by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;24137](https://github.com/immich-app/immich/pull/24137)
- fix: albums page reactivity loops by [@&#8203;danieldietzler](https://github.com/danieldietzler) in [#&#8203;24046](https://github.com/immich-app/immich/pull/24046)
- fix: getAspectRatio fallback to db width and height by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;24131](https://github.com/immich-app/immich/pull/24131)
- fix(web): fix support & feedback modal wrapping by [@&#8203;Snowknight26](https://github.com/Snowknight26) in [#&#8203;24018](https://github.com/immich-app/immich/pull/24018)
- fix: don't get OCR data in shared link by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;24152](https://github.com/immich-app/immich/pull/24152)
- fix: duration extraction by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;24178](https://github.com/immich-app/immich/pull/24178)
- fix(ml): Upgrade ONNX Runtime to v1.22.1 to fix ROCm build failures by [@&#8203;LukaPrebil](https://github.com/LukaPrebil) in [#&#8203;24045](https://github.com/immich-app/immich/pull/24045)
- fix: update timeline-manager after archive actions by [@&#8203;midzelis](https://github.com/midzelis) in [#&#8203;24010](https://github.com/immich-app/immich/pull/24010)
- fix: theme switcher by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;24209](https://github.com/immich-app/immich/pull/24209)
- fix: label 'for' attributes in user-api-key-grid by [@&#8203;kimsey0](https://github.com/kimsey0) in [#&#8203;24232](https://github.com/immich-app/immich/pull/24232)
- fix(mobile): enable backup text overflows by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24227](https://github.com/immich-app/immich/pull/24227)
- fix(web): integrate zoom toggle button into panorama photo viewer by [@&#8203;meesfrensel](https://github.com/meesfrensel) in [#&#8203;24189](https://github.com/immich-app/immich/pull/24189)
- fix(web): use full tag path when creating nested subtags by [@&#8203;NiklasvonM](https://github.com/NiklasvonM) in [#&#8203;24249](https://github.com/immich-app/immich/pull/24249)
- fix: only generate memory based on users assets by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;24151](https://github.com/immich-app/immich/pull/24151)
- fix(mobile): docs link by [@&#8203;mmomjian](https://github.com/mmomjian) in [#&#8203;24277](https://github.com/immich-app/immich/pull/24277)
- fix(server): use bigrams for cjk by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;24285](https://github.com/immich-app/immich/pull/24285)
- fix(ml): do not upscale preview by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;24322](https://github.com/immich-app/immich/pull/24322)
- fix(web): open onboarding documentation link in new tab by [@&#8203;carbonemys](https://github.com/carbonemys) in [#&#8203;24289](https://github.com/immich-app/immich/pull/24289)
- fix(mobile): use correct timezone displayed in the info sheet by [@&#8203;kao-byte](https://github.com/kao-byte) in [#&#8203;24310](https://github.com/immich-app/immich/pull/24310)
- fix(web): folder view sort oder by [@&#8203;etnoy](https://github.com/etnoy) in [#&#8203;24337](https://github.com/immich-app/immich/pull/24337)
- fix(server): do not delete offline assets by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;24355](https://github.com/immich-app/immich/pull/24355)
- fix: exposure info and better readability by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;24344](https://github.com/immich-app/immich/pull/24344)
- fix: Adjust the zoom level by [@&#8203;jforseth210](https://github.com/jforseth210) in [#&#8203;24353](https://github.com/immich-app/immich/pull/24353)
- fix: local full sync on Android on resume by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;24348](https://github.com/immich-app/immich/pull/24348)
- fix(web): Add minimum content size to logo for consistent visual on small screens by [@&#8203;kiloomar](https://github.com/kiloomar) in [#&#8203;24372](https://github.com/immich-app/immich/pull/24372)
- fix: use adjustment time in iOS for hash reset by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;24047](https://github.com/immich-app/immich/pull/24047)
- fix(server): update exiftool-vendored to v34 for more robust metadata extraction by [@&#8203;skatsubo](https://github.com/skatsubo) in [#&#8203;24424](https://github.com/immich-app/immich/pull/24424)
- fix(mobile): cannot create album while name field is focused by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24449](https://github.com/immich-app/immich/pull/24449)
- fix(web): \[album table view] long album title overflows table row by [@&#8203;simonkub](https://github.com/simonkub) in [#&#8203;24450](https://github.com/immich-app/immich/pull/24450)
- fix(mobile): fix overflow text in backup card by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24448](https://github.com/immich-app/immich/pull/24448)
- fix(mobile): timeline bottom padding on selection by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24480](https://github.com/immich-app/immich/pull/24480)
- feat(mobile): Localized backup upload details page by [@&#8203;ArnyminerZ](https://github.com/ArnyminerZ) in [#&#8203;21136](https://github.com/immich-app/immich/pull/21136)
- fix(mobile): iOS local permission dialog extra whitespace by [@&#8203;kurtmckee](https://github.com/kurtmckee) in [#&#8203;24491](https://github.com/immich-app/immich/pull/24491)
- fix(mobile): versionStatus.message text overflow by [@&#8203;idubnori](https://github.com/idubnori) in [#&#8203;24504](https://github.com/immich-app/immich/pull/24504)
- fix(server): prevent metadata extraction failures on large video files by [@&#8203;hubert-taieb](https://github.com/hubert-taieb) in [#&#8203;24094](https://github.com/immich-app/immich/pull/24094)
- fix(web): show inferred timezone in date editor by [@&#8203;skatsubo](https://github.com/skatsubo) in [#&#8203;24513](https://github.com/immich-app/immich/pull/24513)
- fix(mobile): local videos with '#' don't play on android by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24373](https://github.com/immich-app/immich/pull/24373)
- fix: refresh appear in list after asset is added to a current or new album by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;24523](https://github.com/immich-app/immich/pull/24523)
- fix(mobile): birthday off by one day on remote by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24527](https://github.com/immich-app/immich/pull/24527)
- fix(web): download panel being hidden by admin sidebar by [@&#8203;diogotcorreia](https://github.com/diogotcorreia) in [#&#8203;24583](https://github.com/immich-app/immich/pull/24583)
- fix(web): recent search doesn't use search type by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24578](https://github.com/immich-app/immich/pull/24578)
- fix(server): only extract image's duration if format supports animation by [@&#8203;meesfrensel](https://github.com/meesfrensel) in [#&#8203;24587](https://github.com/immich-app/immich/pull/24587)
- fix(mobile): local delete missing from sheet on some routes  by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24505](https://github.com/immich-app/immich/pull/24505)
- fix(mobile): better UI for metadata panel by [@&#8203;kao-byte](https://github.com/kao-byte) in [#&#8203;24428](https://github.com/immich-app/immich/pull/24428)
- fix: shared link expiration and small styling by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;24566](https://github.com/immich-app/immich/pull/24566)
- fix: asset update race condition by [@&#8203;danieldietzler](https://github.com/danieldietzler) in [#&#8203;24384](https://github.com/immich-app/immich/pull/24384)

##### 📚 Documentation

- docs: DB\_STORAGE\_TYPE is only used by the database container by [@&#8203;dionysius](https://github.com/dionysius) in [#&#8203;24215](https://github.com/immich-app/immich/pull/24215)
- fix(docs): build `cli` for e2e tests by [@&#8203;roschaefer](https://github.com/roschaefer) in [#&#8203;24184](https://github.com/immich-app/immich/pull/24184)
- docs(faq): add more info on archiving by [@&#8203;etnoy](https://github.com/etnoy) in [#&#8203;24326](https://github.com/immich-app/immich/pull/24326)
- fix(docs): server and machine-learning use IMMICH\_HOST and IMMICH\_PORT by [@&#8203;dionysius](https://github.com/dionysius) in [#&#8203;24335](https://github.com/immich-app/immich/pull/24335)
- fix: prevent OOM on nginx reverse proxy servers by [@&#8203;NicholasFlamy](https://github.com/NicholasFlamy) in [#&#8203;24351](https://github.com/immich-app/immich/pull/24351)
- fix(docs): obsolete docs about rootless docker by [@&#8203;roschaefer](https://github.com/roschaefer) in [#&#8203;24376](https://github.com/immich-app/immich/pull/24376)
- fix(docs): websockets in nginx example by [@&#8203;fourthwall](https://github.com/fourthwall) in [#&#8203;24411](https://github.com/immich-app/immich/pull/24411)
- fix(docs): slow upload speed with example nginx reverse proxy config by [@&#8203;goalie2002](https://github.com/goalie2002) in [#&#8203;24490](https://github.com/immich-app/immich/pull/24490)
- fix(docs): typo in maintenance mode command by [@&#8203;bartvanvelden](https://github.com/bartvanvelden) in [#&#8203;24518](https://github.com/immich-app/immich/pull/24518)

##### 🌐 Translations

- chore: add new language requests by [@&#8203;danieldietzler](https://github.com/danieldietzler) in [#&#8203;23991](https://github.com/immich-app/immich/pull/23991)
- chore(web): update translations by [@&#8203;weblate](https://github.com/weblate) in [#&#8203;24004](https://github.com/immich-app/immich/pull/24004)

#### New Contributors

- [@&#8203;ujjwal123123](https://github.com/ujjwal123123) made their first contribution in [#&#8203;24101](https://github.com/immich-app/immich/pull/24101)
- [@&#8203;lutostag](https://github.com/lutostag) made their first contribution in [#&#8203;23333](https://github.com/immich-app/immich/pull/23333)
- [@&#8203;LukaPrebil](https://github.com/LukaPrebil) made their first contribution in [#&#8203;24045](https://github.com/immich-app/immich/pull/24045)
- [@&#8203;kimsey0](https://github.com/kimsey0) made their first contribution in [#&#8203;24232](https://github.com/immich-app/immich/pull/24232)
- [@&#8203;SaphuA](https://github.com/SaphuA) made their first contribution in [#&#8203;24240](https://github.com/immich-app/immich/pull/24240)
- [@&#8203;dionysius](https://github.com/dionysius) made their first contribution in [#&#8203;24215](https://github.com/immich-app/immich/pull/24215)
- [@&#8203;NiklasvonM](https://github.com/NiklasvonM) made their first contribution in [#&#8203;24249](https://github.com/immich-app/immich/pull/24249)
- [@&#8203;kao-byte](https://github.com/kao-byte) made their first contribution in [#&#8203;24098](https://github.com/immich-app/immich/pull/24098)
- [@&#8203;carbonemys](https://github.com/carbonemys) made their first contribution in [#&#8203;24289](https://github.com/immich-app/immich/pull/24289)
- [@&#8203;kiloomar](https://github.com/kiloomar) made their first contribution in [#&#8203;24372](https://github.com/immich-app/immich/pull/24372)
- [@&#8203;fourthwall](https://github.com/fourthwall) made their first contribution in [#&#8203;24411](https://github.com/immich-app/immich/pull/24411)
- [@&#8203;simonkub](https://github.com/simonkub) made their first contribution in [#&#8203;24450](https://github.com/immich-app/immich/pull/24450)
- [@&#8203;ArnyminerZ](https://github.com/ArnyminerZ) made their first contribution in [#&#8203;21136](https://github.com/immich-app/immich/pull/21136)
- [@&#8203;kurtmckee](https://github.com/kurtmckee) made their first contribution in [#&#8203;24491](https://github.com/immich-app/immich/pull/24491)
- [@&#8203;hubert-taieb](https://github.com/hubert-taieb) made their first contribution in [#&#8203;24094](https://github.com/immich-app/immich/pull/24094)
- [@&#8203;bartvanvelden](https://github.com/bartvanvelden) made their first contribution in [#&#8203;24518](https://github.com/immich-app/immich/pull/24518)

**Full Changelog**: <https://github.com/immich-app/immich/compare/v2.3.1...v2.4.0>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4zOS4xIiwidXBkYXRlZEluVmVyIjoiNDIuMzkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->

Reviewed-on: #2736
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2025-12-20 01:16:34 +00:00
451793e158 Update volsync-target Docker tag to v0.6.0 (#2695)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 35s
renovate / renovate (push) Successful in 1m24s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [volsync-target](https://github.com/backube/volsync) | minor | `0.5.0` -> `0.6.0` |

---

### Release Notes

<details>
<summary>backube/volsync (volsync-target)</summary>

### [`v0.6.0`](https://github.com/backube/volsync/blob/HEAD/CHANGELOG.md#060)

[Compare Source](https://github.com/backube/volsync/compare/v0.5.0...v0.6.0)

##### Added

- restic - allow passing in GOOGLE\_APPLICATION\_CREDENTIALS as a file

##### Changed

- ⚠️ Breaking change ⚠️ - Helm chart now manages VolSync CRDs
  directly.\
  Upgrading the VolSync Helm chart from an earlier version will produce the
  following error:

  ```
  Error: UPGRADE FAILED: rendered manifests contain a resource that already exists. Unable to continue with update: CustomResourceDefinition "replicationdestinations.volsync.backube" in namespace "" exists and cannot be imported into the current release: invalid ownership metadata; label validation error: missing key "app.kubernetes.io/managed-by": must be set to "Helm"; annotation validation error: missing key "meta.helm.sh/release-name": must be set to "volsync"; annotation validation error: missing key "meta.helm.sh/release-namespace": must be set to "volsync-system"
  ```

  To fix, apply the missing labels and annotations as mentioned in the error
  message (your values may differ), then retry the upgrade:

  ```console
  $ kubectl label crd/replicationdestinations.volsync.backube app.kubernetes.io/managed-by=Helm
  customresourcedefinition.apiextensions.k8s.io/replicationdestinations.volsync.backube labeled
  $ kubectl label crd/replicationsources.volsync.backube app.kubernetes.io/managed-by=Helm
  customresourcedefinition.apiextensions.k8s.io/replicationsources.volsync.backube labeled
  $ kubectl annotate crd/replicationdestinations.volsync.backube meta.helm.sh/release-name=volsync
  customresourcedefinition.apiextensions.k8s.io/replicationdestinations.volsync.backube annotated
  $ kubectl annotate crd/replicationsources.volsync.backube meta.helm.sh/release-name=volsync
  customresourcedefinition.apiextensions.k8s.io/replicationsources.volsync.backube annotated
  $ kubectl annotate crd/replicationdestinations.volsync.backube meta.helm.sh/release-namespace=volsync-system
  customresourcedefinition.apiextensions.k8s.io/replicationdestinations.volsync.backube annotated
  $ kubectl annotate crd/replicationsources.volsync.backube meta.helm.sh/release-namespace=volsync-system
  customresourcedefinition.apiextensions.k8s.io/replicationsources.volsync.backube annotated
  ```

- VolSync privileged mover SCC installed at startup on OpenShift

- Syncthing upgraded to 1.22.1

- Updates to build with golang 1.19

##### Fixed

- ReplicationSource fixes for rsync, rclone and restic to enable mounting
  ROX source PVCs as read-only

##### Security

- rclone mover updated to run with reduced privileges by default
- restic mover updated to run with reduced privileges by default
- syncthing mover updated to run with reduced privileges by default
- kube-rbac-proxy upgraded to 0.13.1

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4zOS4xIiwidXBkYXRlZEluVmVyIjoiNDIuMzkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->

Reviewed-on: #2695
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2025-12-18 03:21:13 +00:00
e271c72649 Update postgres-cluster Docker tag to v7.1.3 (#2657)
Some checks failed
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 20s
renovate / renovate (push) Has been cancelled
2025-12-17 16:14:03 +00:00
25b80129c4 fix
All checks were successful
lint-test-helm / lint-helm (push) Successful in 8s
render-manifests-push / render-manifests-push (push) Successful in 23s
renovate / renovate (push) Successful in 3m0s
2025-12-16 22:53:20 -06:00
018de589be replace with chart
Some checks failed
lint-test-helm / lint-helm (push) Successful in 10s
render-manifests-push / render-manifests-push (push) Successful in 36s
renovate / renovate (push) Has been cancelled
2025-12-16 22:51:23 -06:00
92b1b22c1e update chart
All checks were successful
lint-test-helm / lint-helm (push) Successful in 35s
renovate / renovate (push) Successful in 1m21s
render-manifests-push / render-manifests-push (push) Successful in 2m28s
2025-12-15 15:42:08 -06:00
036d92e522 replace with chart
All checks were successful
lint-test-helm / lint-helm (push) Successful in 36s
render-manifests-push / render-manifests-push (push) Successful in 1m16s
renovate / renovate (push) Successful in 1m57s
2025-12-15 13:00:08 -06:00
0a9f0e12c3 migrate and backup data
All checks were successful
lint-test-helm / lint-helm (push) Successful in 11s
render-manifests-push / render-manifests-push (push) Successful in 22s
renovate / renovate (push) Successful in 2m2s
2025-12-11 22:53:11 -06:00
e4abc305ff swap storage
All checks were successful
lint-test-helm / lint-helm (push) Successful in 13s
renovate / renovate (push) Successful in 1m9s
render-manifests-push / render-manifests-push (push) Successful in 20s
2025-12-11 22:32:43 -06:00
c8b968576b create local pvc
All checks were successful
lint-test-helm / lint-helm (push) Successful in 10s
render-manifests-push / render-manifests-push (push) Successful in 37s
renovate / renovate (push) Successful in 1m42s
2025-12-11 22:24:06 -06:00
2477ab6a73 remove old cluster
All checks were successful
lint-test-helm / lint-helm (push) Successful in 13s
render-manifests-push / render-manifests-push (push) Successful in 50s
renovate / renovate (push) Successful in 1m22s
2025-12-11 21:59:37 -06:00
4e32439181 change route
All checks were successful
lint-test-helm / lint-helm (push) Successful in 14s
render-manifests-push / render-manifests-push (push) Successful in 25s
renovate / renovate (push) Successful in 1m19s
2025-12-11 21:58:11 -06:00
a15ddde1d3 upgrade redis
All checks were successful
lint-test-helm / lint-helm (push) Successful in 13s
render-manifests-push / render-manifests-push (push) Successful in 23s
renovate / renovate (push) Successful in 1m36s
2025-12-11 21:53:37 -06:00
785e2a7320 remove machine learning
Some checks failed
lint-test-helm / lint-helm (push) Successful in 17s
render-manifests-push / render-manifests-push (push) Successful in 26s
renovate / renovate (push) Has been cancelled
2025-12-11 21:52:27 -06:00
9fb8ef9fd1 switchover
All checks were successful
lint-test-helm / lint-helm (push) Successful in 12s
render-manifests-push / render-manifests-push (push) Successful in 23s
renovate / renovate (push) Successful in 1m58s
2025-12-11 21:48:04 -06:00
a0c6bf5981 add new cluster
All checks were successful
lint-test-helm / lint-helm (push) Successful in 12s
render-manifests-push / render-manifests-push (push) Successful in 22s
renovate / renovate (push) Successful in 1m10s
2025-12-11 21:42:30 -06:00
2cf3152190 Update Helm release app-template to v4.5.0 (#2270)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 16s
renovate / renovate (push) Successful in 1m5s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [app-template](https://github.com/bjw-s-labs/helm-charts) | minor | `4.4.0` -> `4.5.0` |

---

### Release Notes

<details>
<summary>bjw-s-labs/helm-charts (app-template)</summary>

### [`v4.5.0`](https://github.com/bjw-s-labs/helm-charts/releases/tag/app-template-4.5.0)

[Compare Source](https://github.com/bjw-s-labs/helm-charts/compare/app-template-4.4.0...app-template-4.5.0)

##### Changelog:

##### Changed

- Upgraded the common library to v4.5.0
  - [Upgrade notes](https://bjw-s-labs.github.io/helm-charts/docs/app-template/upgrade-instructions/)
  - [Detailed release notes](https://github.com/bjw-s-labs/helm-charts/releases/tag/common-4.5.0)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi41LjAiLCJ1cGRhdGVkSW5WZXIiOiI0Mi41LjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImNoYXJ0Il19-->

Reviewed-on: #2270
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2025-12-05 21:07:08 +00:00
bb1e86a9ce Update postgres-cluster Docker tag to v6.16.1 (#2237)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / helm-lint (push) Successful in 10s
renovate / renovate (push) Successful in 2m0s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [postgres-cluster](https://github.com/cloudnative-pg/cloudnative-pg) | patch | `6.16.0` -> `6.16.1` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi41LjAiLCJ1cGRhdGVkSW5WZXIiOiI0Mi41LjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImF1dG9tZXJnZSIsImltYWdlIl19-->

Reviewed-on: #2237
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2025-12-04 00:28:30 +00:00
3e90af0eb5 migrate
All checks were successful
lint-test-helm / helm-lint (push) Successful in 10s
render-manifests / render-manifests-helm (push) Successful in 1m18s
renovate / renovate (push) Successful in 1m19s
2025-12-01 19:47:11 -06:00
4a30f53bd2 remove charts to prep for migration
Some checks failed
lint-test-helm / helm-lint (push) Successful in 28s
renovate / renovate (push) Has been cancelled
2025-12-01 15:05:25 -06:00
6e613e1e65 add chart lock
Some checks failed
lint-test-helm / helm-lint (push) Successful in 7s
render-manifests / render-manifests-helm (push) Failing after 36s
renovate / renovate (push) Successful in 1m13s
2025-11-30 21:14:57 -06:00
e102d910bc add render manifest workflow
Some checks failed
lint-test-helm / helm-lint (push) Successful in 9s
render-manifests / render-manifests-helm (push) Failing after 30s
renovate / renovate (push) Successful in 2m6s
2025-11-29 21:41:00 -06:00