feat: Add AI-driven auto-update & restructure into package
The monolithic check_updates.py has been split into the update_monitor/ package with separate modules for fetching, extraction, comparison, classification, and notification. This makes the codebase easier to navigate and test. The flat services.yaml is replaced by per-service directories under services/<name>/config.yaml, co-locating config with update scripts and AI review examples. When --auto-update is enabled, services with an auto-update.sh script get their release notes classified by a local Ollama model (using few-shot examples from review-examples/) to decide whether the update can be applied automatically or needs manual admin intervention. Results are reported in a single consolidated Matrix message. Immich is the first service with auto-update configured, using 7 real release note examples to train the classifier.
This commit is contained in:
parent
f52ff222f0
commit
f55f3d8e91
36 changed files with 2612 additions and 821 deletions
10
services/firefox-sync/config.yaml
Normal file
10
services/firefox-sync/config.yaml
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
name: Firefox Sync
|
||||
base_url: https://fxsync.jeena.net/
|
||||
current_version_url: https://fxsync.jeena.net/__heartbeat__
|
||||
current_version_extract:
|
||||
type: jsonpath
|
||||
value: $.version
|
||||
upstream_latest_version_url: https://api.github.com/repos/mozilla-services/syncstorage-rs/releases/latest
|
||||
upstream_latest_extract:
|
||||
type: jsonpath
|
||||
value: $.tag_name
|
||||
19
services/freshrss/config.yaml
Normal file
19
services/freshrss/config.yaml
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
name: FreshRSS
|
||||
base_url: https://rss.jeena.net/
|
||||
current_version_url: https://rss.jeena.net/i/?a=about
|
||||
current_version_extract:
|
||||
type: regex
|
||||
value: FreshRSS version</dt>\s*<dd>([0-9.]+)</dd>
|
||||
login:
|
||||
url: https://rss.jeena.net/i/?c=auth&a=login
|
||||
username_env: FRESHRSS_USERNAME
|
||||
password_env: FRESHRSS_PASSWORD
|
||||
username_field: username
|
||||
password_field: password
|
||||
crypto: true
|
||||
nonce_url: https://rss.jeena.net/i/?c=javascript&a=nonce&user=
|
||||
upstream_latest_version_url: https://api.github.com/repos/FreshRSS/FreshRSS/releases/latest
|
||||
upstream_latest_extract:
|
||||
type: jsonpath
|
||||
value: $.tag_name
|
||||
notes: Version scraped from About page after login.
|
||||
10
services/grafana/config.yaml
Normal file
10
services/grafana/config.yaml
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
name: Grafana
|
||||
base_url: https://monitoring.bundang.swierczyniec.info/
|
||||
current_version_url: https://monitoring.bundang.swierczyniec.info/api/health
|
||||
current_version_extract:
|
||||
type: jsonpath
|
||||
value: $.version
|
||||
upstream_latest_version_url: https://api.github.com/repos/grafana/grafana/releases/latest
|
||||
upstream_latest_extract:
|
||||
type: jsonpath
|
||||
value: $.tag_name
|
||||
6
services/immich/auto-update.sh
Executable file
6
services/immich/auto-update.sh
Executable file
|
|
@ -0,0 +1,6 @@
|
|||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
NEW_VERSION="$2"
|
||||
|
||||
/home/jeena/Projects/immich-app/upgrade.sh "$NEW_VERSION"
|
||||
11
services/immich/config.yaml
Normal file
11
services/immich/config.yaml
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
name: Immich
|
||||
base_url: https://photos.bundang.swierczyniec.info/
|
||||
current_version_url: https://photos.bundang.swierczyniec.info/api/server/version
|
||||
current_version_extract:
|
||||
type: jsonpath_join
|
||||
value: $.major, $.minor, $.patch
|
||||
upstream_latest_version_url: https://api.github.com/repos/immich-app/immich/releases/latest
|
||||
upstream_latest_extract:
|
||||
type: jsonpath
|
||||
value: $.tag_name
|
||||
notes: Version exposed as major/minor/patch fields.
|
||||
190
services/immich/review-examples/auto-1.txt
Normal file
190
services/immich/review-examples/auto-1.txt
Normal file
|
|
@ -0,0 +1,190 @@
|
|||
action: auto
|
||||
reason: Feature and bug fix release. The note about v3.0.0 upcoming changes refers to a future release, not this one. No migration or manual action required for this update.
|
||||
---
|
||||
# v2.7.0
|
||||
|
||||
Welcome to Immich `v2.7.0`!
|
||||
|
||||
This release includes enhancements to the asset viewer, security improvements, changes to the duplicate APIs and viewer, and a bunch of bug fixes. Keep reading below for the complete highlights and a note on the upcoming `v3.0.0` release.
|
||||
|
||||
> [!NOTE]
|
||||
> We're working on a managed backup service for Immich with end-to-end encrypted backups of your library to a remote datacentre where only you hold the keys.
|
||||
>
|
||||
> We've put together a quick survey (~5 mins) to get a better idea of how you're backing things up today and what you'd actually want from something like this. Your answers help us figure out what to prioritise, so we'd really appreciate it if you took a few minutes to fill it out.
|
||||
>
|
||||
> Leave your email at the end if you're interested in joining our free closed beta when it's ready.
|
||||
>
|
||||
> https://futo-backups-survey.immich.app/
|
||||
|
||||
## Known limitations
|
||||
* The machine learning service on `amd64` currently requires the `>= x86-64-v2` microarchitecture. This will be patched in an upcoming patch release for backward compatibility with very old processors (before ~2010), but it will become a minimum requirement in 3.0. `arm64` is not affected by this change.
|
||||
|
||||
## Highlights
|
||||
|
||||
* Remove from album (asset viewer)
|
||||
* Move to locked folder (folder page)
|
||||
* Editor shortcuts
|
||||
* Create a new face on-the-fly in the face tag editor
|
||||
* Resolve duplicates
|
||||
* Helmet configuration
|
||||
* Version check infrastructure
|
||||
* Notable fix: live photo and video download in Safari
|
||||
* Notable fix: escape HTML in the Panorama Photo Viewer
|
||||
|
||||
### Remove from album
|
||||
|
||||
The web has a new action, "Remove from album," available in the asset viewer that makes it easier to remove an asset from an album. This action is available to both album and asset owners.
|
||||
|
||||
<img width="360" height="202" alt="image" src="https://github.com/user-attachments/assets/e5facb24-ed10-4adc-957a-37147cca5634" />
|
||||
|
||||
|
||||
### Move to locked folder in the Folder view
|
||||
|
||||
Similarly, the folder view now includes the "Move to locked folder" action.
|
||||
|
||||
<img width="1900" height="762" alt="image" src="https://github.com/user-attachments/assets/c39e792b-81da-4c31-a23f-03f96853fe8e" />
|
||||
|
||||
### Editor shortcuts
|
||||
|
||||
Users on the web can now edit with keyboard shortcuts. Press `e` to open the editor. Once in the editor, press `[` or `]` to rotate the asset +/- 90 degrees. Finally, save any changes and close the editor with `ENTER`.
|
||||
|
||||
https://github.com/user-attachments/assets/969de104-b02d-41a6-830b-3e1a49541d14
|
||||
|
||||
|
||||
|
||||
### Create a new face on-the-fly in the face tag editor
|
||||
|
||||
You can now create a new face/person on the fly from the face tagging editor interface
|
||||
|
||||
<img width="350" alt="image" src="https://github.com/user-attachments/assets/c39db0e3-da47-4421-9040-5f51650deee9" />
|
||||
|
||||
<img width="350" alt="image" src="https://github.com/user-attachments/assets/0c81a1ee-c54e-4167-9dff-95719fe44595" />
|
||||
|
||||
|
||||
|
||||
### Deduplication improvements
|
||||
|
||||
The duplicate screen has gone through a bunch of iterations since it was first introduced all the way back in May, 2024. The latest release moves a bunch of logic from the client to the server, which now automatically suggests which asset to keep based on image size and EXIF data. Additionally, the new server implementation will automatically synchronize metadata, including albums, favorite status, rating, description, visibility, location, and tags. For more information about this process, see the new [documentation](https://docs.immich.app/features/duplicates-utility).
|
||||
|
||||
### Helmet configuration
|
||||
|
||||
You can now opt in to using a [Content Security Policy (CSP)](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CSP) in Immich. The new environment variant `IMMICH_HELMET_FILE` accepts a boolean or a path to a [helmet](https://helmetjs.github.io/) configuration file.
|
||||
|
||||
**Recommend action:** The team recommends setting `IMMICH_HELMET_FILE=true` to enable the default policy. Then, please let us know if you run into any issues with it.
|
||||
|
||||
#### Background and details
|
||||
|
||||
Since Immich is deployed in so many different ways, it has been hard to figure out how to enable a CSP that would not conflict with or break existing installs that might use 3rd party map providers, custom CSS, embed Immich in an iframe, or other such features. In this release, we have added the ability to both opt in to a default policy and configure a custom one. To use the default policy, simply set the environment variable `IMMICH_HELMET_FILE=true`. To use a custom policy, set the environment variable to a path on disk (within the immich-server) that contains a valid helmet configuration (e.g. `IMMICH_HELMET_FILE=/opt/immich/helmet.json`). CSP can be used to control what scripts are allowed to run on the page, which domains to load images from, etc. Additionally, it can be used to configure headers for [Referrer-Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Referrer-Policy), [X-Powered-By](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/X-Powered-By), [X-Frame-Options](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/X-Frame-Options), and others.
|
||||
|
||||
### New version check infrastructure
|
||||
|
||||
Prior to this release, instances that used the automatic version check feature would send HTTP requests to `github.com`. Now, we have set up a small service at `version.immich.cloud` to handle these types of requests. This avoids any privacy implications of connecting to `github.com` , as well as moves the request load to our own infrastructure.
|
||||
|
||||
### Notable fix: live photo and video download in Safari
|
||||
|
||||
When downloading files in Safari with the same name, it will simply overwrite the file instead of automatically renaming it. In this release, the still and motion parts of a live photo are now named differently to prevent this from happening.
|
||||
|
||||
### Notable fix: escape HTML in panorama photo viewer
|
||||
|
||||
In `v2.6.0`, we added the ability to show/view clip text in the panorama viewer, but introduced an XSS vulnerability, which has been fixed in this release. Interestingly, this was XSS using text in the image, which would then get read by OCR.
|
||||
|
||||
### Notable fix: Immich User Agent for external requests
|
||||
|
||||
Similar to the mobile app, the server now sends a custom [User Agent](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/User-Agent) header. The format for the User Agent is `immich-server/{version}`. For example, `immich-server/2.7.0`.
|
||||
|
||||
## `v3.0.0`
|
||||
|
||||
Just a heads up that this is the likely to be the last release before `v3.0.0`. Being a major release there will be a handful of breaking changes, *although it's worth noting that nothing is currently planned that requires user intervention*. It is mainly changes that impact 3rd party developers. More information and details should be available in the coming weeks.
|
||||
|
||||
## 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 v2.7.0 -->
|
||||
|
||||
## What's Changed
|
||||
### 🚀 Features
|
||||
* feat: add support for helmet configuration by @jrasm91 in https://github.com/immich-app/immich/pull/27058
|
||||
* feat: create new person in face editor by @alextran1502 in https://github.com/immich-app/immich/pull/27364
|
||||
### 🌟 Enhancements
|
||||
* feat(web): add a seperate tooltip for switching from dark to light mode by @Vogeluff in https://github.com/immich-app/immich/pull/27297
|
||||
* feat(web): focus on face-editor search input by @cratoo in https://github.com/immich-app/immich/pull/27136
|
||||
* feat(web): add RemoveFromAlbumAction to asset viewer nav bar by @timonrieger in https://github.com/immich-app/immich/pull/27000
|
||||
* feat(web): add shortcuts to rotate images by @squishykid in https://github.com/immich-app/immich/pull/26927
|
||||
* feat(server): add checksum algorithm field by @etnoy in https://github.com/immich-app/immich/pull/26573
|
||||
* feat(server): resolve duplicates by @Phlogi in https://github.com/immich-app/immich/pull/25316
|
||||
* chore(mobile): reduce spacing on video controls by @uhthomas in https://github.com/immich-app/immich/pull/27313
|
||||
* perf(server): optimize people page query by @ffchung in https://github.com/immich-app/immich/pull/27346
|
||||
* feat(web): dim photo outside hovered face bounding box by @midzelis in https://github.com/immich-app/immich/pull/27402
|
||||
* feat(web): OCR overlay interactivity during zoom by @midzelis in https://github.com/immich-app/immich/pull/27039
|
||||
* feat: add move to lock folder in folder view by @alextran1502 in https://github.com/immich-app/immich/pull/27384
|
||||
* feat(web): highlight active person thumbnail in detail panel and edit faces panel by @midzelis in https://github.com/immich-app/immich/pull/27401
|
||||
* feat: move version checks to our own infrastructure by @zackpollard in https://github.com/immich-app/immich/pull/27450
|
||||
* feat: add preview button when selecting images by @johnmaguire in https://github.com/immich-app/immich/pull/27305
|
||||
* fix: user-agent format by @jrasm91 in https://github.com/immich-app/immich/pull/27488
|
||||
* chore(mobile): reduce buffering timer duration by @uhthomas in https://github.com/immich-app/immich/pull/27111
|
||||
* fix(mobile): use key on video controls by @uhthomas in https://github.com/immich-app/immich/pull/27512
|
||||
* feat(server): Add support for .ts files by @ray in https://github.com/immich-app/immich/pull/27529
|
||||
### 🐛 Bug fixes
|
||||
* fix(server): refresh unedited asset dimensions on metadata extraction by @michelheusschen in https://github.com/immich-app/immich/pull/27220
|
||||
* fix(server): memory fragmentation by @mertalev in https://github.com/immich-app/immich/pull/27027
|
||||
* fix(database restores): don't assume onboarding has completed by @insertish in https://github.com/immich-app/immich/pull/27052
|
||||
* fix(web): preserve timezone when changing timestamp (Closes #25354) by @updatemike in https://github.com/immich-app/immich/pull/27095
|
||||
* fix: various command palette usages by @danieldietzler in https://github.com/immich-app/immich/pull/27304
|
||||
* fix(web): keep map view open after closing asset viewer by @diiogofer in https://github.com/immich-app/immich/pull/26980
|
||||
* fix(web): prevent Safari from overwriting live photo image with video by @saurav61091 in https://github.com/immich-app/immich/pull/26898
|
||||
* fix(mobile): video icon not showing on memories by @YarosMallorca in https://github.com/immich-app/immich/pull/27311
|
||||
* fix(mobile): mismatch between system and app color when using low-chroma system color scheme by @putuprema in https://github.com/immich-app/immich/pull/27282
|
||||
* fix(mobile): images loads sometimes cancel too early by @LeLunZ in https://github.com/immich-app/immich/pull/27067
|
||||
* fix(mobile): streamline error handling for live photo saving by @LeLunZ in https://github.com/immich-app/immich/pull/27337
|
||||
* fix(web): keep upload totals stable when dismissing items (#27247) by @Nicolas-micuda-becker in https://github.com/immich-app/immich/pull/27354
|
||||
* fix(mobile): low upload timeout on android by @mertalev in https://github.com/immich-app/immich/pull/27399
|
||||
* fix(web): add drop shadow to asset viewer nav bar and prevent button shrinking by @midzelis in https://github.com/immich-app/immich/pull/27404
|
||||
* fix(mobile): favorite button not updating state by @YarosMallorca in https://github.com/immich-app/immich/pull/27271
|
||||
* fix: detection of WebM container by @chanb22 in https://github.com/immich-app/immich/pull/24182
|
||||
* fix(web): prevent AssetUpdate from adding unrelated timeline assets by @michelheusschen in https://github.com/immich-app/immich/pull/27369
|
||||
* fix: withFilePath select edited or unedited file by @bwees in https://github.com/immich-app/immich/pull/27328
|
||||
* fix(web): Enable stack selector in shared album view by @timonrieger in https://github.com/immich-app/immich/pull/24641
|
||||
* fix(server): use substring matching for person name search by @okxint in https://github.com/immich-app/immich/pull/26903
|
||||
* fix: escape html by @jrasm91 in https://github.com/immich-app/immich/pull/27469
|
||||
* fix(mobile): ignore pointer events on toasts by @uhthomas in https://github.com/immich-app/immich/pull/26990
|
||||
* fix(mobile): reset video controls hide timer when showing controls ch… by @uhthomas in https://github.com/immich-app/immich/pull/26985
|
||||
* fix(mobile): don't update search filters in-place by @uhthomas in https://github.com/immich-app/immich/pull/26965
|
||||
* fix(web): isFullScreen initial value check is incorrect by @midzelis in https://github.com/immich-app/immich/pull/27520
|
||||
* fix(mobile): transparent system navbar when trash bottom bar is visible by @putuprema in https://github.com/immich-app/immich/pull/27093
|
||||
* fix: timestamp handling for database backup in Web UI by @AfonsoMendoncaRibeiro in https://github.com/immich-app/immich/pull/27359
|
||||
* fix: allow bots to access /s/ urls by @domints in https://github.com/immich-app/immich/pull/27579
|
||||
### 📚 Documentation
|
||||
* feat(docs): add keycloack example to oauth docs by @robson90 in https://github.com/immich-app/immich/pull/27425
|
||||
### 🌐 Translations
|
||||
* chore(web): update translations by @weblate in https://github.com/immich-app/immich/pull/27029
|
||||
* chore(web): update translations by @weblate in https://github.com/immich-app/immich/pull/27483
|
||||
|
||||
## New Contributors
|
||||
* @Vogeluff made their first contribution in https://github.com/immich-app/immich/pull/27297
|
||||
* @updatemike made their first contribution in https://github.com/immich-app/immich/pull/27095
|
||||
* @diiogofer made their first contribution in https://github.com/immich-app/immich/pull/26980
|
||||
* @squishykid made their first contribution in https://github.com/immich-app/immich/pull/26927
|
||||
* @Phlogi made their first contribution in https://github.com/immich-app/immich/pull/25316
|
||||
* @saurav61091 made their first contribution in https://github.com/immich-app/immich/pull/26898
|
||||
* @putuprema made their first contribution in https://github.com/immich-app/immich/pull/27282
|
||||
* @ffchung made their first contribution in https://github.com/immich-app/immich/pull/27346
|
||||
* @chanb22 made their first contribution in https://github.com/immich-app/immich/pull/24182
|
||||
* @robson90 made their first contribution in https://github.com/immich-app/immich/pull/27425
|
||||
* @okxint made their first contribution in https://github.com/immich-app/immich/pull/26903
|
||||
* @johnmaguire made their first contribution in https://github.com/immich-app/immich/pull/27305
|
||||
* @ray made their first contribution in https://github.com/immich-app/immich/pull/27529
|
||||
* @AfonsoMendoncaRibeiro made their first contribution in https://github.com/immich-app/immich/pull/27359
|
||||
* @domints made their first contribution in https://github.com/immich-app/immich/pull/27579
|
||||
|
||||
**Full Changelog**: https://github.com/immich-app/immich/compare/v2.6.3...v2.7.0
|
||||
43
services/immich/review-examples/auto-2.txt
Normal file
43
services/immich/review-examples/auto-2.txt
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
action: auto
|
||||
reason: Pure bug fix release. No new features, no breaking changes, no migrations required.
|
||||
---
|
||||
# v2.6.2
|
||||
|
||||
This release addresses the following issues
|
||||
|
||||
- Fixed a bug where the shared link would error out when public users upload to the shared link
|
||||
- Fixed a bug where the URL switching feature doesn't work with external URLs
|
||||
- Fixed a bug where the "add to album" selection box on the web doesn't include albums that are shared with the user
|
||||
- Fixed several issues regarding the search filter on the mobile app and the web
|
||||
|
||||
|
||||
<!-- Release notes generated using configuration in .github/release.yml at v2.6.2 -->
|
||||
|
||||
## What's Changed
|
||||
### 🐛 Bug fixes
|
||||
* fix(mobile): simplified chinese not available by @YarosMallorca in https://github.com/immich-app/immich/pull/27066
|
||||
* fix(web): allow showing combobox items outside modals by @michelheusschen in https://github.com/immich-app/immich/pull/27075
|
||||
* fix(web): preserve album scroll when adding to other albums by @michelheusschen in https://github.com/immich-app/immich/pull/27078
|
||||
* fix(server): queue version check job when config changed by @uhthomas in https://github.com/immich-app/immich/pull/27094
|
||||
* fix: shared link add to album by @jrasm91 in https://github.com/immich-app/immich/pull/27063
|
||||
* fix: svelte reactivity issues by @danieldietzler in https://github.com/immich-app/immich/pull/27109
|
||||
* fix(mobile): cronet image cache clearing on android by @LeLunZ in https://github.com/immich-app/immich/pull/27054
|
||||
* fix(mobile): view similar photos from search by @YarosMallorca in https://github.com/immich-app/immich/pull/27149
|
||||
* fix(mobile): no results before applying filter by @YarosMallorca in https://github.com/immich-app/immich/pull/27155
|
||||
* fix(mobile): star rating always defaults to 0 by @YarosMallorca in https://github.com/immich-app/immich/pull/27157
|
||||
* fix: download original stale cache when edited by @danieldietzler in https://github.com/immich-app/immich/pull/27195
|
||||
* fix(web): restore duplicate viewer arrow key navigation by @michelheusschen in https://github.com/immich-app/immich/pull/27176
|
||||
* fix(web): update upload summary when removing items (#27035) by @Nicolas-micuda-becker in https://github.com/immich-app/immich/pull/27139
|
||||
* fix(mobile): option padding on search dropdowns by @YarosMallorca in https://github.com/immich-app/immich/pull/27154
|
||||
* fix(mobile): add keys to people list by @YarosMallorca in https://github.com/immich-app/immich/pull/27112
|
||||
* fix(mobile): add cookie for auxiliary url by @mertalev in https://github.com/immich-app/immich/pull/27209
|
||||
* fix: album picker show all albums by @danieldietzler in https://github.com/immich-app/immich/pull/27211
|
||||
* fix(server): album permissions for editors by @YarosMallorca in https://github.com/immich-app/immich/pull/27214
|
||||
* fix(mobile/web): album cover buttons consistency by @YarosMallorca in https://github.com/immich-app/immich/pull/27213
|
||||
### 📚 Documentation
|
||||
* fix(docs): clarify ML CPU architecture by @mmomjian in https://github.com/immich-app/immich/pull/27187
|
||||
|
||||
## New Contributors
|
||||
* @Nicolas-micuda-becker made their first contribution in https://github.com/immich-app/immich/pull/27139
|
||||
|
||||
**Full Changelog**: https://github.com/immich-app/immich/compare/v2.6.1...v2.6.2
|
||||
339
services/immich/review-examples/auto-3.txt
Normal file
339
services/immich/review-examples/auto-3.txt
Normal file
|
|
@ -0,0 +1,339 @@
|
|||
action: auto
|
||||
reason: Feature release. The warning about removing the old timeline applies to the next release, not this one. Users can still switch to the new timeline before the next update.
|
||||
---
|
||||
# v2.6.0
|
||||
|
||||
Welcome to Immich `v2.6.0`, This release is a collection of more than _350 commits over 6 weeks_. I know, it is an eternity between releases compared to our previous era. This version focuses on bug fixes and enhancements across the app to provide a more delightful and smoother experience to you. This release also prepares for the next major release in the coming month, which will remove the old timeline implementation. Let's dive into the highlights of the release:
|
||||
|
||||
> [!WARNING]
|
||||
> For those who are still using the old timeline, please switch to the new timeline to avoid interruption, as the old timeline will be removed in the next release.
|
||||
>
|
||||
> ps: The old timeline has an exclamation icon next to the logo.
|
||||
> <img width="525" height="120" alt="image" src="https://github.com/user-attachments/assets/ed36ea22-b16e-472f-961c-c19501712ba5" />
|
||||
|
||||
|
||||
# Highlights
|
||||
|
||||
* Map side panel (web)
|
||||
* Pick album cover (mobile)
|
||||
* Shared link slugs (mobile)
|
||||
* Shared link presets (web)
|
||||
* Native HTTP clients (mobile)
|
||||
* Video player and asset viewer improvements (mobile)
|
||||
* Improved search results (mobile)
|
||||
* `schema-check`: a new `immich-admin` command
|
||||
* Read profile claims from ID token (OAuth)
|
||||
* Notable fix: cast videos now automatically loop
|
||||
* Notable fix: correctly extract make and model from Sony XAVC video files
|
||||
* Notable fix: escape key handling on web
|
||||
* Notable fix: healthcheck endpoint in maintenance mode
|
||||
* Notable fix: timeline rendering for RTL languages like Arabic and Hebrew
|
||||
* Notable fix: prevent server crash when extracting invalid metadata
|
||||
|
||||
## Map side panel (web)
|
||||
|
||||
The map view on the web now opens a mini-timeline component as a side panel when you click on a cluster of assets. This makes it easier to view the cluster at a glance and enables bulk actions, such as adding to favorites and adding to an album.
|
||||
|
||||
<img width="800" alt="image" src="https://github.com/user-attachments/assets/6f90b04d-4aa7-4f68-b59c-c2b912e638f7" />
|
||||
|
||||
|
||||
## Pick album cover (mobile)
|
||||
|
||||
Users can now pick a new album cover directly from the mobile app.
|
||||
|
||||
|
||||
https://github.com/user-attachments/assets/7f99dc80-21c6-4ce6-9f75-8e6b0163dcaa
|
||||
|
||||
|
||||
## Shared link slugs (mobile)
|
||||
|
||||
The mobile app now also supports setting a shared link slug, a feature that's been available on the web for a while.
|
||||
|
||||
https://github.com/user-attachments/assets/5420995a-cfd4-471d-a3ac-db4fa45de780
|
||||
|
||||
|
||||
## Shared link presets (web)
|
||||
|
||||
The expiration form input on the web was always a bit confusing, but it's been updated to make it easier to see and understand when a shared link will expire.
|
||||
|
||||
<img width="400" alt="image" src="https://github.com/user-attachments/assets/9d6124a9-eec2-43e8-b228-e1ac6c0415e8" />
|
||||
|
||||
## Native HTTP clients (mobile)
|
||||
|
||||
The mobile app now uses native HTTP clients across both Android and iOS, with support for mTLS, self-signed certificates, basic auth, and custom headers. These features should now be more reliable and extend to background tasks, video playback, and other parts of the app. This also improves the app's overall network request performance thanks to HTTP/2 and HTTP/3, multiplexing, and caching.
|
||||
|
||||
|
||||
## Video player and asset viewer improvements (mobile)
|
||||
|
||||
The asset viewer has undergone many improvements under the hood to make it simpler, faster and more reliable. We've also added playback support for GIFs, enabled video zooming, and made many more bug fixes and tweaks.
|
||||
|
||||
### The asset viewer now uses a gradient for actions, and video controls have been restyled
|
||||
|
||||
<img width="300" alt="image" src="https://github.com/user-attachments/assets/9a4e0892-f178-45fc-812c-10a6cba3f48b" />
|
||||
|
||||
### Inline asset details
|
||||
|
||||
This used to be a bottom sheet and had a lot of glue for alignment. The new version is much more responsive and less buggy.
|
||||
|
||||
#### Before
|
||||
https://github.com/user-attachments/assets/43b59b59-7d6a-48d0-94d7-84b8cae1c2a9
|
||||
|
||||
#### After
|
||||
https://github.com/user-attachments/assets/9217b6f4-1c92-40b0-bd95-a0681307cf38
|
||||
|
||||
## Improved search results (mobile)
|
||||
|
||||
The search results page now loads more results without rebuilding the entire grid, and should now load much faster. There are also new screens for when there are no search results and when all results have been loaded.
|
||||
|
||||
|
||||
https://github.com/user-attachments/assets/42ce69d4-1618-48ee-9cb9-91ec22e12b27
|
||||
|
||||
|
||||
## `schema-check`: a new `immich-admin` command
|
||||
|
||||
A new `immich-admin` command has been added in this release: `schema-check`. The command runs a report on the database to check if any indexes, constraints, tables, or columns are missing. This check also runs automatically on startup.
|
||||
|
||||
|
||||
## Read profile claims from `idToken` (OAuth)
|
||||
|
||||
Prior to `v2.6.0`, Immich resolved the `email` and other claims from the [userinfo](https://openid.net/specs/openid-connect-core-1_0.html#UserInfo) endpoint. Now, Immich also supports reading those claims directly from the `idToken`. This makes it possible to use providers such as Microsoft ADFS that do not support the userinfo endpoint.
|
||||
|
||||
- - - -
|
||||
|
||||
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 v2.6.0 -->
|
||||
|
||||
## What's Changed
|
||||
|
||||
### 🔒 Security
|
||||
|
||||
* fix(server): restrict individual shared link asset removal to owners by @michelheusschen in <https://github.com/immich-app/immich/pull/26868>
|
||||
* fix: add to shared link by @jrasm91 in <https://github.com/immich-app/immich/pull/26886>
|
||||
|
||||
### 🚀 Features
|
||||
|
||||
* feat: shared link login by @jrasm91 in <https://github.com/immich-app/immich/pull/25678>
|
||||
* feat: schema-check by @jrasm91 in <https://github.com/immich-app/immich/pull/25904>
|
||||
* feat: add people deeplink by @arne182 in <https://github.com/immich-app/immich/pull/25686>
|
||||
* feat(mobile): inline asset details by @uhthomas in <https://github.com/immich-app/immich/pull/25952>
|
||||
* feat(mobile): filter by tags by @benjamonnguyen in <https://github.com/immich-app/immich/pull/26196>
|
||||
* feat: add .mxf file support by @timonrieger in <https://github.com/immich-app/immich/pull/24644>
|
||||
* feat: tap to see next/previous image by @thezeroalpha in <https://github.com/immich-app/immich/pull/20286>
|
||||
* feat(mobile): Allow users to set album cover from mobile app by @timonrieger in <https://github.com/immich-app/immich/pull/25515>
|
||||
* feat(mobile): Allow users to set profile picture from asset viewer by @timonrieger in <https://github.com/immich-app/immich/pull/25517>
|
||||
* feat: ROCm 7.2 and MIGraphX support by @kprinssu in <https://github.com/immich-app/immich/pull/26178>
|
||||
* feat(web): map timeline sidepanel by @michelheusschen in <https://github.com/immich-app/immich/pull/26532>
|
||||
* feat: add responsive layout to broken asset by @midzelis in <https://github.com/immich-app/immich/pull/26384>
|
||||
* feat(web): toggle zoom on double-click in photo viewer by @midzelis in <https://github.com/immich-app/immich/pull/26732>
|
||||
* feat(mobile): show animated images in asset viewer by @LeLunZ in <https://github.com/immich-app/immich/pull/26614>
|
||||
* feat(mobile): open in browser by @YarosMallorca in <https://github.com/immich-app/immich/pull/26369>
|
||||
|
||||
### 🌟 Enhancements
|
||||
|
||||
* feat: verify permissions by @jrasm91 in <https://github.com/immich-app/immich/pull/25647>
|
||||
* feat(web): change link expiration logic & presets by @YarosMallorca in <https://github.com/immich-app/immich/pull/26064>
|
||||
* feat(mobile): dynamic layout in new timeline by @shenlong-tanwen in <https://github.com/immich-app/immich/pull/23837>
|
||||
* feat(cli): change progress bar to display file size by @Nykri in <https://github.com/immich-app/immich/pull/23328>
|
||||
* feat(mobile): dynamic multi-line album name by @uhthomas in <https://github.com/immich-app/immich/pull/26040>
|
||||
* feat(mobile): hide search by context/OCR if disabled on server (#25472) by @Nacolis in <https://github.com/immich-app/immich/pull/26063>
|
||||
* fix(release): add docker-compose.rootless.yml to released assets by @dnozay in <https://github.com/immich-app/immich/pull/26261>
|
||||
* feat(web): show ocr text boxes in panoramas by @meesfrensel in <https://github.com/immich-app/immich/pull/25727>
|
||||
* feat(web): loop chromecast video by @etnoy in <https://github.com/immich-app/immich/pull/24410>
|
||||
* chore(web): merge "Add to album" and "Add to shared album" actions into a single action by @timonrieger in <https://github.com/immich-app/immich/pull/24669>
|
||||
* feat(mobile): timeline - add bottomWidgetBuilder by @PeterOmbodi in <https://github.com/immich-app/immich/pull/25634>
|
||||
* feat(mobile): video zooming in asset viewer by @goalie2002 in <https://github.com/immich-app/immich/pull/22036>
|
||||
* feat(mobile): Add slug support for shared links by @Lauritz-Tieste in <https://github.com/immich-app/immich/pull/26441>
|
||||
* feat: warn when losing transparency during thumbnail generation by @midzelis in <https://github.com/immich-app/immich/pull/26243>
|
||||
* perf(mobile): optimized album sorting by @YarosMallorca in <https://github.com/immich-app/immich/pull/25179>
|
||||
* feat(mobile): prompt when deleting from trash by @YarosMallorca in <https://github.com/immich-app/immich/pull/26392>
|
||||
* feat: getAssetEdits respond with edit IDs by @bwees in <https://github.com/immich-app/immich/pull/26445>
|
||||
* fix(server): accept showAt and hideAt for creating memories by @meesfrensel in <https://github.com/immich-app/immich/pull/26429>
|
||||
* feat(server): SyncAssetEditV1 by @bwees in <https://github.com/immich-app/immich/pull/26446>
|
||||
* feat: splash screen error page by @shenlong-tanwen in <https://github.com/immich-app/immich/pull/26460>
|
||||
* feat(mobile): add confirmation dialog to permanent delete action by @ByteSizedMarius in <https://github.com/immich-app/immich/pull/26442>
|
||||
* feat: enhance face-editor positioning by @midzelis in <https://github.com/immich-app/immich/pull/26303>
|
||||
* feat: improve HEIC, HEIF and JPEG XL browser support detection by @nicosemp in <https://github.com/immich-app/immich/pull/26122>
|
||||
* refactor(web): remove replaceAsset action by @timonrieger in <https://github.com/immich-app/immich/pull/26444>
|
||||
* feat(web): bounding box for faces when hovering over the face in photo view by @cratoo in <https://github.com/immich-app/immich/pull/26667>
|
||||
* feat(mobile): keep search results visible by @uhthomas in <https://github.com/immich-app/immich/pull/26498>
|
||||
* feat(mobile): use shared native client by @mertalev in <https://github.com/immich-app/immich/pull/25942>
|
||||
* feat(mobile): SyncAssetEditV1 by @bwees in <https://github.com/immich-app/immich/pull/26518>
|
||||
* feat(ml): enable openvino for cpu by @apejcic in <https://github.com/immich-app/immich/pull/22948>
|
||||
* feat: responsive video duration in thumbnail by @midzelis in <https://github.com/immich-app/immich/pull/26770>
|
||||
* feat(web): animate zoom toggle with cubicOut easing by @midzelis in <https://github.com/immich-app/immich/pull/26731>
|
||||
* feat(mobile): consolidate video controls by @uhthomas in <https://github.com/immich-app/immich/pull/26673>
|
||||
* feat(web): add shortcut "p" to open/close the face tag box by @cratoo in <https://github.com/immich-app/immich/pull/26826>
|
||||
* feat(mobile): use material design 3 slider by @uhthomas in <https://github.com/immich-app/immich/pull/26829>
|
||||
* feat: adaptive progressive image loading for photo viewer by @midzelis in <https://github.com/immich-app/immich/pull/26636>
|
||||
* fix(server): extract make/model from sony video files by @brendanngo in <https://github.com/immich-app/immich/pull/26833>
|
||||
* chore(mobile): remove background from asset viewer back button by @uhthomas in <https://github.com/immich-app/immich/pull/26851>
|
||||
* feat(server): support IDPs that only send the userinfo in the ID token by @Belnadifia in <https://github.com/immich-app/immich/pull/26717>
|
||||
* feat(web): improve OCR overlay text fitting, reactivity, and accessibility by @midzelis in <https://github.com/immich-app/immich/pull/26678>
|
||||
* fix(web): allow pasting PIN code from clipboard or password manager by @pressslav in <https://github.com/immich-app/immich/pull/26944>
|
||||
|
||||
### 🐛 Bug fixes
|
||||
|
||||
* fix: ignore checksum constraint error when logging by @jrasm91 in <https://github.com/immich-app/immich/pull/26113>
|
||||
* fix(web): use locale for date picker by @michelheusschen in <https://github.com/immich-app/immich/pull/26125>
|
||||
* fix(web): escape shortcut handling by @michelheusschen in <https://github.com/immich-app/immich/pull/26096>
|
||||
* fix(mobile): Login routing on Splash screen by @PeterOmbodi in <https://github.com/immich-app/immich/pull/26128>
|
||||
* fix: null local date time in timeline queries by @shenlong-tanwen in <https://github.com/immich-app/immich/pull/26133>
|
||||
* fix(web): prevent event manager from throwing error by @michelheusschen in <https://github.com/immich-app/immich/pull/26156>
|
||||
* fix(web): improve api key modal responsiveness by @klenner1 in <https://github.com/immich-app/immich/pull/26151>
|
||||
* fix(web): show correct assets in memory gallery by @michelheusschen in <https://github.com/immich-app/immich/pull/26157>
|
||||
* fix(web): add missing @immich/ui translations by @michelheusschen in <https://github.com/immich-app/immich/pull/26143>
|
||||
* fix(mobile): timeline handling on foldable phones + ensuring that images are not cut off by @bkchr in <https://github.com/immich-app/immich/pull/25088>
|
||||
* fix(mobile): prevent nav bar label text wrapping by @chrislongros in <https://github.com/immich-app/immich/pull/26011>
|
||||
* fix(mobile): hide latest version warnings by @uhthomas in <https://github.com/immich-app/immich/pull/26036>
|
||||
* fix(mobile): inconsistent query for people by @YarosMallorca in <https://github.com/immich-app/immich/pull/24437>
|
||||
* fix(web): timeline multi select group state by @michelheusschen in <https://github.com/immich-app/immich/pull/26180>
|
||||
* fix(web): add checkerboard background for transparent images by @agent-steven in <https://github.com/immich-app/immich/pull/26091>
|
||||
* fix(mobile): inherit toolbar opacity by @uhthomas in <https://github.com/immich-app/immich/pull/25694>
|
||||
* fix(web): focus tag input when modal opens by @michelheusschen in <https://github.com/immich-app/immich/pull/26256>
|
||||
* fix(web): clear face boxes when switching assets by @michelheusschen in <https://github.com/immich-app/immich/pull/26249>
|
||||
* fix(web): clear unsaved asset description when changing asset by @michelheusschen in <https://github.com/immich-app/immich/pull/26255>
|
||||
* fix(web): clear cache when asset changes by @michelheusschen in <https://github.com/immich-app/immich/pull/26257>
|
||||
* fix: utc time zone upserts by @danieldietzler in <https://github.com/immich-app/immich/pull/26258>
|
||||
* fix: metadata crash by @jrasm91 in <https://github.com/immich-app/immich/pull/26327>
|
||||
* fix: prevent server crash when extraction of metadata fails if the assets are corrupted by @Devansh-Jani in <https://github.com/immich-app/immich/pull/26042>
|
||||
* fix(server): db restore failure when `DB_URL` is set to unix-domain socket connection by @fabio-garavini in <https://github.com/immich-app/immich/pull/26252>
|
||||
* fix: Download the edited version when downloading multiple photos by @MontejoJorge in <https://github.com/immich-app/immich/pull/26259>
|
||||
* fix: include `DROP INDEX` in transaction to prevent missing index on rollback by @haoxi911 in <https://github.com/immich-app/immich/pull/25399>
|
||||
* fix: safari address bar color by @jrasm91 in <https://github.com/immich-app/immich/pull/26346>
|
||||
* fix(web): prevent panorama image reload during asset updates by @michelheusschen in <https://github.com/immich-app/immich/pull/26349>
|
||||
* fix(web): favoriting assets opened via GalleryViewer by @michelheusschen in <https://github.com/immich-app/immich/pull/26350>
|
||||
* fix(i18n): add translation key for partner's photos by @timonrieger in <https://github.com/immich-app/immich/pull/26348>
|
||||
* fix(web): single select scroll behavior by @timonrieger in <https://github.com/immich-app/immich/pull/26358>
|
||||
* perf: add indexes to improve People API response times by @bxtdvd in <https://github.com/immich-app/immich/pull/26337>
|
||||
* fix: pin code reset modal by @jrasm91 in <https://github.com/immich-app/immich/pull/26370>
|
||||
* fix(mobile): Reset "People" search filter chip if no selections are made by @benjamonnguyen in <https://github.com/immich-app/immich/pull/26267>
|
||||
* fix(cli): delete sidecar files after upload if requested by @timonrieger in <https://github.com/immich-app/immich/pull/26353>
|
||||
* fix(web): album description auto height by @michelheusschen in <https://github.com/immich-app/immich/pull/26420>
|
||||
* fix(web): prevent side panel overlap during transition by @michelheusschen in <https://github.com/immich-app/immich/pull/26398>
|
||||
* fix(web): storage template example by @mmomjian in <https://github.com/immich-app/immich/pull/26424>
|
||||
* fix(web): prevent `state_unsafe_mutation` error on people page by @michelheusschen in <https://github.com/immich-app/immich/pull/26438>
|
||||
* fix: missing deletedAt and isVisible columns on mobile by @bwees in <https://github.com/immich-app/immich/pull/26414>
|
||||
* fix(mobile): joinLocal on archived timeline by @YarosMallorca in <https://github.com/immich-app/immich/pull/26387>
|
||||
* fix: always show library scan button by @etnoy in <https://github.com/immich-app/immich/pull/26428>
|
||||
* fix: retain asset when either asset is a favorite by @shenlong-tanwen in <https://github.com/immich-app/immich/pull/26473>
|
||||
* fix(web): prevent null folder tree on concurrent load by @michelheusschen in <https://github.com/immich-app/immich/pull/26489>
|
||||
* fix(web): toast warning when trying to upload unsupported file type by @meesfrensel in <https://github.com/immich-app/immich/pull/26492>
|
||||
* fix(mobile): birthday picker shows limited months when no date exists by @socksprox in <https://github.com/immich-app/immich/pull/26407>
|
||||
* fix: consider DAR when extracting video dimension by @alextran1502 in <https://github.com/immich-app/immich/pull/25293>
|
||||
* feat(mobile): Prevent premature image cache eviction when higher image loading is enabled by @LeLunZ in <https://github.com/immich-app/immich/pull/26208>
|
||||
* refactor: star rating by @meesfrensel in <https://github.com/immich-app/immich/pull/26357>
|
||||
* fix(mobile): set correct initial system-ui mode in asset viewer by @goalie2002 in <https://github.com/immich-app/immich/pull/26500>
|
||||
* fix(server): Live Photo migration bug when album is in template by @NikhilAlapati in <https://github.com/immich-app/immich/pull/25329>
|
||||
* fix(web): handle delete shortcut on shared link page as remove by @meesfrensel in <https://github.com/immich-app/immich/pull/26552>
|
||||
* fix(mobile): prevent video player from being recreated unnecessarily by @uhthomas in <https://github.com/immich-app/immich/pull/26553>
|
||||
* fix(mobile): don't cut off top corners of app bar by @uhthomas in <https://github.com/immich-app/immich/pull/26550>
|
||||
* feat: update onnxruntime-openvino to 1.24.1 and intel drivers by @savely-krasovsky in <https://github.com/immich-app/immich/pull/26565>
|
||||
* fix: hide download action for local/merged assets by @YarosMallorca in <https://github.com/immich-app/immich/pull/26461>
|
||||
* fix(web): top bar z index on search page by @YarosMallorca in <https://github.com/immich-app/immich/pull/26582>
|
||||
* fix(web): show shared link download button when logged in by @Snowknight26 in <https://github.com/immich-app/immich/pull/26629>
|
||||
* fix(mobile): asset viewer hero animation by @uhthomas in <https://github.com/immich-app/immich/pull/26545>
|
||||
* fix(web): timeline and asset viewer RTL support by @meesfrensel in <https://github.com/immich-app/immich/pull/26513>
|
||||
* fix(server): clean up edited thumbnail when deleting asset by @michelheusschen in <https://github.com/immich-app/immich/pull/26664>
|
||||
* fix: implement existing withStacked on searchAssetBuilder by @babbitt in <https://github.com/immich-app/immich/pull/26607>
|
||||
* fix(mobile): video state by @uhthomas in <https://github.com/immich-app/immich/pull/26574>
|
||||
* fix(maintenance mode): wait for valid server config on restart by @insertish in <https://github.com/immich-app/immich/pull/26456>
|
||||
* fix(web): inconsistent asset nav bar state after visiting shared link by @Snowknight26 in <https://github.com/immich-app/immich/pull/26674>
|
||||
* fix(web): download toast showing wrong filename for motion assets by @Snowknight26 in <https://github.com/immich-app/immich/pull/26689>
|
||||
* fix(mobile): add safe area for asset details by @uhthomas in <https://github.com/immich-app/immich/pull/26675>
|
||||
* fix(web): combobox dropdown positioning in modals by @michelheusschen in <https://github.com/immich-app/immich/pull/26707>
|
||||
* fix(web): video stealing focus when it plays again when looping by @Snowknight26 in <https://github.com/immich-app/immich/pull/26704>
|
||||
* fix(ml): batch size setting by @mertalev in <https://github.com/immich-app/immich/pull/26524>
|
||||
* fix(server): clarify transcoding bitrate policy by @meesfrensel in <https://github.com/immich-app/immich/pull/26711>
|
||||
* fix: playback style migration by @alextran1502 in <https://github.com/immich-app/immich/pull/26718>
|
||||
* fix(web): asset viewer showing wrong viewer type when hovering on stack thumbnails by @Snowknight26 in <https://github.com/immich-app/immich/pull/26741>
|
||||
* fix(server): opus handling as accepted audio codec in transcode policy by @skatsubo in <https://github.com/immich-app/immich/pull/26736>
|
||||
* fix(web): refresh recent albums sidebar after album changes by @michelheusschen in <https://github.com/immich-app/immich/pull/26757>
|
||||
* fix(web): show the correct cursor at crop bounds when editing an asset by @Snowknight26 in <https://github.com/immich-app/immich/pull/26748>
|
||||
* fix(web): recalculate face bounding boxes by @cratoo in <https://github.com/immich-app/immich/pull/26737>
|
||||
* fix(web): context menu overflow by @SevereCloud in <https://github.com/immich-app/immich/pull/26760>
|
||||
* fix(web): correct tag rounding in search options by @michelheusschen in <https://github.com/immich-app/immich/pull/26814>
|
||||
* fix(web): prevent unrelated assets from appearing in tag view by @michelheusschen in <https://github.com/immich-app/immich/pull/26816>
|
||||
* fix(mobile): use tabular figures in backup page by @uhthomas in <https://github.com/immich-app/immich/pull/26830>
|
||||
* fix(mobile): wrap backup error message text by @uhthomas in <https://github.com/immich-app/immich/pull/26834>
|
||||
* fix(server): use correct day ordering in timeline buckets by @michelheusschen in <https://github.com/immich-app/immich/pull/26821>
|
||||
* fix(web): face selection box position resetting on browser resize by @Snowknight26 in <https://github.com/immich-app/immich/pull/26766>
|
||||
* fix: use correct original URL for 360 video panorama playback by @luis15pt in <https://github.com/immich-app/immich/pull/26831>
|
||||
* fix(web): disable drag and drop for internal items by @michelheusschen in <https://github.com/immich-app/immich/pull/26897>
|
||||
* fix(web): keep header fixed on individual shared links by @michelheusschen in <https://github.com/immich-app/immich/pull/26892>
|
||||
* fix: SMTP over TLS by @nathanielhourt in <https://github.com/immich-app/immich/pull/26893>
|
||||
* fix(web): copy yearMonth in MonthGroup to avoid shared object reference with asset in <https://github.com/immich-app/immich/pull/26890>
|
||||
* fix(mobile): use shared auth for background_downloader by @mertalev in <https://github.com/immich-app/immich/pull/26911>
|
||||
* fix(web): prevent search page error on missing album filter by @michelheusschen in <https://github.com/immich-app/immich/pull/26948>
|
||||
* fix(server): sync files to disk by @uhthomas in <https://github.com/immich-app/immich/pull/26881>
|
||||
* fix(web): jump to primary stacked asset from memory by @michelheusschen in <https://github.com/immich-app/immich/pull/26978>
|
||||
* fix(mobile): reflect asset deletions instantly by @uhthomas in <https://github.com/immich-app/immich/pull/26835>
|
||||
* fix: healthcheck by @jrasm91 in <https://github.com/immich-app/immich/pull/26989>
|
||||
* fix(web): escape handling for tagging and adding a face in asset viewer by @cratoo in <https://github.com/immich-app/immich/pull/26870>
|
||||
* fix: filter after searching by asset id by @jrasm91 in <https://github.com/immich-app/immich/pull/26994>
|
||||
* fix: bounding box return type by @jrasm91 in <https://github.com/immich-app/immich/pull/27014>
|
||||
* fix: validate accept header before returning html by @jrasm91 in <https://github.com/immich-app/immich/pull/27019>
|
||||
|
||||
### 📚 Documentation
|
||||
|
||||
* chore(docs): Update help channel for developers by @Mraedis in <https://github.com/immich-app/immich/pull/26284>
|
||||
* feat(docs): Explain configuration file location for Docker Compose by @keunes in <https://github.com/immich-app/immich/pull/24989>
|
||||
* chore(docs): add quick-start guide for DevPod with docker by @dhlavaty in <https://github.com/immich-app/immich/pull/26213>
|
||||
* feat(docs): Adding information about parameter c= by @aviv926 in <https://github.com/immich-app/immich/pull/26430>
|
||||
* feat: doc links by @jrasm91 in <https://github.com/immich-app/immich/pull/26519>
|
||||
* fix(docs): add ocr to job flow diagram by @niij in <https://github.com/immich-app/immich/pull/26505>
|
||||
|
||||
### 🌐 Translations
|
||||
|
||||
* chore(web): update translations by @weblate in <https://github.com/immich-app/immich/pull/26118>
|
||||
* fix: clarify external domain setting is used for emails too by @chrislongros in <https://github.com/immich-app/immich/pull/26009>
|
||||
* chore(web): update translations by @weblate in <https://github.com/immich-app/immich/pull/26167>
|
||||
* fix(web): error page i18n by @meesfrensel in <https://github.com/immich-app/immich/pull/26517>
|
||||
* chore(web): clarify locale settings description by @meesfrensel in <https://github.com/immich-app/immich/pull/25562>
|
||||
* chore(web): update translations by @weblate in <https://github.com/immich-app/immich/pull/26192>
|
||||
|
||||
## New Contributors
|
||||
|
||||
* @klenner1 made their first contribution in <https://github.com/immich-app/immich/pull/26151>
|
||||
* @bkchr made their first contribution in <https://github.com/immich-app/immich/pull/25088>
|
||||
* @chrislongros made their first contribution in <https://github.com/immich-app/immich/pull/26011>
|
||||
* @agent-steven made their first contribution in <https://github.com/immich-app/immich/pull/26091>
|
||||
* @dhlavaty made their first contribution in <https://github.com/immich-app/immich/pull/26238>
|
||||
* @Nacolis made their first contribution in <https://github.com/immich-app/immich/pull/26063>
|
||||
* @ewinnd made their first contribution in <https://github.com/immich-app/immich/pull/26277>
|
||||
* @dnozay made their first contribution in <https://github.com/immich-app/immich/pull/26261>
|
||||
* @keunes made their first contribution in <https://github.com/immich-app/immich/pull/24989>
|
||||
* @Devansh-Jani made their first contribution in <https://github.com/immich-app/immich/pull/26042>
|
||||
* @benjamonnguyen made their first contribution in <https://github.com/immich-app/immich/pull/26196>
|
||||
* @fabio-garavini made their first contribution in <https://github.com/immich-app/immich/pull/26252>
|
||||
* @haoxi911 made their first contribution in <https://github.com/immich-app/immich/pull/25399>
|
||||
* @thezeroalpha made their first contribution in <https://github.com/immich-app/immich/pull/20286>
|
||||
* @socksprox made their first contribution in <https://github.com/immich-app/immich/pull/26407>
|
||||
* @kprinssu made their first contribution in <https://github.com/immich-app/immich/pull/26178>
|
||||
* @babbitt made their first contribution in <https://github.com/immich-app/immich/pull/26607>
|
||||
* @niij made their first contribution in <https://github.com/immich-app/immich/pull/26505>
|
||||
* @cratoo made their first contribution in <https://github.com/immich-app/immich/pull/26667>
|
||||
* @M123-dev made their first contribution in <https://github.com/immich-app/immich/pull/26630>
|
||||
* @apejcic made their first contribution in <https://github.com/immich-app/immich/pull/22948>
|
||||
* @SevereCloud made their first contribution in <https://github.com/immich-app/immich/pull/26760>
|
||||
* @brendanngo made their first contribution in <https://github.com/immich-app/immich/pull/26833>
|
||||
* @luis15pt made their first contribution in <https://github.com/immich-app/immich/pull/26831>
|
||||
* @nathanielhourt made their first contribution in <https://github.com/immich-app/immich/pull/26893>
|
||||
* @Belnadifia made their first contribution in <https://github.com/immich-app/immich/pull/26717>
|
||||
* @pressslav made their first contribution in <https://github.com/immich-app/immich/pull/26944>
|
||||
|
||||
**Full Changelog**: <https://github.com/immich-app/immich/compare/v2.5.6...v2.6.0>
|
||||
18
services/immich/review-examples/auto-4.txt
Normal file
18
services/immich/review-examples/auto-4.txt
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
action: auto
|
||||
reason: Small patch release with only bug fixes. No breaking changes or admin action required.
|
||||
---
|
||||
# v2.2.3
|
||||
|
||||
## What's Changed
|
||||
### 🐛 Bug fixes
|
||||
* fix(ml): ocr inputs not resized correctly by @mertalev in https://github.com/immich-app/immich/pull/23541
|
||||
* fix(web): search bar accessibility by @ben-basten in https://github.com/immich-app/immich/pull/23550
|
||||
* fix: exif gps parsing of malformed data by @danieldietzler in https://github.com/immich-app/immich/pull/23551
|
||||
* chore: correct hosted isar paths in fdroid_build_isar.sh by @gereeter in https://github.com/immich-app/immich/pull/23529
|
||||
* fix(mobile): handle empty original filename by @skatsubo in https://github.com/immich-app/immich/pull/23469
|
||||
* fix(mobile): ignore patch releases for app version alerts by @bwees in https://github.com/immich-app/immich/pull/23565
|
||||
|
||||
## New Contributors
|
||||
* @gereeter made their first contribution in https://github.com/immich-app/immich/pull/23529
|
||||
|
||||
**Full Changelog**: https://github.com/immich-app/immich/compare/v2.2.2...v2.2.3
|
||||
204
services/immich/review-examples/manual-1.txt
Normal file
204
services/immich/review-examples/manual-1.txt
Normal file
|
|
@ -0,0 +1,204 @@
|
|||
action: manual
|
||||
reason: Conditionally breaking depending on the version you are upgrading from. If the running instance is older than v1.132.0, manual action is required. Admin should verify the current running version before proceeding.
|
||||
---
|
||||
# v1.137.0
|
||||
|
||||
- _knock, knock_
|
||||
- _Who's there?_
|
||||
- _Breaking_
|
||||
- _Breaking who?_
|
||||
- _Breaking changes woohoo, with a stable-release-is-around-the-corner and coming to a server near you (soon™)_
|
||||
|
||||
> [!CAUTION]
|
||||
>
|
||||
> # Breaking Changes
|
||||
>
|
||||
> If your current, running version of Immich is `v1.132.0` or newer, there is **NO ACTION** required. If you are updating from version below `v1.132.0` continue reading.
|
||||
>
|
||||
> ## Remove TypeORM (#20366)
|
||||
>
|
||||
> This update requires applications to have started up at least once on `1.132.0+`. See <https://immich.app/errors#typeorm-upgrade> for more details.
|
||||
|
||||
## Highlights
|
||||
|
||||
Welcome to the release `v1.137.0` of Immich. This version adds many bug fixes for the beta timeline, more feature parity with the old timeline, alongside some nifty enhancements to the web and the server as well. As always, new translations have been merged in, and the documentation has been updated at https://immich.app. Now, let’s dive in!
|
||||
|
||||
* The default `docker-compose.yml` template has changed
|
||||
* Beta timeline
|
||||
* Shared link custom URL
|
||||
* Find large files utility
|
||||
* API key permission improvements
|
||||
|
||||
# `docker-compose.yml` template change (optional)
|
||||
|
||||
The default compose file now uses `/data` instead of `/usr/src/app/upload`. This is a completely optional change and **NOT** a breaking change. Prior versions of Immich will continue to work without any user intervention. For more information, see #20367.
|
||||
|
||||
Prior to this change, uploaded media was located at `/usr/src/app/upload/upload` in the container (notice the double “upload” folders), which often led to confusion. It will now be located at `/data/upload`, and we hope that makes things easier.
|
||||
|
||||
## Beta timeline
|
||||
|
||||
Thank you to everyone who tried out the beta timeline in the last release! We have gathered a lot of great feedback, and are actively working on incorporating it. We’ve fixed a bunch of bugs and added back a bunch of previous features. Here’s a quick list/overview of beta timeline changes this release:
|
||||
|
||||
* Fix the invalid timeline grouping issue
|
||||
* Fix the trash action translation keys
|
||||
* Fix the beta timeline switch missing in landscape mode
|
||||
* Fix a timeline migration bug on Android
|
||||
* Fix the text overflow issue on the action buttons
|
||||
* Fix deep links when the beta timeline is enabled
|
||||
* Fix search places not working correctly
|
||||
* Fix missing hero animation between tabs
|
||||
* Fix the backup remainder backup count issue
|
||||
* Fix the share to app upload
|
||||
* Fix the error navigating back from the backup page
|
||||
* Fix the backup indicator
|
||||
* Fix the back gesture in multi-select mode
|
||||
* Fix user profile images
|
||||
* Fix the issue downloading live photo
|
||||
* Fix the issue with sync for users with external libraries
|
||||
* Fix the issue with storage filling up for users with iCloud photos
|
||||
|
||||
|
||||
… and more
|
||||
|
||||
## Shared link custom URL (#19999)
|
||||
|
||||
Immich shared links by default are long and hard to guess. This is by design and is a security mechanism to prevent unwanted access. However, the long links can be a bit awkward to use because they are difficult to read. For cases where security is less important, we have added the option to specify a *custom URL*.
|
||||
|
||||
<p align="center">
|
||||
<img width="500" alt="image" src="https://github.com/user-attachments/assets/06d5dc89-1bb7-462c-a384-f62c3fb0e838" />
|
||||
<p/>
|
||||
|
||||
Shared links with a custom URL are now also available at `/s/<slug>` (in addition to `/share/<long-random-string>`. Naturally, these links don’t share the same security benefits of the long-random-string ones, so please use them accordingly.
|
||||
|
||||
## Find large files utility (web-only)
|
||||
|
||||
This release adds a new, convenient utility to find large files on your instance. You can access it by navigating to the “Utility” page on the web, and clicking “Review large files”. The page shows the largest 250 original files for your user.
|
||||
|
||||
<p align="center">
|
||||
|
||||
<img width="500" alt="image" src="https://github.com/user-attachments/assets/171520d5-d03b-45f5-9b51-9bb86ae9fa98" />
|
||||
|
||||
<img width="800" alt="image" src="https://github.com/user-attachments/assets/6254ef6c-b57f-4d14-9f74-d03d4da56bd9" />
|
||||
|
||||
<p/>
|
||||
|
||||
## Improved API key permissions and documentation
|
||||
|
||||
Following up from the last release, we have added fine-grained permissions to more API endpoints, which are now also included in the auto-generated documentation, which can be read [here](https://immich.app/docs/api).
|
||||
|
||||
> \[!CAUTION\]
|
||||
>
|
||||
> Related to these changes, a few API permissions have been *renamed*. See #20250 for more details.
|
||||
|
||||
On the web, the New API Key form now includes the newly added permissions, as well as a search bar for quicker access.
|
||||
|
||||
|
||||
<p align="center">
|
||||
<img width="800" alt="image" src="https://github.com/user-attachments/assets/783a8188-e112-4af7-94b0-3b53fd815712" />
|
||||
<p/>
|
||||
|
||||
<!-- Release notes generated using configuration in .github/release.yml at main -->
|
||||
|
||||
## What's Changed
|
||||
|
||||
### 🚨 Breaking Changes
|
||||
|
||||
* feat!: more permissions by @jrasm91 in <https://github.com/immich-app/immich/pull/20250>
|
||||
* feat!: remove typeorm by @jrasm91 in <https://github.com/immich-app/immich/pull/20366>
|
||||
|
||||
### 🚀 Features
|
||||
|
||||
* feat: automatically detect media location changes by @jrasm91 in <https://github.com/immich-app/immich/pull/20256>
|
||||
* feat: find large files utility by @niwla23 in <https://github.com/immich-app/immich/pull/18040>
|
||||
* feat: change default media location to /data by @jrasm91 in <https://github.com/immich-app/immich/pull/20367>
|
||||
* feat: better endpoint descriptions by @jrasm91 in <https://github.com/immich-app/immich/pull/20439>
|
||||
|
||||
### 🌟 Enhancements
|
||||
|
||||
* feat: don't wait for network on app startup by @zackpollard in <https://github.com/immich-app/immich/pull/20232>
|
||||
* feat: add to album on new beta timeline by @bwees in <https://github.com/immich-app/immich/pull/20119>
|
||||
* feat(web): api key permission search by @jrasm91 in <https://github.com/immich-app/immich/pull/20248>
|
||||
* chore: delete action button by @alextran1502 in <https://github.com/immich-app/immich/pull/20261>
|
||||
* feat: scroll to top & view in timeline by @alextran1502 in <https://github.com/immich-app/immich/pull/20274>
|
||||
* feat(web): auto fit bounds for map modal. by @dagstuan in <https://github.com/immich-app/immich/pull/20345>
|
||||
* feat: shared links custom URL by @Jed-Giblin in <https://github.com/immich-app/immich/pull/19999>
|
||||
* feat: support config via systemd credentials by @amarshall in <https://github.com/immich-app/immich/pull/20406>
|
||||
* feat: 3-2-1 backup onboarding card by @bwees in <https://github.com/immich-app/immich/pull/20374>
|
||||
* feat: people page/sheet/detail by @alextran1502 in <https://github.com/immich-app/immich/pull/20309>
|
||||
* fix(web): Search chip key value heights don't match by @xCJPECKOVERx in <https://github.com/immich-app/immich/pull/20312>
|
||||
* feat: network requirement option for upload by @alextran1502 in <https://github.com/immich-app/immich/pull/20302>
|
||||
* feat: drift edit time and date action by @bwees in <https://github.com/immich-app/immich/pull/20377>
|
||||
* feat: drift description editor by @bwees in <https://github.com/immich-app/immich/pull/20383>
|
||||
|
||||
### 🐛 Bug fixes
|
||||
|
||||
* fix: override SSL options inside isolates by @shenlong-tanwen in <https://github.com/immich-app/immich/pull/20142>
|
||||
* fix: fallback auto grouping to day grouping by @shenlong-tanwen in <https://github.com/immich-app/immich/pull/20156>
|
||||
* fix: update trash action i18n keys by @shenlong-tanwen in <https://github.com/immich-app/immich/pull/20164>
|
||||
* chore: remove build flavor Android by @alextran1502 in <https://github.com/immich-app/immich/pull/20161>
|
||||
* fix: send correct includeArchived parameter to API when showing markers in map by @pelluch in <https://github.com/immich-app/immich/pull/20117>
|
||||
* fix(web): multi-select in ascending asset order by @wuzihao051119 in <https://github.com/immich-app/immich/pull/19461>
|
||||
* fix(mobile): hide video thumbnail when video is ready by @johnstef99 in <https://github.com/immich-app/immich/pull/19328>
|
||||
* fix: geodata_places pkey migration failing for certain upgrade paths by @zackpollard in <https://github.com/immich-app/immich/pull/20177>
|
||||
* fix: add beta toggle in landscape mode by @shenlong-tanwen in <https://github.com/immich-app/immich/pull/20187>
|
||||
* fix: add missing `await`s when changing client certificate by @jfly in <https://github.com/immich-app/immich/pull/20189>
|
||||
* fix: android backup album migration without recents by @zackpollard in <https://github.com/immich-app/immich/pull/20220>
|
||||
* fix: optional number inputs by @danieldietzler in <https://github.com/immich-app/immich/pull/20218>
|
||||
* fix: character width calculation by @alextran1502 in <https://github.com/immich-app/immich/pull/20201>
|
||||
* fix: word wrapping on action buttons by @bwees in <https://github.com/immich-app/immich/pull/20231>
|
||||
* fix: lookup the primary key constraint name before dropping it by @zackpollard in <https://github.com/immich-app/immich/pull/20221>
|
||||
* fix(mobile): deep links when using the beta timeline by @bwees in <https://github.com/immich-app/immich/pull/20111>
|
||||
* fix(mobile): beta search page improvements by @bwees in <https://github.com/immich-app/immich/pull/20247>
|
||||
* fix(mobile): places search not working in beta version by @YarosMallorca in <https://github.com/immich-app/immich/pull/20284>
|
||||
* fix: no hero animation after tab change by @shenlong-tanwen in <https://github.com/immich-app/immich/pull/20285>
|
||||
* fix: remainder backup count by @alextran1502 in <https://github.com/immich-app/immich/pull/20270>
|
||||
* fix: share to app upload by @alextran1502 in <https://github.com/immich-app/immich/pull/20271>
|
||||
* fix: error on navigating back from backup selection page by @shenlong-tanwen in <https://github.com/immich-app/immich/pull/20299>
|
||||
* fix(web): Album picker recent albums don't match sidebar by @xCJPECKOVERx in <https://github.com/immich-app/immich/pull/20313>
|
||||
* fix: change translation key for archive action button by @shenlong-tanwen in <https://github.com/immich-app/immich/pull/20336>
|
||||
* fix: backup indicator in beta app bar by @shenlong-tanwen in <https://github.com/immich-app/immich/pull/20354>
|
||||
* fix: handle back gesture in multi selection mode by @shenlong-tanwen in <https://github.com/immich-app/immich/pull/20356>
|
||||
* fix: handle cleanup of new backups alongside old backups by @zackpollard in <https://github.com/immich-app/immich/pull/20402>
|
||||
* fix: android widget periodic updates by @bwees in <https://github.com/immich-app/immich/pull/20389>
|
||||
* fix: show missing local assets only in timeline with partner sharing by @shenlong-tanwen in <https://github.com/immich-app/immich/pull/20298>
|
||||
* fix: sync is_favorite from native by @shenlong-tanwen in <https://github.com/immich-app/immich/pull/20412>
|
||||
* fix(web): timeline date group width by @ben-basten in <https://github.com/immich-app/immich/pull/19964>
|
||||
* fix: exclude assets from excluded albumbs on main timeline by @shenlong-tanwen in <https://github.com/immich-app/immich/pull/20425>
|
||||
* fix: user profile images not working in beta timeline by @bwees in <https://github.com/immich-app/immich/pull/20203>
|
||||
* fix(web): timeline time bucket issue by @jrasm91 in <https://github.com/immich-app/immich/pull/20438>
|
||||
* fix: json encoding failure during live photo download by @shenlong-tanwen in <https://github.com/immich-app/immich/pull/20444>
|
||||
* fix(mobile): add partial index based on library ID to remote assets by @shenlong-tanwen in <https://github.com/immich-app/immich/pull/20214>
|
||||
* fix: clear local file cache before upload by @shenlong-tanwen in <https://github.com/immich-app/immich/pull/20448>
|
||||
* fix(download): handle completed downloads and refresh albums by @PeterOmbodi in <https://github.com/immich-app/immich/pull/20241>
|
||||
* fix: incorrect next/previous action after folder view refresh by @jrasm91 in <https://github.com/immich-app/immich/pull/20447>
|
||||
* fix: modal race conditions by @danieldietzler in <https://github.com/immich-app/immich/pull/20460>
|
||||
|
||||
### 📚 Documentation
|
||||
|
||||
* docs: more make commands and add mobile checks to pr-checklist by @shenlong-tanwen in <https://github.com/immich-app/immich/pull/20211>
|
||||
* chore: add missing 'make pigeon' instruction by @jfly in <https://github.com/immich-app/immich/pull/20202>
|
||||
* fix(docs): update SQL queries with schema changes by @mmomjian in <https://github.com/immich-app/immich/pull/20297>
|
||||
* feat(docs): reorganize DB queries, add tags by @mmomjian in <https://github.com/immich-app/immich/pull/20303>
|
||||
* docs: add immich_ml_balancer to community projects by @apetersson in <https://github.com/immich-app/immich/pull/20399>
|
||||
* docs: Add config example for Authelia by @Starbix in <https://github.com/immich-app/immich/pull/20223>
|
||||
|
||||
### 🌐 Translations
|
||||
|
||||
* fix(mobile): distinguish backup settings title from 'backup_controller_page_backup' translation entry by @zigarn in <https://github.com/immich-app/immich/pull/20237>
|
||||
* fix(mobile): remove unused translation and pluralize existing one for map photos count by @zigarn in <https://github.com/immich-app/immich/pull/20282>
|
||||
* chore(web): update translations by @weblate in <https://github.com/immich-app/immich/pull/20105>
|
||||
|
||||
## New Contributors
|
||||
|
||||
* @pelluch made their first contribution in <https://github.com/immich-app/immich/pull/20117>
|
||||
* @jfly made their first contribution in <https://github.com/immich-app/immich/pull/20189>
|
||||
* @zigarn made their first contribution in <https://github.com/immich-app/immich/pull/20237>
|
||||
* @beposec made their first contribution in <https://github.com/immich-app/immich/pull/20283>
|
||||
* @Jed-Giblin made their first contribution in <https://github.com/immich-app/immich/pull/19999>
|
||||
* @niwla23 made their first contribution in <https://github.com/immich-app/immich/pull/18040>
|
||||
* @apetersson made their first contribution in <https://github.com/immich-app/immich/pull/20399>
|
||||
* @amarshall made their first contribution in <https://github.com/immich-app/immich/pull/20406>
|
||||
* @Starbix made their first contribution in <https://github.com/immich-app/immich/pull/20223>
|
||||
* @PeterOmbodi made their first contribution in <https://github.com/immich-app/immich/pull/20241>
|
||||
|
||||
**Full Changelog**: <https://github.com/immich-app/immich/compare/v1.136.0...v1.137.0>
|
||||
307
services/immich/review-examples/manual-2.txt
Normal file
307
services/immich/review-examples/manual-2.txt
Normal file
|
|
@ -0,0 +1,307 @@
|
|||
action: manual
|
||||
reason: Breaking changes to IMMICH_MEDIA_LOCATION (relative paths must be converted to absolute) and API key permission behavior that may break third-party apps. Admin must check their .env configuration before updating.
|
||||
---
|
||||
# v1.136.0 - 69420 stars release
|
||||
|
||||
> [!CAUTION]
|
||||
> # BREAKING CHANGES
|
||||
>
|
||||
> ## IMMICH_MEDIA_LOCATION (#19995)
|
||||
> Note: This is a **different** variable than `UPLOAD_LOCATION`, which requires no change.
|
||||
>
|
||||
> Note: if you **DO NOT** have `IMMICH_MEDIA_LOCATION` in your `.env` file, or if it is set to a path that starts with a `/` (absolute path), **THIS BREAKING CHANGE DOES NOT APPLY TO YOU.** Users of the all-in-one image (e.g., the unraid app) for instance are not affected.
|
||||
>
|
||||
>
|
||||
> <hr>
|
||||
>
|
||||
>
|
||||
> If you have a custom `IMMICH_MEDIA_LOCATION` environment variable set to a **relative path**, you will have to do the following process:
|
||||
>
|
||||
>
|
||||
> 1. Stop Immich (`docker compose stop`):
|
||||
> 2. Update Immich (`docker compose pull`)
|
||||
> 3. Update the environment variable to an absolute path, for example:
|
||||
>
|
||||
> ```diff
|
||||
> -IMMICH_MEDIA_LOCATION=./my-library
|
||||
> +IMMICH_MEDIA_LOCATION=/usr/src/app/my-library
|
||||
>
|
||||
> ```
|
||||
>
|
||||
>
|
||||
> 4. Start Immich (`docker compose up -d --force-recreate`)
|
||||
> 5. After the server successfully starts up, connect to it (`docker exec ``*-it*`` immich_server /bin/sh`) and run `immich-admin change-media-location`. When prompted, enter the appropriate values. For example:
|
||||
>
|
||||
> ```
|
||||
> docker exec -it immich_server /bin/sh
|
||||
>
|
||||
> $ immich-admin change-media-location
|
||||
> ...
|
||||
> ? Enter the previous value of IMMICH_MEDIA_LOCATION: ./my-library
|
||||
> ? Enter the new value of IMMICH_MEDIA_LOCATION: /usr/src/app/my-library
|
||||
>
|
||||
> Previous value: ./my-library
|
||||
> Current value: /usr/src/app/my-library
|
||||
>
|
||||
> Changing database paths from "my-library/*" to "/usr/src/app/my-library/*"
|
||||
>
|
||||
> ? Do you want to proceed? [Y/n] y
|
||||
>
|
||||
> Matching database file paths were updated successfully! 🎉
|
||||
>
|
||||
> You may now set IMMICH_MEDIA_LOCATION=/usr/src/app/my-library and restart!
|
||||
>
|
||||
> ```
|
||||
>
|
||||
>
|
||||
> ### Background/Motivation
|
||||
>
|
||||
> Relative paths have implied ambiguity, as they depend on the current working directory to resolve correctly, leading to issues like (#4465). This change removes this ambiguity and sets up the project to transition away from files living at `/usr/src/app/upload` entirely. Currently, the `upload` folder lives at `/usr/src/app/upload/upload`, which is *very* confusing… *for everyone*. This change opens to door for a future migration to something like `IMMICH_DATA=/data`, which a more sensible setup.
|
||||
>
|
||||
>
|
||||
> ## API Key changes (#20113)
|
||||
>
|
||||
> Note: This change may affect the use of third-party applications, such as ImmichGo, ImmichKios, or ImmichFrame.
|
||||
>
|
||||
> This release includes a change to how API Keys work, specifically when used with routes that don’t require a specific permission. Previously, a scoped API Key could access these routes, but they will now throw a forbidden error. Routes without a declared scope now implicitly require the “all” permission.
|
||||
|
||||
|
||||
# Highlights
|
||||
|
||||
Welcome to release `v1.136.0`. This midsummer release is the culmination of the team's labor of love for the Immich community, featuring the introduction of a new timeline and sync mechanism in beta mode, Android widgets, and one of the last breaking changes we want to make before reaching the stable release milestone. Let’s dive right into it.
|
||||
|
||||
* Beta mode for the new timeline, sync, and upload mechanism
|
||||
* Android widgets
|
||||
* iOS widget improvements
|
||||
* Deep links
|
||||
|
||||
## Beta timeline, sync, and upload mechanism
|
||||
|
||||
> [!NOTE]
|
||||
> This is only supported when both the server and the mobile app are updated to `v1.136.0`
|
||||
|
||||
This is a series of work that has been happening for months under the hood, from the changes in the database query engine, server’s queries, and support logic, to integrating a whole new database on the mobile app, and rewriting almost all aspects of the mobile app, you can now try the new timeline with data sync mechanism, and upload rework by go to the `App Settings > Toggle the Beta timeline button`. After toggling, you will be directed to a screen where data migration is executed automatically. You can then proceed to the new experience.
|
||||
|
||||
<p align="center">
|
||||
<img width="500" alt="image" src="https://github.com/user-attachments/assets/ede61e01-974d-4351-b074-b3dd461f71e6" />
|
||||
</p>
|
||||
|
||||
You can distinguish the beta timeline from the old one by the beta symbol next to the Immich logo in the app bar.
|
||||
|
||||
<p align="center">
|
||||
<img width="500" alt="image" src="https://github.com/user-attachments/assets/90ac6296-1315-4881-b2b1-dd4fbc7baf53" />
|
||||
</p>
|
||||
|
||||
### Why?
|
||||
|
||||
Over the past year, the major complaints we've received from users have primarily centered around the mobile app. The app simply doesn't feel premium or responsive—it's often janky and takes too long to become usable when first opened, especially when you have a large number of albums. Users can't even view their local albums unless they've selected them as backup targets. Our technical debt in the data structure has created some truly frustrating behaviors, like forcing users to re-upload everything (only to have it rejected by the server) when they switch phones and end up with a different device ID. Or local photos and videos don’t show up until they are all hashed, which could take a while.
|
||||
|
||||
We've realized we can't honestly call the application stable or confidently recommend it to everyone until we resolve these fundamental problems. We genuinely want this app to be excellent. We want the user experience to be seamless and delightful—we want you to feel genuinely happy when you open Immich to browse through your precious memories.
|
||||
|
||||
### What’s new?
|
||||
|
||||
#### Data sync
|
||||
- The data sync is now running in a background thread, separate from the UI thread. This means that during data synchronization, the app will remain smooth to browse.
|
||||
- The data sync speed should be improved drastically. The data is being streamed to the mobile app instead of being sent there in a single large chunk. This will help users with a massive library.
|
||||
- The calculation of which data needs to be retrieved from the server is now performed on the server, rather than being calculated by the mobile app previously. This means lower CPU usage on the mobile app and quicker incremental sync.
|
||||
- The mobile app will now retrieve data from the server and maintain similar database tables within the app. This restructuring enables better offline operation and supports more complex usage behaviors.
|
||||
|
||||
#### Timeline/Display experience
|
||||
- The new timeline has been rewritten from the ground up to enhance scrolling and dragging behavior, making it easier for you to navigate the timeline.
|
||||
- The detail viewer is now more interactive, allowing you to scroll between photos or videos when the bottom detail sheet is opened.
|
||||
- The album views and other collection views are more lively, featuring a parallax effect to make your album/collection feel alive with *mesmerizing* animation.
|
||||
- You can now view all albums on the device, regardless of which album you have selected as the target for backing up. You can view them in the \`Library > On this device\` section. For users who want to select individual assets to back up to the server, they can perform that operation from here.
|
||||
|
||||
#### Upload
|
||||
- The upload mechanism has been rewritten from the ground up.
|
||||
- Upload is now handled by the OS, allowing for a better background upload operation. Instead of handling the uploading ourselves, we are now placing the photos and videos in a queue, which will run continuously when the Immich app is opened in the foreground and for a few minutes after it is put into the background. Then the OS will take over and start pulling tasks from the queue, handling the upload process by itself.
|
||||
- Starting the upload progress is now invoked from a toggle button
|
||||
|
||||
<p align="center">
|
||||
<img width="400" alt="image" src="https://github.com/user-attachments/assets/270216ff-4698-412b-a9c6-37b795612e44" />
|
||||
</p>
|
||||
|
||||
- Uploads are now running **in parallel** . The new upload detail page displays which assets are being uploaded and whether they are experiencing issues or stuck. You can tap on each item to see exactly which asset is causing the problem.
|
||||
|
||||
<p align="center">
|
||||
<img width="400" alt="image" src="https://github.com/user-attachments/assets/8e319945-8b59-4bee-b41c-3172bef0b4fd" />
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<img width="400" alt="image" src="https://github.com/user-attachments/assets/bdfa4f7d-dabf-49fe-9ad4-661fdabc192c" />
|
||||
</p>
|
||||
|
||||
- On Android, there is no longer a virtual `Recents` album that includes all assets. Instead, there is a button to select all albums for backup.
|
||||
- In the backup album selection screen, you can now search for the album you want to back up.
|
||||
|
||||
#### Expectations of the beta version of the mentioned mechanisms
|
||||
|
||||
* The app should be very smooth to browse around during the initial login and subsequent app openings.
|
||||
* Collections (favorite, archived, locked folder, etc.) and album views should make you feel nice, cozy, and delighted.
|
||||
* Background queuing of newly taken photos is not yet implemented. We will start working on this next.
|
||||
* Some views are not yet ported over to the new implementation, such as, but not limited to
|
||||
* People view
|
||||
* Map view
|
||||
* Some mechanisms are still missing from the previous implementation, such as, but not limited to
|
||||
* Add to album from multi-selection
|
||||
* Album sync when uploading
|
||||
* There are still some buggy behaviors/animations we will be ironing out in the coming days.
|
||||
|
||||
### How can you help us?
|
||||
|
||||
* Use the beta timeline and the new upload rework.
|
||||
* Report any bugs and weirdness you experience on GitHub’s issue tracker `[beta] <your-title-here>` as the title
|
||||
* Reach out and provide direct feedback on [Discord](https://discord.com/invite/immich)
|
||||
* Feedback from iCloud users is greatly appreciated
|
||||
|
||||
## Android Widgets
|
||||
|
||||
<p align="center">
|
||||
<img width="400" alt="image" src="https://github.com/user-attachments/assets/86a12419-2ce8-4791-ba8c-a56911ccc659" />
|
||||
</p>
|
||||
|
||||
This is a follow-up to one of our most requested features: Home screen widgets! In `v1.135.0` We introduced Immich widgets on iOS, which included a memory widget and a random widget. With `v1.136.0`, we bring these widgets to Android! Many of the improvements to iOS widgets listed below have also been incorporated into the Android version.
|
||||
|
||||
## iOS Widget Improvements
|
||||
|
||||
iOS widgets have been improved with feedback from the community:
|
||||
|
||||
* iOS widgets now support servers that use insecure HTTP connections
|
||||
* iOS widgets now support servers that use WebP as their preview thumbnail format
|
||||
* Tapping on the widget now takes you directly to the image in the app
|
||||
* Widgets now render properly when used on a tinted home screen
|
||||
* iOS widgets now cache the latest image for use if network access is unavailable during update. You should see fewer “Unable to connect to your Immich instance” errors on your home screen!
|
||||
* You can now choose to show images from your Favorites in the Random Widget
|
||||
* Improved error descriptions
|
||||
|
||||
## Deep Links
|
||||
|
||||
You can now deep link into the Immich app. Supported URLs include:
|
||||
|
||||
* `immich://asset?id=<asset id>`
|
||||
* `immich://album?id=<album id>`
|
||||
* `immich://memory?id=<memory id>`
|
||||
|
||||
Some `my.immich.app` URLs will also now open inside the mobile app:
|
||||
|
||||
* `https://my.immich.app/photos/<asset id>`
|
||||
* `https://my.immich.app/albums/<album id>`
|
||||
|
||||
Navigating to any of these URLs (via the browser, Apple Shortcuts, NFC, or other automation frameworks) will open the corresponding resource inside the mobile app.
|
||||
|
||||
## In other news
|
||||
|
||||
We missed capturing the moment when the project reached `69_420` stars, 😔
|
||||
|
||||
<p align="center">
|
||||
|
||||
<img src="https://media4.giphy.com/media/v1.Y2lkPTc5MGI3NjExamxub2V4MTRzaHc0dXV5b3JiemEza2I0eWViN2h5bHluc2RjdWxoMCZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/WrNfErHio7ZAc/giphy.gif" width="500" >
|
||||
|
||||
</p>
|
||||
|
||||
|
||||
- - - -
|
||||
|
||||
## 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
|
||||
### 🚨 Breaking Changes
|
||||
* feat!: absolute file paths by @jrasm91 in https://github.com/immich-app/immich/pull/19995
|
||||
* fix: default route permission by @jrasm91 in https://github.com/immich-app/immich/pull/20113
|
||||
### 🚀 Features
|
||||
* feat(server): person delete by @jrasm91 in https://github.com/immich-app/immich/pull/19511
|
||||
* feat: nightly tasks by @jrasm91 in https://github.com/immich-app/immich/pull/19879
|
||||
* feat: add license page to app bar dialog by @shenlong-tanwen in https://github.com/immich-app/immich/pull/19971
|
||||
* feat(mobile): android widgets by @bwees in https://github.com/immich-app/immich/pull/19310
|
||||
* feat(mobile): beta sync stats page by @bwees in https://github.com/immich-app/immich/pull/19950
|
||||
### 🌟 Enhancements
|
||||
* fix(web): consistent merge people icons by @jrasm91 in https://github.com/immich-app/immich/pull/19473
|
||||
* feat(mobile): deep links by @bwees in https://github.com/immich-app/immich/pull/19232
|
||||
* feat(mobile): ios widget deeplink to asset in app by @bwees in https://github.com/immich-app/immich/pull/19510
|
||||
* feat(server): check additional exif date tags by @midzelis in https://github.com/immich-app/immich/pull/19216
|
||||
* feat: use request host as default SSR domain by @bo0tzz in https://github.com/immich-app/immich/pull/19485
|
||||
* feat: oauth role claim by @danieldietzler in https://github.com/immich-app/immich/pull/19758
|
||||
* chore: Use a contrasted color for text avatar by @ferraridamiano in https://github.com/immich-app/immich/pull/19756
|
||||
* feat(web): update icons by @Hamster45105 in https://github.com/immich-app/immich/pull/19831
|
||||
* feat(mobile): cache latest ios widget entry for fallback by @bwees in https://github.com/immich-app/immich/pull/19824
|
||||
* feat: adds option to search only for untagged assets by @SkwalExe in https://github.com/immich-app/immich/pull/19730
|
||||
* feat(web): better coordinate parsing by @Hamster45105 in https://github.com/immich-app/immich/pull/19832
|
||||
* feat(widgets): iOS widget improvements by @bwees in https://github.com/immich-app/immich/pull/19893
|
||||
* feat(mobile): new upload by @alextran1502 in https://github.com/immich-app/immich/pull/18726
|
||||
* feat: play live photos on hover by @bo0tzz in https://github.com/immich-app/immich/pull/19962
|
||||
* feat(web): Remove from Stack by @xCJPECKOVERx in https://github.com/immich-app/immich/pull/19703
|
||||
### 🐛 Bug fixes
|
||||
* fix(web): map cluster by @wuzihao051119 in https://github.com/immich-app/immich/pull/19433
|
||||
* fix: storage template onboarding save by @bwees in https://github.com/immich-app/immich/pull/19405
|
||||
* fix(web): map broken after redirect from details by @YarosMallorca in https://github.com/immich-app/immich/pull/19424
|
||||
* fix(server): filter parameters by database and role by @mertalev in https://github.com/immich-app/immich/pull/19392
|
||||
* fix(web): toggle favorite by @wuzihao051119 in https://github.com/immich-app/immich/pull/19453
|
||||
* fix(web): timeline timezone by @wuzihao051119 in https://github.com/immich-app/immich/pull/19418
|
||||
* fix(web): oauth quota display by @wuzihao051119 in https://github.com/immich-app/immich/pull/19417
|
||||
* fix(server): include hidden assets in missing metadata extraction query by @jrasm91 in https://github.com/immich-app/immich/pull/19471
|
||||
* fix: iOS widget webp support by @bwees in https://github.com/immich-app/immich/pull/19469
|
||||
* fix: return 404 for invalid shared link pages by @jrasm91 in https://github.com/immich-app/immich/pull/19493
|
||||
* fix(web): load day group in asset viewer by @wuzihao051119 in https://github.com/immich-app/immich/pull/19523
|
||||
* feat(deployment): add shm_size for PG by @mmomjian in https://github.com/immich-app/immich/pull/19472
|
||||
* fix: enable photo manager custom filter by default by @shenlong-tanwen in https://github.com/immich-app/immich/pull/19520
|
||||
* fix(web): absolute path match in external library by @wuzihao051119 in https://github.com/immich-app/immich/pull/19551
|
||||
* fix(web): modal race condition by @wuzihao051119 in https://github.com/immich-app/immich/pull/19625
|
||||
* fix(server): prevent duplicate geodata temp table by @mertalev in https://github.com/immich-app/immich/pull/18580
|
||||
* fix(web): viewing asset lock by @wuzihao051119 in https://github.com/immich-app/immich/pull/19499
|
||||
* fix: add quiet zone to QR code by @matthieu-db in https://github.com/immich-app/immich/pull/19771
|
||||
* fix(server): clear activity when asset is removed from album by @dahool in https://github.com/immich-app/immich/pull/19019
|
||||
* fix: allow insecure connections in iOS WidgetExtension by @made2k in https://github.com/immich-app/immich/pull/19863
|
||||
* fix: startup log level by @jrasm91 in https://github.com/immich-app/immich/pull/19885
|
||||
* fix(web): allow renaming person without merging by @lukashass in https://github.com/immich-app/immich/pull/19923
|
||||
* fix(web): adjust button size in person side panel by @lukashass in https://github.com/immich-app/immich/pull/19924
|
||||
* fix: use IMMICH_HOST env var in ML healthcheck by @bo0tzz in https://github.com/immich-app/immich/pull/19844
|
||||
* fix(web): prevent flashing white background in dark mode on page load/reload by @evan314159 in https://github.com/immich-app/immich/pull/19934
|
||||
* fix: send filename when viewing the original file by @MeguminSama in https://github.com/immich-app/immich/pull/20005
|
||||
* fix: ML recognition distance UI form validation by @danieldietzler in https://github.com/immich-app/immich/pull/20107
|
||||
* fix: unset prewarn param by @jrasm91 in https://github.com/immich-app/immich/pull/20109
|
||||
### 📚 Documentation
|
||||
* fix(docs): portainer absolute paths by @mmomjian in https://github.com/immich-app/immich/pull/19459
|
||||
* fix(docs): add DB_USERNAME when needed by @mmomjian in https://github.com/immich-app/immich/pull/19578
|
||||
* chore(docs): add instruction for trusting self-signed certificates with Immich and an OAuth server by @seifer44 in https://github.com/immich-app/immich/pull/18624
|
||||
* docs: document `DB_STORAGE_TYPE` environment variable by @ramonsmits in https://github.com/immich-app/immich/pull/19609
|
||||
* docs: fix typo of webp listed under jpeg by @OffsetMonkey538 in https://github.com/immich-app/immich/pull/19743
|
||||
* fix(docs): library and folders minor adjustments by @skatsubo in https://github.com/immich-app/immich/pull/19642
|
||||
* fix: path in external library docs by @DominikVogel in https://github.com/immich-app/immich/pull/19901
|
||||
* fix(docs): Nightly Tasks Settings by @skatsubo in https://github.com/immich-app/immich/pull/19907
|
||||
* chore: also redirect docs/ with trailing slash by @bo0tzz in https://github.com/immich-app/immich/pull/19965
|
||||
### 🌐 Translations
|
||||
* feat(mobile): enable Croatian (hr) translations by @fmis13 in https://github.com/immich-app/immich/pull/19428
|
||||
* chore: adjust setting subtitle to less clumsy expression by @lcs-crr in https://github.com/immich-app/immich/pull/19970
|
||||
* chore(web): update translations by @weblate in https://github.com/immich-app/immich/pull/19228
|
||||
* chore(web): update translations by @weblate in https://github.com/immich-app/immich/pull/20076
|
||||
* fix: more inclusive language by @maybeanerd in https://github.com/immich-app/immich/pull/20092
|
||||
* chore(web): update translations by @weblate in https://github.com/immich-app/immich/pull/20082
|
||||
|
||||
## New Contributors
|
||||
* @fmis13 made their first contribution in https://github.com/immich-app/immich/pull/19428
|
||||
* @seifer44 made their first contribution in https://github.com/immich-app/immich/pull/18624
|
||||
* @ramonsmits made their first contribution in https://github.com/immich-app/immich/pull/19609
|
||||
* @OffsetMonkey538 made their first contribution in https://github.com/immich-app/immich/pull/19743
|
||||
* @matthieu-db made their first contribution in https://github.com/immich-app/immich/pull/19771
|
||||
* @Hamster45105 made their first contribution in https://github.com/immich-app/immich/pull/19831
|
||||
* @SkwalExe made their first contribution in https://github.com/immich-app/immich/pull/19730
|
||||
* @made2k made their first contribution in https://github.com/immich-app/immich/pull/19863
|
||||
* @DominikVogel made their first contribution in https://github.com/immich-app/immich/pull/19901
|
||||
* @evan314159 made their first contribution in https://github.com/immich-app/immich/pull/19934
|
||||
* @lcs-crr made their first contribution in https://github.com/immich-app/immich/pull/19970
|
||||
* @MeguminSama made their first contribution in https://github.com/immich-app/immich/pull/20005
|
||||
* @maybeanerd made their first contribution in https://github.com/immich-app/immich/pull/20092
|
||||
|
||||
**Full Changelog**: https://github.com/immich-app/immich/compare/v1.135.3...v1.136.0
|
||||
338
services/immich/review-examples/manual-3.txt
Normal file
338
services/immich/review-examples/manual-3.txt
Normal file
|
|
@ -0,0 +1,338 @@
|
|||
action: manual
|
||||
reason: Major database engine migration from pgvecto.rs to VectorChord. Requires taking a database backup and manually editing docker-compose.yml to change the postgres image before updating.
|
||||
---
|
||||
# v1.133.0 - The Hot Summer Release
|
||||
|
||||
|
||||
> [!CAUTION]
|
||||
> # BREAKING CHANGES
|
||||
>
|
||||
> 1. ## Mobile app version
|
||||
>
|
||||
> Please make sure to have the mobile app and the server on the same version for this release. Older versions of the mobile app will not work correctly with version `v1.133.0` of the server. At the time of this release, the updated version of the mobile app should be available on the app stores.
|
||||
>
|
||||
>
|
||||
> 2. ## Upgrading the server from a very old release
|
||||
>
|
||||
> As of 1.133.0, Immich only supports upgrading directly from 1.107.2 or later. If you’re trying to upgrade a version of Immich below this, please upgrade to 1.107.2 first and ensure Immich starts up successfully before continuing to the latest release.
|
||||
>
|
||||
>
|
||||
> 3. ## New database vector extension
|
||||
>
|
||||
> We are migrating off the deprecated pgvecto.rs database extension to its successor [VectorChord](https://github.com/tensorchord/VectorChord), which comes with performance improvements in almost all aspects. This change is a major milestone we want to perform prior to the stable release.
|
||||
>
|
||||
>
|
||||
> Before making any other changes, please [back up your database](https://immich.app/docs/administration/backup-and-restore). While every effort has been made to make this migration as smooth as possible, there’s always a chance that something can go wrong.
|
||||
>
|
||||
>
|
||||
> After making a backup, please modify your `docker-compose.yml` file with the following information.
|
||||
|
||||
```diff
|
||||
[...]
|
||||
|
||||
database:
|
||||
container_name: immich_postgres
|
||||
- image: docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:739cdd626151ff1f796dc95a6591b55a714f341c737e27f045019ceabf8e8c52
|
||||
+ image: ghcr.io/immich-app/postgres:14-vectorchord0.3.0-pgvectors0.2.0
|
||||
environment:
|
||||
POSTGRES_PASSWORD: ${DB_PASSWORD}
|
||||
POSTGRES_USER: ${DB_USERNAME}
|
||||
POSTGRES_DB: ${DB_DATABASE_NAME}
|
||||
POSTGRES_INITDB_ARGS: '--data-checksums'
|
||||
+ # Uncomment the DB_STORAGE_TYPE: 'HDD' var if your database isn't stored on SSDs
|
||||
+ # DB_STORAGE_TYPE: 'HDD'
|
||||
volumes:
|
||||
# Do not edit the next line. If you want to change the database storage location on your system, edit the value of DB_DATA_LOCATION in the .env file
|
||||
- ${DB_DATA_LOCATION}:/var/lib/postgresql/data
|
||||
- healthcheck:
|
||||
- test: >-
|
||||
- pg_isready --dbname="$${POSTGRES_DB}" --username="$${POSTGRES_USER}" || exit 1;
|
||||
- Chksum="$$(psql --dbname="$${POSTGRES_DB}" --username="$${POSTGRES_USER}" --tuples-only --no-align
|
||||
- --command='SELECT COALESCE(SUM(checksum_failures), 0) FROM pg_stat_database')";
|
||||
- echo "checksum failure count is $$Chksum";
|
||||
- [ "$$Chksum" = '0' ] || exit 1
|
||||
- interval: 5m
|
||||
- start_interval: 30s
|
||||
- start_period: 5m
|
||||
- command: >-
|
||||
- postgres
|
||||
- -c shared_preload_libraries=vectors.so
|
||||
- -c 'search_path="$$user", public, vectors'
|
||||
- -c logging_collector=on
|
||||
- -c max_wal_size=2GB
|
||||
- -c shared_buffers=512MB
|
||||
- -c wal_compression=on
|
||||
restart: always
|
||||
|
||||
[...]
|
||||
```
|
||||
|
||||
If you deviated from the defaults of pg14 or pgvectors0.2.0, you must adjust the pg major version and pgvecto.rs version. If you are still using the default `docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0` image, you can just follow the changes above. For example, if the previous image is `docker.io/tensorchord/pgvecto-rs:pg16-v0.3.0`, the new image should be `ghcr.io/immich-app/postgres:16-vectorchord0.3.0-pgvectors0.3.0` instead of the image specified in the diff.
|
||||
|
||||
After making these changes, you can start Immich as normal. Immich will make some changes to the DB during startup, which can take seconds to minutes to finish, depending on hardware and library size. In particular, it’s normal for the server logs to be seemingly stuck at `Reindexing clip_index` and `Reindexing face_index`for some time if you have over 100k assets in Immich and/or Immich is on a relatively weak server. If you see these logs and there are no errors, just give it time.
|
||||
|
||||
> [!IMPORTANT]
|
||||
> Note: after switching to VectorChord, you should not downgrade Immich below 1.133.0.
|
||||
>
|
||||
|
||||
|
||||
Please don’t hesitate to contact us here on GitHub or [Discord](https://discord.immich.app/) if you encounter migration issues.
|
||||
|
||||
## VectorChord FAQ
|
||||
|
||||
### I have a separate PostgreSQL instance shared with multiple services. How can I switch to VectorChord?
|
||||
|
||||
Please see [https://immich.app/docs/administration/postgres-standalone#migrating-to-vectorchord](https://immich.app/docs/administration/postgres-standalone#migrating-to-vectorchord) for migration instructions. The migration path will be different depending on whether you’re currently using pgvecto.rs or pgvector, as well as whether Immich has superuser DB permissions.
|
||||
|
||||
### What will happen if I upgrade Immich to 1.133.0 without changing the DB image?
|
||||
|
||||
Immich will auto-detect the vector extension available in the DB and continue to work without manual intervention. However, we will drop support for pgvecto.rs in a later release, so please switch at your convenience.
|
||||
|
||||
### I’m using a different deployment method than Docker Compose. How should I migrate?
|
||||
|
||||
If you’re using Immich through turnkey deployment methods such as TrueNAS apps, the respective maintainers will either perform the migration transparently or inform you of what to do if not.
|
||||
|
||||
### Why are so many lines removed from the `docker-compose.yml` file? Does this mean the health check is removed?
|
||||
|
||||
These lines are now incorporated into the image itself along with some additional tuning.
|
||||
|
||||
### What does this change mean for my existing DB backups?
|
||||
|
||||
The new DB image includes pgvector and pgvecto.rs in addition to VectorChord, so you can use this image to restore from existing backups that used either of these extensions. However, backups made after switching to VectorChord require an image containing VectorChord to restore successfully.
|
||||
|
||||
### Do I still need pgvecto.rs installed after migrating to VectorChord?
|
||||
|
||||
pgvecto.rs only needs to be available during the migration, or if you need to restore from a backup that used pgvecto.rs. For a leaner DB and a smaller image, you can optionally switch to an image variant that doesn’t have pgvecto.rs installed after you’ve performed the migration and started Immich: `ghcr.io/immich-app/postgres:14-vectorchord0.3.0`, changing the PostgreSQL version as appropriate.
|
||||
|
||||
### Why does it matter whether my database is on an SSD or an HDD?
|
||||
|
||||
These storage mediums have different performance characteristics. As a result, the optimal settings for an SSD are not the same as those for an HDD. Either configuration is compatible with SSD and HDD, but using the right configuration will make Immich snappier. As a general tip, we recommend users store the database on an SSD whenever possible.
|
||||
|
||||
### Can I use the new database image as a general PostgreSQL image outside of Immich?
|
||||
|
||||
It’s a standard PostgreSQL container image that additionally contains the VectorChord, pgvector, and (optionally) pgvecto.rs extensions. If you were using the previous pgvecto.rs image for other purposes, you can similarly do so with this image.
|
||||
|
||||
### If pgvecto.rs and pgvector still work, why should I switch to VectorChord?
|
||||
|
||||
VectorChord is faster, more stable, uses less RAM, and (with the settings Immich uses) offers higher-quality results than pgvector and pgvecto.rs. This translates to better search and facial recognition experiences. In addition, pgvecto.rs support will be dropped in the future, so changing it sooner will avoid disruption.
|
||||
|
||||
- - - -
|
||||
|
||||
## Highlights
|
||||
|
||||
Welcome to the release `v1.133.0` of Immich, which is the hottest release yet for this summer, with more than 200 commits since the last version. This version brings you a new database extension, an even more optimized and faster timeline, more unified components on the web, some cool new features that have been requested for a long time, and many bug fixes and improvements. Let’s dive in!
|
||||
|
||||
* VectorChord database extension
|
||||
* In-app notification
|
||||
* Show map in albums view (web only)
|
||||
* Locked folder
|
||||
* Google Cast Support (web only)
|
||||
* User detail page
|
||||
* RTL text support on the web
|
||||
* Performance improvement in web timeline
|
||||
* Notable fix: thumbnail caching issue on the mobile app
|
||||
* Notable fix: For users who use OAuth, you can now configure `TOKEN_ENDPOINT_AUTH_METHOD` to either `client_sect_post` or `client_secret_basic` after entering the `CLIENT_SECRET`
|
||||
* Sneak peek
|
||||
|
||||
### In-app notification
|
||||
|
||||
Introducing an in-app, or internal, notification system. Previously, there was no way to notify you on the client if a database backup failed. Now, the failed backup will show up under a new notification section on the web. This mechanism paves the way for other helpful notifications, such as when a new album is shared with you or when new assets are added to a shared album, directly in the app.
|
||||
|
||||
<p align="center">
|
||||
<img width="250" src="https://github.com/user-attachments/assets/fba2adee-f14b-43ef-b61e-359f7196fc12" />
|
||||
<img width="250" src="https://github.com/user-attachments/assets/d98b7aca-5890-42cf-bbc7-72f6eb8080ad" />
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
### Show map in albums view
|
||||
|
||||
On the web, you can now click this button to see the map view that shows the location of all the photos and videos in an album.
|
||||
|
||||
<p align="center">
|
||||
<img width="350" src="https://github.com/user-attachments/assets/814c217c-58d7-44d0-abfe-06f063cdb0a2" />
|
||||
|
||||
<img width="800" src="https://github.com/user-attachments/assets/04c623d4-fb86-4b8b-9d9f-b1921caccccb" />
|
||||
</p>
|
||||
|
||||
### Locked folder
|
||||
|
||||
Have you ever taken embarrassing selfies that you don’t want anyone to see, and worry that you could accidentally reveal them while showcasing your superb Immich library? **Locked folder** view got you covered, with a personal PIN code, and an option to use biometric verification on the mobile app. You can access the page from the sidebar on the web or in the `Library` page on the app
|
||||
|
||||
<p align="center">
|
||||
<img width="350" src="https://github.com/user-attachments/assets/d0012b99-a77f-4d8f-a7b3-fb1d1728dfe0" />
|
||||
</p>
|
||||
|
||||
https://github.com/user-attachments/assets/f0d33556-54db-44fa-88cb-10399cd2df2d
|
||||
|
||||
<p align="center">
|
||||
<img width="550" src="https://github.com/user-attachments/assets/087a836c-0280-4391-bab5-69ecf2dbd2fe" />
|
||||
)
|
||||
</p>
|
||||
|
||||
You can select any assets and add them to the locked folder. They will only be shown in the locked folder view.
|
||||
|
||||
### Google Cast Support
|
||||
|
||||
|
||||
We now have casting support! Immich now supports casting to Google Cast enabled devices like the Google Chromecast. This feature is currently only available on the web, with mobile app support coming in the near future. You can use images, videos and slideshows with casting.
|
||||
|
||||
<p align="center">
|
||||
<img width="400" alt="image" src="https://github.com/user-attachments/assets/2e7f10c1-ba38-482b-a46f-4dcecc0df13e" />
|
||||
|
||||
|
||||
<img width="1163" alt="image" src="https://github.com/user-attachments/assets/db1e45ec-8395-4982-8600-8248a0e51cdc" />
|
||||
</p>
|
||||
|
||||
> [!NOTE]
|
||||
>
|
||||
> Your Immich instance must be accessed through a public HTTPS endpoint in order for the casting device to successfully load media. Accessing the instance and casting from a private HTTPS endpoint (or an HTTP endpoint) will result in the cast receiver failing to load any media.
|
||||
|
||||
|
||||
### User detail page
|
||||
|
||||
From the user management page of the admin view, you can now get a more in-depth view of individual users for their information, usage statistics, and which features they have enabled, etc, by clicking on the email from the user’s table
|
||||
|
||||
<p align="center">
|
||||
<img width="500" alt="image" src="https://github.com/user-attachments/assets/4b951ee3-0322-4a20-8176-73e70d25453b" />
|
||||
|
||||
<img width="800" alt="image" src="https://github.com/user-attachments/assets/d936c01f-d4fd-45ee-9435-ee08837a6003" />
|
||||
</p>
|
||||
|
||||
### RTL text support on the web
|
||||
|
||||
The web styling has been changed to accommodate RTL languages
|
||||
|
||||
<img width="800" alt="image" src="https://github.com/user-attachments/assets/39fd9ded-f557-4538-b5f3-9ef79f593862" />
|
||||
|
||||
### Performance improvement in web timeline
|
||||
|
||||
Last time, we discussed thinking that the timeline performance has reached its prime and that adding more gains would be difficult. In this release, we managed to squeeze that gain like a ripe orange.
|
||||
|
||||
The timeline will automatically cancel the requests to the server when you scroll very fast, displaying the thumbnails instantaneously when the scrolling stops. Previously, the web needed to finish the requests for the thumbnails being scrolled by, even if they are not displayed on the viewport. This change significantly reduces the load time.
|
||||
|
||||
An additional optimization has been made to reduce the data packet for each thumbnail to about 30% of its original size. This optimization contributes to a greater loading speed on the timeline.
|
||||
|
||||
We hope you enjoy these impressive improvements.
|
||||
|
||||
|
||||
### Sneak Peak
|
||||
|
||||
Besides the cool features and enhancements that made their way into the application, along with many bug fixes, our highest priority at the moment is moving toward the stable release. A big chunk of time and dedication from the team is now spent on improving the mobile app synchronization system, basically rewriting the flow and designing the data model from the ground up. At the same time, we’re working to properly allocate CPU-intensive tasks to background threads to avoid app stuttering and jerkiness when the data sync between the server and the mobile app happens.
|
||||
|
||||
Below is the chart result comparing the local album sync between the current version and the reworked version.
|
||||
|
||||
**Current version**
|
||||

|
||||
|
||||
|
||||
**Improved version**
|
||||

|
||||
|
||||
|
||||
We are working hard to get it into the application in the coming months and are very excited about this new improvement.
|
||||
|
||||
|
||||
Cheers!
|
||||
|
||||
The Immich Team
|
||||
|
||||
## 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 purchase our merchandise at https://immich.store
|
||||
|
||||
|
||||
|
||||
<!-- Release notes generated using configuration in .github/release.yml at main -->
|
||||
|
||||
## What's Changed
|
||||
### 🚨 Breaking Changes
|
||||
* refactor: user avatar color by @jrasm91 in https://github.com/immich-app/immich/pull/17753
|
||||
* chore: remove old memory lane implementation by @jrasm91 in https://github.com/immich-app/immich/pull/18000
|
||||
* feat: vectorchord by @mertalev in https://github.com/immich-app/immich/pull/18042
|
||||
### 🚀 Features
|
||||
* feat: rtl by @jrasm91 in https://github.com/immich-app/immich/pull/17860
|
||||
* feat: notifications by @jrasm91 in https://github.com/immich-app/immich/pull/17701
|
||||
* feat(web): Map in albums & shared albums by @davidpcrd in https://github.com/immich-app/immich/pull/17906
|
||||
* feat(server): visibility column by @alextran1502 in https://github.com/immich-app/immich/pull/17939
|
||||
* feat: user pin-code by @alextran1502 in https://github.com/immich-app/immich/pull/18138
|
||||
* feat(web): user detail page by @jrasm91 in https://github.com/immich-app/immich/pull/18230
|
||||
* feat: locked/private view by @alextran1502 in https://github.com/immich-app/immich/pull/18268
|
||||
* feat: add session creation endpoint by @bwees in https://github.com/immich-app/immich/pull/18295
|
||||
* feat(web): continue after login by @jrasm91 in https://github.com/immich-app/immich/pull/18302
|
||||
* feat: bulk change description by @koostamas in https://github.com/immich-app/immich/pull/18288
|
||||
* feat: locked view mobile by @alextran1502 in https://github.com/immich-app/immich/pull/18316
|
||||
* feat(web): add support for casting by @bwees in https://github.com/immich-app/immich/pull/18231
|
||||
### 🌟 Enhancements
|
||||
* feat: api response compression by @zackpollard in https://github.com/immich-app/immich/pull/17878
|
||||
* feat(mobile): Capitalize month names in asset grid by @atollk in https://github.com/immich-app/immich/pull/17898
|
||||
* feat: preload and cancel images with a service worker by @midzelis in https://github.com/immich-app/immich/pull/16893
|
||||
* feat(mobile): save grid size on gesture resize by @YarosMallorca in https://github.com/immich-app/immich/pull/17891
|
||||
* feat(web): move duplicates controls above preview of duplicate images by @LukeTowers in https://github.com/immich-app/immich/pull/17837
|
||||
* feat(server): JXL previews from DNG 1.7+ by @eligao in https://github.com/immich-app/immich/pull/17861
|
||||
* feat(web): responsive date group header height by @midzelis in https://github.com/immich-app/immich/pull/17944
|
||||
* feat: configure token endpoint auth method by @jrasm91 in https://github.com/immich-app/immich/pull/17968
|
||||
* feat: Add DB_SSL_MODE environment variable for Postgres sslmode by @typokign in https://github.com/immich-app/immich/pull/18025
|
||||
* feat(web): stat card tweaks by @jrasm91 in https://github.com/immich-app/immich/pull/18189
|
||||
* feat(web): clear person birthdate by @jrasm91 in https://github.com/immich-app/immich/pull/18330
|
||||
* fix(web): format dates with the locale preference by @Sese-Schneider in https://github.com/immich-app/immich/pull/18259
|
||||
* feat(web): lighter timeline buckets by @midzelis in https://github.com/immich-app/immich/pull/17719
|
||||
* feat(server): sort images in duplicate groups by date by @GeoffreyFrogeye in https://github.com/immich-app/immich/pull/18347
|
||||
* feat(server): lighter buckets by @midzelis in https://github.com/immich-app/immich/pull/17831
|
||||
### 🐛 Bug fixes
|
||||
* fix(web): Make date-time formatting follow locale by @atollk in https://github.com/immich-app/immich/pull/17899
|
||||
* fix(mobile): Share page URL by @mmomjian in https://github.com/immich-app/immich/pull/17834
|
||||
* fix(server): handle orientation of imported face regions by @skatsubo in https://github.com/immich-app/immich/pull/18021
|
||||
* fix: update assets when `duplicateId` is provided as `null` by @TitanNano in https://github.com/immich-app/immich/pull/18071
|
||||
* fix(mobile): empty translation placeholders by @shenlong-tanwen in https://github.com/immich-app/immich/pull/18063
|
||||
* fix(server): more robust person thumbnail generation by @mertalev in https://github.com/immich-app/immich/pull/17974
|
||||
* fix(mobile): Remote video playback and asset download on Android with mTLS by @rovo89 in https://github.com/immich-app/immich/pull/16403
|
||||
* fix: z-index war in the asset viewer by @danieldietzler in https://github.com/immich-app/immich/pull/18091
|
||||
* fix: properly work with languages with multiple scripts by @LPkkjHD in https://github.com/immich-app/immich/pull/18167
|
||||
* fix(web): user restore by @jrasm91 in https://github.com/immich-app/immich/pull/18188
|
||||
* fix(server): vacuum after deleting people by @mertalev in https://github.com/immich-app/immich/pull/18299
|
||||
* refactor(server): "on this day" memory creation by @mertalev in https://github.com/immich-app/immich/pull/18333
|
||||
* fix(web): Make QR code colors solid by @Snowknight26 in https://github.com/immich-app/immich/pull/18340
|
||||
* fix: delay settings apply for slideshow popup by @dj0024javia in https://github.com/immich-app/immich/pull/18028
|
||||
* fix(mobile): reduce stutter/jank on search pages by @Saschl in https://github.com/immich-app/immich/pull/18363
|
||||
* fix(mobile): stale thumbnail cache by @alextran1502 in https://github.com/immich-app/immich/pull/18351
|
||||
* fix(server): select main stream according to bitrate by @wuzihao051119 in https://github.com/immich-app/immich/pull/18375
|
||||
* fix(mobile): do not continue on remote stream parse error by @shenlong-tanwen in https://github.com/immich-app/immich/pull/18344
|
||||
### 📚 Documentation
|
||||
* fix: documentation - synology install docker link by @peterdenham in https://github.com/immich-app/immich/pull/18084
|
||||
* fix(docs): update nginx reverse proxy by @mmomjian in https://github.com/immich-app/immich/pull/18104
|
||||
* fix(docs): remove old patch versions from version switcher by @NicholasFlamy in https://github.com/immich-app/immich/pull/18130
|
||||
* chore: update truenas install guide by @DjP-iX in https://github.com/immich-app/immich/pull/18142
|
||||
* docs: face lift, botox x3 by @alextran1502 in https://github.com/immich-app/immich/pull/18184
|
||||
* fix(docs): Update old jellyfin docs links by @tetrois in https://github.com/immich-app/immich/pull/18311
|
||||
* chore: update docker-compose to add storage type configuration by @zackpollard in https://github.com/immich-app/immich/pull/18415
|
||||
* fix(docs): vchord migration by @mmomjian in https://github.com/immich-app/immich/pull/18418
|
||||
* chore: remove duplicate finder from community projects by @bo0tzz in https://github.com/immich-app/immich/pull/18424
|
||||
* chore: update milestones by @danieldietzler in https://github.com/immich-app/immich/pull/18426
|
||||
### 🌐 Translations
|
||||
* chore(mobile): translate toast messages by @ben-basten in https://github.com/immich-app/immich/pull/17964
|
||||
* fix: add missing translations to face editor by @danieldietzler in https://github.com/immich-app/immich/pull/17993
|
||||
* chore(web): update translations by @weblate in https://github.com/immich-app/immich/pull/17817
|
||||
* chore: add language requests from weblate by @danieldietzler in https://github.com/immich-app/immich/pull/18050
|
||||
* chore(web): update translations by @weblate in https://github.com/immich-app/immich/pull/18083
|
||||
|
||||
## New Contributors
|
||||
* @LukeTowers made their first contribution in https://github.com/immich-app/immich/pull/17837
|
||||
* @davidpcrd made their first contribution in https://github.com/immich-app/immich/pull/17906
|
||||
* @peterdenham made their first contribution in https://github.com/immich-app/immich/pull/18084
|
||||
* @TitanNano made their first contribution in https://github.com/immich-app/immich/pull/18071
|
||||
* @typokign made their first contribution in https://github.com/immich-app/immich/pull/18025
|
||||
* @dahool made their first contribution in https://github.com/immich-app/immich/pull/18127
|
||||
* @LPkkjHD made their first contribution in https://github.com/immich-app/immich/pull/18167
|
||||
* @tetrois made their first contribution in https://github.com/immich-app/immich/pull/18311
|
||||
* @koostamas made their first contribution in https://github.com/immich-app/immich/pull/18288
|
||||
* @dj0024javia made their first contribution in https://github.com/immich-app/immich/pull/18028
|
||||
* @TomK32 made their first contribution in https://github.com/immich-app/immich/pull/17309
|
||||
|
||||
**Full Changelog**: https://github.com/immich-app/immich/compare/v1.132.3...
|
||||
10
services/mastodon/config.yaml
Normal file
10
services/mastodon/config.yaml
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
name: Mastodon
|
||||
base_url: https://toot.jeena.net/
|
||||
current_version_url: https://toot.jeena.net/api/v1/instance
|
||||
current_version_extract:
|
||||
type: jsonpath
|
||||
value: $.version
|
||||
upstream_latest_version_url: https://api.github.com/repos/mastodon/mastodon/releases/latest
|
||||
upstream_latest_extract:
|
||||
type: jsonpath
|
||||
value: $.tag_name
|
||||
10
services/open-webui/config.yaml
Normal file
10
services/open-webui/config.yaml
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
name: Open WebUI AI
|
||||
base_url: https://ai.bundang.swierczyniec.info/
|
||||
current_version_url: https://ai.bundang.swierczyniec.info/api/version
|
||||
current_version_extract:
|
||||
type: jsonpath
|
||||
value: $.version
|
||||
upstream_latest_version_url: https://api.github.com/repos/open-webui/open-webui/releases/latest
|
||||
upstream_latest_extract:
|
||||
type: jsonpath
|
||||
value: $.tag_name
|
||||
13
services/paperless/config.yaml
Normal file
13
services/paperless/config.yaml
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
name: Paperless
|
||||
base_url: https://paperless.jeena.net/
|
||||
current_version_url: https://paperless.jeena.net/api/documents/
|
||||
current_version_extract:
|
||||
type: header
|
||||
value: x-version
|
||||
current_version_headers:
|
||||
Authorization: Token {env:PAPERLESS_API_TOKEN}
|
||||
upstream_latest_version_url: https://api.github.com/repos/paperless-ngx/paperless-ngx/releases/latest
|
||||
upstream_latest_extract:
|
||||
type: jsonpath
|
||||
value: $.tag_name
|
||||
notes: Uses x-version response header from authenticated API request.
|
||||
10
services/peertube/config.yaml
Normal file
10
services/peertube/config.yaml
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
name: PeerTube
|
||||
base_url: https://tube.jeena.net/
|
||||
current_version_url: https://tube.jeena.net/api/v1/config
|
||||
current_version_extract:
|
||||
type: jsonpath
|
||||
value: $.serverVersion
|
||||
upstream_latest_version_url: https://api.github.com/repos/Chocobozzz/PeerTube/releases/latest
|
||||
upstream_latest_extract:
|
||||
type: jsonpath
|
||||
value: $.tag_name
|
||||
10
services/piefed/config.yaml
Normal file
10
services/piefed/config.yaml
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
name: PieFed
|
||||
base_url: https://piefed.jeena.net/
|
||||
current_version_url: https://piefed.jeena.net/api/v3/site
|
||||
current_version_extract:
|
||||
type: jsonpath
|
||||
value: $.version
|
||||
upstream_latest_version_url: https://codeberg.org/api/v1/repos/rimu/pyfedi/releases/latest
|
||||
upstream_latest_extract:
|
||||
type: jsonpath
|
||||
value: $.tag_name
|
||||
13
services/uptime-kuma/config.yaml
Normal file
13
services/uptime-kuma/config.yaml
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
name: Uptime Kuma
|
||||
base_url: https://uptime.jeena.net/
|
||||
current_version_url:
|
||||
current_version_extract:
|
||||
login_socket:
|
||||
url: https://uptime.jeena.net/
|
||||
username_env: UPTIME_KUMA_USERNAME
|
||||
password_env: UPTIME_KUMA_PASSWORD
|
||||
upstream_latest_version_url: https://api.github.com/repos/louislam/uptime-kuma/releases/latest
|
||||
upstream_latest_extract:
|
||||
type: jsonpath
|
||||
value: $.tag_name
|
||||
notes: Version retrieved via authenticated Socket.IO info event.
|
||||
Loading…
Add table
Add a link
Reference in a new issue