Commit Graph

10696 Commits

Author SHA1 Message Date
aa1099bd90 chore(deps): update ghcr.io/renovatebot/renovate docker tag to v43.102.2 (#5350)
All checks were successful
renovate / renovate (push) Successful in 8m29s
2026-04-01 01:05:07 +00:00
0b1b2d4b8d chore(deps): update ghcr.io/renovatebot/renovate docker tag to v43.102.2 (#5350)
Some checks failed
renovate / renovate (push) Has been cancelled
2026-04-01 01:04:58 +00:00
b4b211f002 chore(deps): update ghcr.io/jellyfin/jellyfin docker tag to v10.11.7 (#5349)
Some checks failed
renovate / renovate (push) Has been cancelled
lint-test-helm / lint-helm (push) Successful in 1m5s
lint-test-helm / validate-kubeconform (push) Has been skipped
2026-04-01 01:04:34 +00:00
50cfb00eb6 feat: change to alpine (#5347)
All checks were successful
lint-test-helm / lint-helm (push) Successful in 28s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Successful in 16m15s
Reviewed-on: #5347
2026-04-01 00:28:07 +00:00
ec887da62d chore(deps): update deluan/navidrome docker tag to v0.61.0 (#5344)
Some checks failed
lint-test-helm / lint-helm (push) Successful in 16s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Has been cancelled
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [deluan/navidrome](https://github.com/navidrome/navidrome) | minor | `0.60.3` → `0.61.0` |

---

### Release Notes

<details>
<summary>navidrome/navidrome (deluan/navidrome)</summary>

### [`v0.61.0`](https://github.com/navidrome/navidrome/releases/tag/v0.61.0)

[Compare Source](https://github.com/navidrome/navidrome/compare/v0.60.3...v0.61.0)

This version brings a comprehensive **Artwork overhaul**, with per-disc cover art, artist image uploads, animated image preservation, and a faster image pipeline powered by WebP encoding. You can now upload custom artwork for playlists, artists, and internet radios directly from the UI, and multi-disc albums will automatically pick up disc-specific cover images.

**Search** has been completely rebuilt on top of SQLite FTS5 with two-phase BM25 ranking, delivering faster and more accurate results across your entire library.

**Transcoding** is now fully server-managed: Navidrome detects client codecs, applies format-aware bitrate defaults, and implements the [OpenSubsonic Transcoding extension](https://opensubsonic.netlify.app/docs/extensions/transcoding/), so clients no longer need to guess what format to request.

The **Plugin System** continues to mature with new host services for HTTP requests, persistent task queues, lyrics providers, and key-value storage with TTL support, giving plugin developers more tools to build powerful integrations.

#### Security

- Bump `golang.org/x/image` to v0.38.0 to address CVE-2026-33809. ([#&#8203;5268](https://github.com/navidrome/navidrome/pull/5268))
- Add ownership checks to share Delete and Update operations, preventing unauthorized access to other users' shares. ([#&#8203;5189](https://github.com/navidrome/navidrome/pull/5189) by [@&#8203;deluan](https://github.com/deluan))
- Clear server-managed fields in savePlaylist to prevent field injection via REST API. ([f102036dc](https://github.com/navidrome/navidrome/commit/f102036dc) by [@&#8203;deluan](https://github.com/deluan))

#### ⚠️ Breaking Changes

- Remove built-in Spotify integration. The `Spotify.ID` and `Spotify.Secret` configuration options are no longer supported. Use the Last.fm or Deezer agents, or a plugin for similar functionality, like the new [Apple Music Plugin](https://github.com/navidrome/apple-music-plugin). ([#&#8203;5197](https://github.com/navidrome/navidrome/pull/5197) by [@&#8203;deluan](https://github.com/deluan))

#### Configuration Changes

| Status  | Option                                 | Description                                                                                                                                                                       | Default                                                              |
| ------- | -------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------- |
| New     | `EnableArtworkUpload`                  | Enable uploading custom artwork for playlists and artists. ([#&#8203;5110](https://github.com/navidrome/navidrome/pull/5110), [#&#8203;5198](https://github.com/navidrome/navidrome/pull/5198)) | `true`                                                               |
| New     | `EnableM3UExternalAlbumArt`            | Enable fetching album art URLs from `#EXTALBUMARTURL` directives in M3U playlists. ([#&#8203;5131](https://github.com/navidrome/navidrome/pull/5131))                                    | `false`                                                              |
| New     | `DiscArtPriority`                      | Priority list for disc-level cover art sources. ([#&#8203;5182](https://github.com/navidrome/navidrome/pull/5182))                                                                       | `disc*.*, cd*.*, cover.*, folder.*, front.*, discsubtitle, embedded` |
| New     | `ArtistImageFolder`                    | Folder name to search for artist images within the library. ([#&#8203;5198](https://github.com/navidrome/navidrome/pull/5198))                                                           | —                                                                    |
| New     | `Search.Backend`                       | Search backend to use (`fts` for FTS5 full-text search). ([#&#8203;5079](https://github.com/navidrome/navidrome/pull/5079))                                                              | `fts`                                                                |
| New     | `ExtAuth.LogoutURL`                    | URL to redirect to when logging out with external authentication. ([#&#8203;5074](https://github.com/navidrome/navidrome/pull/5074))                                                     | `""`                                                                 |
| New     | `Subsonic.AppendAlbumVersion`          | Append album version/edition to album names in Subsonic API responses. ([#&#8203;5111](https://github.com/navidrome/navidrome/pull/5111))                                                | `true`                                                               |
| New     | `UISearchDebounceMs`                   | Debounce delay for the UI search field. ([#&#8203;5079](https://github.com/navidrome/navidrome/pull/5079))                                                                               | —                                                                    |
| Changed | `CoverJpegQuality` → `CoverArtQuality` | Renamed for clarity. Old name still works. ([#&#8203;5181](https://github.com/navidrome/navidrome/pull/5181))                                                                            | `75`                                                                 |
| CHanged | `SearchFullString`                     | Use `Search.FullString` instead. ([#&#8203;5079](https://github.com/navidrome/navidrome/pull/5079))                                                                                      | —                                                                    |
| Removed | `Spotify.ID`, `Spotify.Secret`         | Spotify integration has been removed. ([#&#8203;5197](https://github.com/navidrome/navidrome/pull/5197))                                                                                 | —                                                                    |

For a complete list of all configuration options, see the [Configuration Options](https://www.navidrome.org/docs/usage/configuration-options/) documentation.

#### Artwork

- Add per-disc cover art support, with configurable `DiscArtPriority`. ([#&#8203;5182](https://github.com/navidrome/navidrome/pull/5182) by [@&#8203;deluan](https://github.com/deluan))
- Add artist image uploads and image-folder artwork source. ([#&#8203;5198](https://github.com/navidrome/navidrome/pull/5198) by [@&#8203;deluan](https://github.com/deluan))
- Preserve animated image artwork (GIF, APNG, animated WebP) during resize. ([#&#8203;5184](https://github.com/navidrome/navidrome/pull/5184) by [@&#8203;deluan](https://github.com/deluan))
- Improve image serving performance with WebP encoding and optimized pipeline. ([#&#8203;5181](https://github.com/navidrome/navidrome/pull/5181) by [@&#8203;deluan](https://github.com/deluan))
- Increase cover art size to 600px and use CatmullRom scaling for sharper images. ([cb396f3db](https://github.com/navidrome/navidrome/commit/cb396f3db) by [@&#8203;deluan](https://github.com/deluan))
- Fallback mediafile cover art to disc artwork before album. ([#&#8203;5216](https://github.com/navidrome/navidrome/pull/5216) by [@&#8203;deluan](https://github.com/deluan))
- Refresh stale artist image URLs on expiry. ([#&#8203;5267](https://github.com/navidrome/navidrome/pull/5267) by [@&#8203;deluan](https://github.com/deluan))
- Validate ffmpeg pipe before returning in cover art fallback. ([420d2c8e5](https://github.com/navidrome/navidrome/commit/420d2c8e5) by [@&#8203;deluan](https://github.com/deluan))
- Search parent folders for album cover art in multi-disc layouts. ([#&#8203;5157](https://github.com/navidrome/navidrome/pull/5157) by [@&#8203;deluan](https://github.com/deluan))

#### UI

- Add custom playlist cover art upload. ([#&#8203;5110](https://github.com/navidrome/navidrome/pull/5110) by [@&#8203;adrbn](https://github.com/adrbn))
- Add cover art support for internet radio stations. ([#&#8203;5229](https://github.com/navidrome/navidrome/pull/5229) by [@&#8203;deluan](https://github.com/deluan))
- Add Dracula theme. ([#&#8203;5023](https://github.com/navidrome/navidrome/pull/5023) by [@&#8203;Saulimedes](https://github.com/Saulimedes))
- Add Nutball theme. ([#&#8203;4544](https://github.com/navidrome/navidrome/pull/4544) by [@&#8203;cafecitopuro](https://github.com/cafecitopuro))
- Add tooltips for long playlist and album names. ([#&#8203;5070](https://github.com/navidrome/navidrome/pull/5070) by [@&#8203;sfredo](https://github.com/sfredo))
- Add download link for config TOML and disable clipboard copy when unavailable. ([#&#8203;5035](https://github.com/navidrome/navidrome/pull/5035) by [@&#8203;kgarner7](https://github.com/kgarner7))
- Add `path` field as optional column in library list for desktop view. ([4e34d3ac1](https://github.com/navidrome/navidrome/commit/4e34d3ac1) by [@&#8203;deluan](https://github.com/deluan))
- Integrate server-managed transcoding decisions into web player. ([#&#8203;5155](https://github.com/navidrome/navidrome/pull/5155) by [@&#8203;deluan](https://github.com/deluan))
- Improve browser codec detection. ([#&#8203;5171](https://github.com/navidrome/navidrome/pull/5171) by [@&#8203;deluan](https://github.com/deluan))
- Allow `DefaultTheme="Auto"` from config. ([#&#8203;5190](https://github.com/navidrome/navidrome/pull/5190) by [@&#8203;trek-e](https://github.com/trek-e))
- Fix search focus after clearing search field. ([#&#8203;4932](https://github.com/navidrome/navidrome/pull/4932) by [@&#8203;borisrorsvort](https://github.com/borisrorsvort))
- Fix "Play Next" from restarting playback at top of queue. ([#&#8203;5049](https://github.com/navidrome/navidrome/pull/5049) by [@&#8203;alannnna](https://github.com/alannnna))
- Fix toggle switches not visible in Gruvbox Dark theme. ([#&#8203;5064](https://github.com/navidrome/navidrome/pull/5064) by [@&#8203;deluan](https://github.com/deluan))
- Fix delete button contrast in AMusic theme. ([51c48bcac](https://github.com/navidrome/navidrome/commit/51c48bcac) by [@&#8203;deluan](https://github.com/deluan))
- Cancel in-flight image requests on pagination, cache across remounts. ([#&#8203;5249](https://github.com/navidrome/navidrome/pull/5249) by [@&#8203;deluan](https://github.com/deluan))
- Prevent mobile touch events from triggering playback after lightbox close. ([197d357f0](https://github.com/navidrome/navidrome/commit/197d357f0) by [@&#8203;deluan](https://github.com/deluan))
- Prevent duplicate getCoverArt requests on artist page. ([549b81263](https://github.com/navidrome/navidrome/commit/549b81263) by [@&#8203;deluan](https://github.com/deluan))

#### Search

- Implement FTS5-based full-text search for faster and more accurate results. ([#&#8203;5079](https://github.com/navidrome/navidrome/pull/5079) by [@&#8203;deluan](https://github.com/deluan))
- Improve FTS queries with two-phase BM25 ranking for Subsonic's `search3` endpoint. ([#&#8203;5086](https://github.com/navidrome/navidrome/pull/5086) by [@&#8203;deluan](https://github.com/deluan))

#### Transcoding

- Implement server-managed transcoding. ([#&#8203;4990](https://github.com/navidrome/navidrome/pull/4990) by [@&#8203;deluan](https://github.com/deluan))
- Add player MaxBitRate cap, format-aware defaults, and browser profile filtering. ([#&#8203;5165](https://github.com/navidrome/navidrome/pull/5165) by [@&#8203;deluan](https://github.com/deluan))
- Improve transcoding failure diagnostics and error responses. ([#&#8203;5227](https://github.com/navidrome/navidrome/pull/5227) by [@&#8203;deluan](https://github.com/deluan))
- Use ADTS for AAC transcoding. ([#&#8203;5167](https://github.com/navidrome/navidrome/pull/5167) by [@&#8203;deluan](https://github.com/deluan))
- Implement fallback to DefaultDownsamplingFormat for unknown formats. ([5ecbe31a0](https://github.com/navidrome/navidrome/commit/5ecbe31a0) by [@&#8203;deluan](https://github.com/deluan))
- Prevent raw file being returned when explicit transcode format is requested. ([053a0fd6c](https://github.com/navidrome/navidrome/commit/053a0fd6c) by [@&#8203;deluan](https://github.com/deluan))

#### Subsonic API

- Implement OpenSubsonic `transcoding` extension. ([#&#8203;4990](https://github.com/navidrome/navidrome/pull/4990) by [@&#8203;deluan](https://github.com/deluan))
- Append album version to names in Subsonic API responses. ([#&#8203;5111](https://github.com/navidrome/navidrome/pull/5111) by [@&#8203;deluan](https://github.com/deluan))
- Add coverArt to internetRadioStation response. ([03608d3ee](https://github.com/navidrome/navidrome/commit/03608d3ee) by [@&#8203;deluan](https://github.com/deluan))
- Add per-disc cover art support. ([#&#8203;5182](https://github.com/navidrome/navidrome/pull/5182) by [@&#8203;deluan](https://github.com/deluan))
- Never omit duration for AlbumID3. ([#&#8203;5217](https://github.com/navidrome/navidrome/pull/5217) by [@&#8203;kgarner7](https://github.com/kgarner7))
- Always return required playqueue fields. ([#&#8203;5172](https://github.com/navidrome/navidrome/pull/5172) by [@&#8203;kgarner7](https://github.com/kgarner7))
- Always include mandatory title field in Child responses. ([a887521d7](https://github.com/navidrome/navidrome/commit/a887521d7) by [@&#8203;deluan](https://github.com/deluan))
- Restore `public` attribute for playlists in XML responses. ([0c3cc8653](https://github.com/navidrome/navidrome/commit/0c3cc8653) by [@&#8203;deluan](https://github.com/deluan))

#### Scanner

- Add MKA/Matroska audio file support via TagLib 2.2. ([#&#8203;5071](https://github.com/navidrome/navidrome/pull/5071) by [@&#8203;deluan](https://github.com/deluan))
- Exclude Vorbis VERSION from albumversion tag mapping. ([#&#8203;5194](https://github.com/navidrome/navidrome/pull/5194) by [@&#8203;trek-e](https://github.com/trek-e))
- Widen WASM panic recovery to cover tag/property reading. ([#&#8203;5223](https://github.com/navidrome/navidrome/pull/5223) by [@&#8203;deluan](https://github.com/deluan))
- Prevent duplicate tracks when multiple missing files match same target. ([#&#8203;5183](https://github.com/navidrome/navidrome/pull/5183) by [@&#8203;deluan](https://github.com/deluan))
- Prevent ScanOnStartup when scanner is disabled. ([1cf3fd916](https://github.com/navidrome/navidrome/commit/1cf3fd916) by [@&#8203;deluan](https://github.com/deluan))
- Increase watcher channel buffers to prevent dropped filesystem events. ([0790f6662](https://github.com/navidrome/navidrome/commit/0790f6662) by [@&#8203;deluan](https://github.com/deluan))

#### Playlists / Smart Playlists

- Support `#EXTALBUMARTURL` directive and sidecar images for playlist cover art. ([#&#8203;5131](https://github.com/navidrome/navidrome/pull/5131) by [@&#8203;deluan](https://github.com/deluan))
- Add percentage-based limits to smart playlists. ([#&#8203;5144](https://github.com/navidrome/navidrome/pull/5144) by [@&#8203;deluan](https://github.com/deluan))
- Make album and artist fields available to smart playlist queries. ([#&#8203;4927](https://github.com/navidrome/navidrome/pull/4927) by [@&#8203;ulfurinn](https://github.com/ulfurinn))
- Add `averageRating` as a smart playlist field. ([#&#8203;5092](https://github.com/navidrome/navidrome/pull/5092) by [@&#8203;Lokke](https://github.com/Lokke))

#### Server

- Add ExtAuth logout URL configuration. ([#&#8203;5074](https://github.com/navidrome/navidrome/pull/5074) by [@&#8203;deluan](https://github.com/deluan))
- Accept `ND_`-prefixed environment variable names in config files. ([#&#8203;5258](https://github.com/navidrome/navidrome/pull/5258) by [@&#8203;deluan](https://github.com/deluan))
- Add syslog priority prefixes for systemd-journald. ([#&#8203;5192](https://github.com/navidrome/navidrome/pull/5192) by [@&#8203;trek-e](https://github.com/trek-e))
- Require additional variable to enable systemd logging. ([#&#8203;5222](https://github.com/navidrome/navidrome/pull/5222) by [@&#8203;kgarner7](https://github.com/kgarner7))
- Add crontab(5) random `~` syntax support for schedule expressions. ([#&#8203;5233](https://github.com/navidrome/navidrome/pull/5233) by [@&#8203;deluan](https://github.com/deluan))
- Preserve `created_at` when moving songs between libraries. ([#&#8203;5055](https://github.com/navidrome/navidrome/pull/5055) by [@&#8203;deluan](https://github.com/deluan))
- Increase SSE writeTimeout to exceed keepAlive period. ([#&#8203;5054](https://github.com/navidrome/navidrome/pull/5054) by [@&#8203;rcatolino](https://github.com/rcatolino))
- Use `http.TimeFormat` for Last-Modified header. ([#&#8203;5219](https://github.com/navidrome/navidrome/pull/5219) by [@&#8203;SimonTeixidor](https://github.com/SimonTeixidor))
- Return correct scanType in startScan response. ([#&#8203;5159](https://github.com/navidrome/navidrome/pull/5159) by [@&#8203;deluan](https://github.com/deluan))
- Return 404 instead of 500 for non-existent playlists. ([b64d8ad33](https://github.com/navidrome/navidrome/commit/b64d8ad33) by [@&#8203;deluan](https://github.com/deluan))
- Normalize timestamps and fix recently added album sorting. ([#&#8203;5176](https://github.com/navidrome/navidrome/pull/5176) by [@&#8203;deluan](https://github.com/deluan))

#### Plugins

- Add HTTP host service for plugin HTTP requests. ([#&#8203;5095](https://github.com/navidrome/navidrome/pull/5095) by [@&#8203;deluan](https://github.com/deluan))
- Add TaskQueue host service for persistent background task queues. ([#&#8203;5116](https://github.com/navidrome/navidrome/pull/5116) by [@&#8203;deluan](https://github.com/deluan))
- Add lyrics provider plugin capability. ([#&#8203;5126](https://github.com/navidrome/navidrome/pull/5126) by [@&#8203;deluan](https://github.com/deluan))
- Add TTL support, batch operations, and hardening to kvstore. ([#&#8203;5127](https://github.com/navidrome/navidrome/pull/5127) by [@&#8203;deluan](https://github.com/deluan))
- Allow mounting library directories as read-write. ([#&#8203;5122](https://github.com/navidrome/navidrome/pull/5122) by [@&#8203;deluan](https://github.com/deluan))
- Change websockets Data field type to `[]byte` for binary support. ([6fd044fb0](https://github.com/navidrome/navidrome/commit/6fd044fb0) by [@&#8203;deluan](https://github.com/deluan))
- Clear plugin errors on startup to allow retrying. ([27a83547f](https://github.com/navidrome/navidrome/commit/27a83547f) by [@&#8203;deluan](https://github.com/deluan))

#### Translations

- Add Slovak language translation. ([#&#8203;5231](https://github.com/navidrome/navidrome/pull/5231) by [@&#8203;JRoshthen1](https://github.com/JRoshthen1))
- Update Chinese Simplified translation. ([#&#8203;5025](https://github.com/navidrome/navidrome/pull/5025) by [@&#8203;fxj368](https://github.com/fxj368))
- Update Basque translation. ([#&#8203;5038](https://github.com/navidrome/navidrome/pull/5038) by [@&#8203;xabirequejo](https://github.com/xabirequejo))
- Update Hungarian translation. ([#&#8203;5041](https://github.com/navidrome/navidrome/pull/5041), [#&#8203;5263](https://github.com/navidrome/navidrome/pull/5263) by [@&#8203;ChekeredList71](https://github.com/ChekeredList71))
- Update Bulgarian, Catalan, Danish, German, Greek, Spanish, Finnish, French, Galician, Portuguese (BR), Russian, Slovenian, Swedish, Thai, Ukrainian, Chinese (Traditional) translations. ([#&#8203;5044](https://github.com/navidrome/navidrome/pull/5044), [#&#8203;5039](https://github.com/navidrome/navidrome/pull/5039), [#&#8203;5218](https://github.com/navidrome/navidrome/pull/5218), [#&#8203;5260](https://github.com/navidrome/navidrome/pull/5260))

#### New Contributors

- [@&#8203;cafecitopuro](https://github.com/cafecitopuro) made their first contribution in [#&#8203;4544](https://github.com/navidrome/navidrome/pull/4544)
- [@&#8203;Saulimedes](https://github.com/Saulimedes) made their first contribution in [#&#8203;5023](https://github.com/navidrome/navidrome/pull/5023)
- [@&#8203;fxj368](https://github.com/fxj368) made their first contribution in [#&#8203;5025](https://github.com/navidrome/navidrome/pull/5025)
- [@&#8203;rcatolino](https://github.com/rcatolino) made their first contribution in [#&#8203;5054](https://github.com/navidrome/navidrome/pull/5054)
- [@&#8203;sfredo](https://github.com/sfredo) made their first contribution in [#&#8203;5070](https://github.com/navidrome/navidrome/pull/5070)
- [@&#8203;adrbn](https://github.com/adrbn) made their first contribution in [#&#8203;5110](https://github.com/navidrome/navidrome/pull/5110)
- [@&#8203;trek-e](https://github.com/trek-e) made their first contribution in [#&#8203;5190](https://github.com/navidrome/navidrome/pull/5190)
- [@&#8203;SimonTeixidor](https://github.com/SimonTeixidor) made their first contribution in [#&#8203;5219](https://github.com/navidrome/navidrome/pull/5219)
- [@&#8203;JRoshthen1](https://github.com/JRoshthen1) made their first contribution in [#&#8203;5231](https://github.com/navidrome/navidrome/pull/5231)

**Full Changelog**: <https://github.com/navidrome/navidrome/compare/v0.60.3...v0.61.0>

#### Helping out

This release is only possible thanks to the support of some **awesome people**!

Want to be one of them?
You can [sponsor](https://github.com/sponsors/deluan), pay me a [Ko-fi](https://ko-fi.com/deluan), or [contribute with code](https://www.navidrome.org/docs/developers/).

#### Where to go next?

- Read installation instructions on our [website](https://www.navidrome.org/docs/installation/).
- Host Navidrome on [PikaPods](https://www.pikapods.com/pods/navidrome) for a simple cloud solution.
- Reach out on [Discord](https://discord.gg/xh7j7yF), [Reddit](https://www.reddit.com/r/navidrome/) and [Twitter](https://twitter.com/navidrome)!

</details>

---

### Configuration

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

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

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

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

---

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

---

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

Reviewed-on: #5344
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-04-01 00:27:12 +00:00
0708cc3809 tmp/refactor-14 (#5345)
Some checks failed
lint-test-helm / lint-helm (push) Successful in 1m36s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Has been cancelled
Reviewed-on: #5345
2026-04-01 00:17:29 +00:00
ffe9accea0 chore(deps): update ghcr.io/renovatebot/renovate docker tag to v43.102.1 (#5343)
Some checks failed
renovate / renovate (push) Has been cancelled
2026-04-01 00:04:40 +00:00
a8c0f14c74 feat: disable metrics for auth instances (#5341)
All checks were successful
lint-test-helm / lint-helm (push) Successful in 25s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Successful in 15m46s
Reviewed-on: #5341
2026-03-31 22:25:30 +00:00
d3ff1f441a feat: change affinity label (#5339)
All checks were successful
lint-test-helm / lint-helm (push) Successful in 15s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Successful in 15m16s
Reviewed-on: #5339
2026-03-31 22:05:44 +00:00
48454fa2a5 chore(deps): update harbor.alexlebens.net/images/site-documentation docker tag to v0.13.0 (#5337)
Some checks failed
lint-test-helm / validate-kubeconform (push) Has been cancelled
lint-test-helm / lint-helm (push) Has been cancelled
renovate / renovate (push) Has been cancelled
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [harbor.alexlebens.net/images/site-documentation](https://gitea.alexlebens.dev/alexlebens/site-documentation) | minor | `0.12.0` → `0.13.0` |

---

### Release Notes

<details>
<summary>alexlebens/site-documentation (harbor.alexlebens.net/images/site-documentation)</summary>

### [`v0.13.0`](https://gitea.alexlebens.dev/alexlebens/site-documentation/releases/tag/0.13.0)

[Compare Source](https://gitea.alexlebens.dev/alexlebens/site-documentation/compare/0.12.0...0.13.0)

### [0.13.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.12.0...0.13.0) (2026-03-31)

##### Features

- documentation on vault ssh ([648fb31](648fb319b1))

</details>

---

### Configuration

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

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

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

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

---

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

---

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

Reviewed-on: #5337
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-31 22:05:13 +00:00
91a231b4a7 chore(deps): update ghcr.io/av1155/houndarr docker tag to v1.6.4 (#5336)
Some checks failed
lint-test-helm / lint-helm (push) Successful in 2m9s
lint-test-helm / validate-kubeconform (push) Has been cancelled
renovate / renovate (push) Has been cancelled
2026-03-31 22:02:51 +00:00
63ef63c278 fix: change context (#5330)
All checks were successful
lint-test-helm / lint-helm (push) Successful in 31s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Successful in 22m1s
Reviewed-on: #5330
2026-03-31 21:41:35 +00:00
6e37cfe5df chore(deps): update helm release traefik to v39.0.7 (#5332)
Some checks failed
lint-test-helm / lint-helm (push) Successful in 1m26s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Has been cancelled
2026-03-31 21:38:22 +00:00
6b83b6a5b2 chore(deps): update helm release generic-device-plugin to v0.20.27 (#5329)
Some checks failed
lint-test-helm / validate-kubeconform (push) Has been cancelled
lint-test-helm / lint-helm (push) Has been cancelled
renovate / renovate (push) Has been cancelled
2026-03-31 21:37:37 +00:00
2e906bd7a5 chore(deps): update dependency roundcube/roundcubemail to v1.6.15 (#5327)
Some checks failed
lint-test-helm / lint-helm (push) Successful in 27s
lint-test-helm / validate-kubeconform (push) Has been cancelled
renovate / renovate (push) Has been cancelled
2026-03-31 21:36:35 +00:00
4c6ad46de3 chore(deps): update dependency gitroomhq/postiz-app to v2.21.4 (#5326)
Some checks failed
lint-test-helm / validate-kubeconform (push) Has been cancelled
lint-test-helm / lint-helm (push) Has been cancelled
renovate / renovate (push) Has been cancelled
2026-03-31 21:36:01 +00:00
abd0696ca2 chore(deps): update dependency gethomepage/homepage to v1.12.2 (#5325)
Some checks failed
lint-test-helm / lint-helm (push) Has been cancelled
lint-test-helm / validate-kubeconform (push) Has been cancelled
renovate / renovate (push) Has been cancelled
2026-03-31 21:35:40 +00:00
832a50bf62 chore(deps): update dependency frederikemmer/medialyze to v0.4.1 (#5324)
Some checks failed
lint-test-helm / lint-helm (push) Has been cancelled
lint-test-helm / validate-kubeconform (push) Has been cancelled
renovate / renovate (push) Has been cancelled
2026-03-31 21:35:12 +00:00
bd4e4807c0 chore(deps): update dependency directus/directus to v11.17.1 (#5323)
Some checks failed
lint-test-helm / validate-kubeconform (push) Has been cancelled
lint-test-helm / lint-helm (push) Has been cancelled
renovate / renovate (push) Has been cancelled
2026-03-31 21:34:47 +00:00
463fb1856c chore(deps): update dependency av1155/houndarr to v1.6.4 (#5322)
Some checks failed
lint-test-helm / validate-kubeconform (push) Has been cancelled
lint-test-helm / lint-helm (push) Successful in 28s
renovate / renovate (push) Has been cancelled
2026-03-31 21:34:18 +00:00
b29519f1f4 chore(deps): update ghcr.io/renovatebot/renovate docker tag to v43.102.0 (#5321)
All checks were successful
renovate / renovate (push) Successful in 4m39s
2026-03-31 19:03:34 +00:00
81c83ad273 chore(deps): update ghcr.io/renovatebot/renovate docker tag to v43.101.7 (#5320)
Some checks failed
renovate / renovate (push) Failing after 3m20s
2026-03-31 18:05:31 +00:00
48dcc05b47 chore(deps): update ghcr.io/renovatebot/renovate docker tag to v43.101.6 (#5319)
All checks were successful
renovate / renovate (push) Successful in 5m36s
2026-03-31 17:04:23 +00:00
24fe2fe4c6 chore(deps): update kube-prometheus-stack docker tag to v82.16.0 (#5317)
Some checks failed
lint-test-helm / lint-helm (push) Successful in 30s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Failing after 4m19s
2026-03-31 16:05:04 +00:00
251927ece3 chore(deps): update ghcr.io/gethomepage/homepage docker tag to v1.12.2 (#5315)
All checks were successful
lint-test-helm / lint-helm (push) Successful in 22s
lint-test-docker / lint-docker-compose (push) Successful in 26s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Successful in 4m59s
2026-03-31 15:07:25 +00:00
1824907ec4 chore(deps): update ghcr.io/renovatebot/renovate docker tag to v43.101.4 (#5314)
All checks were successful
render-manifests / render-manifests (push) Successful in 5m42s
renovate / renovate (push) Successful in 7m37s
2026-03-31 14:03:17 +00:00
40679a74c8 chore(deps): update seerr-chart docker tag to v3.3.1 (#5311)
All checks were successful
lint-test-helm / lint-helm (push) Successful in 14s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Successful in 3m4s
2026-03-31 13:05:41 +00:00
779ae93d62 chore(deps): update ghcr.io/renovatebot/renovate docker tag to v43.101.3 (#5310)
Some checks failed
renovate / renovate (push) Has been cancelled
2026-03-31 13:05:06 +00:00
5f391f0080 chore(deps): update ghcr.io/frederikemmer/medialyze docker tag to v0.4.1 (#5308)
Some checks failed
lint-test-helm / lint-helm (push) Successful in 21s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Failing after 6m9s
2026-03-31 08:03:52 +00:00
d67fe3cfdf fix: add dbname (#5306)
All checks were successful
lint-test-helm / lint-helm (push) Successful in 19s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Successful in 3m53s
Reviewed-on: #5306
2026-03-31 01:47:52 +00:00
fcb24f62af fix: wrong paths (#5304)
Some checks failed
lint-test-helm / lint-helm (push) Successful in 25s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Has been cancelled
Reviewed-on: #5304
2026-03-31 01:40:22 +00:00
286e43b5de tmp/paperless (#5302)
Some checks failed
lint-test-helm / lint-helm (push) Successful in 42s
lint-test-helm / validate-kubeconform (push) Has been skipped
lint-test-docker / lint-docker-compose (push) Successful in 57s
renovate / renovate (push) Has been cancelled
Reviewed-on: #5302
2026-03-31 01:30:37 +00:00
4c1cfa5fa5 chore(deps): update dependency binwiederhier/ntfy to v2.21.0 (#5300)
Some checks failed
lint-test-helm / lint-helm (push) Successful in 27s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Has been cancelled
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [binwiederhier/ntfy](https://github.com/binwiederhier/ntfy) | minor | `2.20.1` → `2.21.0` |
| [binwiederhier/ntfy](https://ntfy.sh/) ([source](https://github.com/binwiederhier/ntfy)) | minor | `v2.20.1` → `v2.21.0` |

---

### Release Notes

<details>
<summary>binwiederhier/ntfy (binwiederhier/ntfy)</summary>

### [`v2.21.0`](https://github.com/binwiederhier/ntfy/releases/tag/v2.21.0)

[Compare Source](https://github.com/binwiederhier/ntfy/compare/v2.20.1...v2.21.0)

This release adds the ability to verify email addresses using the `smtp-sender-verify` flag. This is a change that is required because ntfy.sh was used to send unsolicited emails and the AWS SES account was suspended. Going forward, ntfy.sh won't be able to send emails unless the email address was verified ahead of time.

**Features:**

- Add verified email recipients feature with `smtp-sender-verify` config flag, allowing server admins to require email
  address verification before sending email notifications ([#&#8203;1681](https://github.com/binwiederhier/ntfy/pull/1681))

</details>

---

### Configuration

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

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

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

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

---

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

---

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

Reviewed-on: #5300
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-31 01:24:10 +00:00
859059a996 chore(deps): update favonia/cloudflare-ddns docker tag to v1.16.0 (#5301)
Some checks failed
lint-test-docker / lint-docker-compose (push) Successful in 32s
renovate / renovate (push) Has been cancelled
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [favonia/cloudflare-ddns](https://github.com/favonia/cloudflare-ddns) | minor | `1.15.1` → `1.16.0` |

---

### Release Notes

<details>
<summary>favonia/cloudflare-ddns (favonia/cloudflare-ddns)</summary>

### [`v1.16.0`](https://github.com/favonia/cloudflare-ddns/blob/HEAD/CHANGELOG.markdown#1160-2026-03-30)

[Compare Source](https://github.com/favonia/cloudflare-ddns/compare/v1.15.1...v1.16.0)

Despite the gap of over a year since the last release, we are not aware of any security vulnerability affecting the default configuration. As always, please review the changelog and watch for warnings or errors when upgrading.

#### Highlights

1. **WAF lists now support /128 IPv6 entries.** Cloudflare’s API now accepts individual IPv6 addresses in WAF lists. New `IP4_DEFAULT_PREFIX_LEN` (default `/32`) and `IP6_DEFAULT_PREFIX_LEN` (default `/64`) control how bare addresses are stored in WAF lists. Users can now set `IP6_DEFAULT_PREFIX_LEN` to `128` for per-address granularity. DNS records currently ignore prefix lengths, but will use these in the future.
2. **Multi-instance support via comment-based selection.** New `MANAGED_RECORDS_COMMENT_REGEX` and `MANAGED_WAF_LIST_ITEMS_COMMENT_REGEX` let multiple updater instances safely share the same domain or WAF list, each managing only records or items with matching comments. New `WAF_LIST_ITEM_COMMENT` provides a fallback comment for WAF list items, similar to how `RECORD_COMMENT` serves as a fallback for DNS records.
3. **Multi-IP detection and reconciliation.** Providers now return multiple IP addresses, each with a CIDR prefix length, and the reconciliation algorithm has been redesigned to handle them correctly. The experimental `local.iface` provider now collects all matching global unicast addresses from the specified interface, instead of just the first one. Multi-address support in `url:` and `file:` providers is also experimental.
4. **New `file:` provider.** Reads IP addresses from a local file, re-reading each detection cycle. This enables integration with external scripts or monitoring systems without restarting the updater. (Multi-address support is experimental.)
5. **New variants of `url:` (`url.via4:` and `url.via6:`) for transport overrides.** By default, `url:<url>` connects using the same IP family as the address being detected. Override the IP family used to connect with `url.via4:<url>` or `url.via6:<url>` (e.g., get an IPv6 address over an IPv4 connection). (Multi-address support in URL-based providers is experimental.)
6. **Rewritten user-facing messages.** Many log messages have been reworded into clearer, more natural English.

#### Your Feedback Wanted

The IP prefix length work in this release lays the groundwork for several upcoming features. We’d love your input on the proposed configuration syntax:

- **Per-domain IPv6 host IDs** ([#&#8203;764](https://github.com/favonia/cloudflare-ddns/issues/764)):
  - `IP6_DOMAINS=sub.example.com{hostid6=::2}`
  - `IP6_DOMAINS=sub.example.com{hostid6=preserve}` (keep the detected host IDs)
  - `IP6_DOMAINS=sub.example.com{hostid6=mac(77:cc:a7:f9:45:94)}` (compute an [EUI-64](https://en.wikipedia.org/wiki/IPv6_address#Modified_EUI-64) host ID from a MAC address)
  - `DOMAINS=sub1.example.com{hostid6=::aad1},sub2.example.com{hostid6=preserve}`
- **Detection IP filtering** ([#&#8203;1138](https://github.com/favonia/cloudflare-ddns/issues/1138)):
  - `IP6_DETECTION_FILTER=keep-all`
  - `IP6_DETECTION_FILTER=!addr-in(fc00::/7)`
  - `IP6_DETECTION_FILTER=subnet-in(2001:db8:abcd::/48)`
  - `IP4_DETECTION_FILTER=!addr-in(10.0.0.0/8) && !addr-in(192.168.0.0/16)`
  - `IP6_DETECTION_FILTER=contains(2002:dead:beef::/100) || contains(2005:dead:beef::/100)`

| input        | `addr-in(1.1.0.0/16)`              | `subnet-in(1.1.0.0/16)` | `contains(1.1.0.0/16)` |
| ------------ | ---------------------------------- | ----------------------- | ---------------------- |
| `1.1.1.1/8`  | ✔️                                 | ️                      | ✔️                     |
| `1.1.1.1/16` | ✔️                                 | ✔️                      | ✔️                     |
| `1.1.1.1/24` | ✔️                                 | ✔️                      | ️                     |
| `1.2.2.2/8`  | ️ (`1.2.2.2` not in `1.1.0.0/16`) | ️                      | ✔️                     |

Also planned: a linter for boolean expressions targeting advanced usage of `PROXIED` and the upcoming `IP4/6_DETECTION_FILTER`, and further robustness improvements to the default `cloudflare.trace` provider.

#### Reminder from the Past

As a reminder, since 1.13.0, **the updater no longer drops privileges internally, and `PUID` and `PGID` are ignored.** Please use Docker’s built-in mechanism to drop privileges. The old Docker Compose template may grant unneeded privileges to the new updater, which is not recommended. Please review the new, simpler, and more secure template in [README](./README.markdown). In a nutshell, **remove the `cap_add` attribute and replace the environment variables `PUID` and `PGID` with the [`user: "UID:GID"` attribute](https://docs.docker.com/reference/compose-file/services/#user)**. Similar options may exist for systems not using Docker Compose.

#### Other Notes

**Shoutrrr support is no longer experimental.** The shoutrrr notification integration, introduced in 1.12.0, is now considered stable.

#### Detailed Changes

##### Features

- The detection model has been redesigned so that providers return multiple IP addresses, each with a CIDR prefix length. New `IP4_DEFAULT_PREFIX_LEN` and `IP6_DEFAULT_PREFIX_LEN` settings control how bare addresses are stored in WAF lists. ([#&#8203;1144](https://github.com/favonia/cloudflare-ddns/issues/1144)) ([#&#8203;1156](https://github.com/favonia/cloudflare-ddns/issues/1156))
- The reconciliation algorithm has been redesigned to handle complex metadata mismatches when multiple IP addresses result in multiple records. ([#&#8203;1015](https://github.com/favonia/cloudflare-ddns/issues/1015)) ([#&#8203;1020](https://github.com/favonia/cloudflare-ddns/issues/1020)) ([#&#8203;1022](https://github.com/favonia/cloudflare-ddns/issues/1022)) ([#&#8203;1115](https://github.com/favonia/cloudflare-ddns/issues/1115))
- New `file:` provider reads IP addresses from a local file. ([#&#8203;1148](https://github.com/favonia/cloudflare-ddns/issues/1148))
- New `static:<ip1>,<ip2>,...` and `static.empty` providers have been added. `static.empty` actively clears managed content for a given IP family. ([#&#8203;1102](https://github.com/favonia/cloudflare-ddns/issues/1102)) ([#&#8203;1135](https://github.com/favonia/cloudflare-ddns/issues/1135))
- The `url:`, `file:`, and `static:` providers now accept addresses in CIDR notation (e.g., `198.51.100.1/24`). ([#&#8203;1159](https://github.com/favonia/cloudflare-ddns/issues/1159)) ([#&#8203;1169](https://github.com/favonia/cloudflare-ddns/issues/1169))
- The experimental `local.iface` provider now collects all matching global unicast addresses. ([#&#8203;1095](https://github.com/favonia/cloudflare-ddns/issues/1095))
- New `MANAGED_RECORDS_COMMENT_REGEX` selects only DNS records whose comments match a regex. ([#&#8203;1103](https://github.com/favonia/cloudflare-ddns/issues/1103))
- New `MANAGED_WAF_LIST_ITEMS_COMMENT_REGEX` and `WAF_LIST_ITEM_COMMENT` provide the same comment-based selection for WAF list items. ([#&#8203;1106](https://github.com/favonia/cloudflare-ddns/issues/1106))
- New `url.via4:<url>` and `url.via6:<url>` providers override the IP family used to connect to a custom URL. ([#&#8203;1131](https://github.com/favonia/cloudflare-ddns/issues/1131))
- The updater now warns about likely misconfigured `SHOUTRRR` values. ([#&#8203;1111](https://github.com/favonia/cloudflare-ddns/issues/1111))

##### Bug Fixes

- The configuration parser now warns about extra commas in lists (e.g., `a,,b`) except for trailing commas, which were silently ignored. ([#&#8203;1177](https://github.com/favonia/cloudflare-ddns/issues/1177))
- The updater now exits gracefully when `EMOJI` or `QUIET` is invalid. ([#&#8203;1174](https://github.com/favonia/cloudflare-ddns/issues/1174))
- The updater invalidates relevant zone search cache entries when a zone cannot be found for faster recovery. ([#&#8203;1125](https://github.com/favonia/cloudflare-ddns/issues/1125))
- API token verification is now stricter, catching malformed tokens before any update attempts. ([#&#8203;1126](https://github.com/favonia/cloudflare-ddns/issues/1126))
- Providers (especially `cloudflare.trace` and `cloudflare.doh`) now validate detected IP addresses more strictly. ([#&#8203;1097](https://github.com/favonia/cloudflare-ddns/issues/1097)) ([#&#8203;1099](https://github.com/favonia/cloudflare-ddns/issues/1099)) ([#&#8203;1101](https://github.com/favonia/cloudflare-ddns/issues/1101)) ([#&#8203;1151](https://github.com/favonia/cloudflare-ddns/issues/1151))
- WAF list entries in the configuration are now deduplicated. ([#&#8203;1091](https://github.com/favonia/cloudflare-ddns/issues/1091))
- The updater now warns when a configured domain does not look like a fully qualified domain name. ([#&#8203;1019](https://github.com/favonia/cloudflare-ddns/issues/1019))
- The updater now warns when DNS records and WAF list items for the same domain have mixed ownership (some managed, some not). ([#&#8203;1173](https://github.com/favonia/cloudflare-ddns/issues/1173))

</details>

---

### Configuration

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

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

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

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

---

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

---

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

Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/5301
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-31 01:23:36 +00:00
d916bc7460 chore(deps): update ghcr.io/renovatebot/renovate docker tag to v43.101.2 (#5299)
All checks were successful
renovate / renovate (push) Successful in 2m35s
2026-03-30 21:04:02 +00:00
f45d669dc2 chore(deps): update medialyze to v0.4.0 (#5294)
All checks were successful
lint-test-helm / lint-helm (push) Successful in 19s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Successful in 4m9s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [frederikemmer/MediaLyze](https://github.com/frederikemmer/MediaLyze) | minor | `0.3.0` → `0.4.0` |
| [ghcr.io/frederikemmer/medialyze](https://github.com/frederikemmer/MediaLyze) | minor | `0.3.0` → `0.4.0` |

---

### Release Notes

<details>
<summary>frederikemmer/MediaLyze (frederikemmer/MediaLyze)</summary>

### [`v0.4.0`](https://github.com/frederikemmer/MediaLyze/blob/HEAD/CHANGELOG.md#v040)

[Compare Source](https://github.com/frederikemmer/MediaLyze/compare/v0.3.0...v0.4.0)

> 2026-03-30

First "rough" implementation for detecting duplicate files. May break desktop install use v0.3.0 if it's not working properly.

#####  New

- add per-library duplicate detection with `off` (default), `filename`, `filehash`, `both` modes ([#&#8203;16](https://github.com/frederikemmer/MediaLyze/issues/16))
- view and search through duplicates on library page
- scan performance tuning in `App settings` with separate controls for per-scan analysis workers and parallel library scans

##### 🐛 Bug fixes

- rework scan execution so discovery streams files directly into analysis and duplicate workers, live progress reflects worker completion, and configured worker counts now affect real throughput
- stop auto-resuming or auto-queuing stale startup jobs, clear pending watchdog debounce requests on cancel, and improve failed scan diagnostics with copyable detailed error payloads
- tighten the duplicate and library-settings UI by capping visible duplicate variants with internal scrolling, aligning scan controls consistently, and making the `dev` desktop artifact build manual-only

</details>

---

### Configuration

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

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

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

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

---

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

---

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

Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/5294
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-30 19:11:36 +00:00
b9f8013480 chore(deps): update ghcr.io/renovatebot/renovate docker tag to v43.101.1 (#5297)
All checks were successful
renovate / renovate (push) Successful in 4m35s
2026-03-30 18:05:08 +00:00
ea858d0e75 chore(deps): update ghcr.io/directus/directus docker tag to v11.17.1 (#5295)
Some checks failed
lint-test-helm / lint-helm (push) Successful in 22s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Has been cancelled
2026-03-30 18:04:25 +00:00
a9a73124ac chore(deps): update tubearchivist to v0.5.10 (#5263)
All checks were successful
lint-test-helm / lint-helm (push) Successful in 13s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Successful in 5m11s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| bbilly1/tubearchivist | patch | `v0.5.9` → `v0.5.10` |
| [tubearchivist/tubearchivist](https://github.com/tubearchivist/tubearchivist) | patch | `v0.5.9` → `v0.5.10` |

---

### Release Notes

<details>
<summary>tubearchivist/tubearchivist (tubearchivist/tubearchivist)</summary>

### [`v0.5.10`](https://github.com/tubearchivist/tubearchivist/releases/tag/v0.5.10)

[Compare Source](https://github.com/tubearchivist/tubearchivist/compare/v0.5.9...v0.5.10)

#### Added

- Added secret lookup from file, by [@&#8203;TheMDev](https://github.com/TheMDev), [docs](https://docs.tubearchivist.com/installation/env-vars/)
- Added deprecated appconfig key cleanup, by [@&#8203;bbilly1](https://github.com/bbilly1)

#### Changed

- Removed now redundant manual POT field, by [@&#8203;bbilly1](https://github.com/bbilly1)
- Extend the PIT lifetime for meta data embed for slow IO, by [@&#8203;bbilly1](https://github.com/bbilly1)
- Ignore `number_of_replicas` for index recreation for replica configurations, by [@&#8203;camhorn](https://github.com/camhorn)
- Redownload now uses reindex for better metadata preservation, by [@&#8203;bbilly1](https://github.com/bbilly1)
- Changed POT plugin installation method, fix runtime plugin loading into yt-dlp, align with upstreak, by [@&#8203;bbilly1](https://github.com/bbilly1), [#&#8203;1134](https://github.com/tubearchivist/tubearchivist/issues/1134)
- Changed download process error handling, bot error message now throws and stops task completly, by [@&#8203;jwmay2012](https://github.com/jwmay2012)

#### Fixed

- Fixed newer ES alias APIs for ES9 support, by [@&#8203;TheMDev](https://github.com/TheMDev)
- Fixed future problem for search alias, by [@&#8203;TheMDev](https://github.com/TheMDev)
- Fixed video deletion from playlist while out of sync, by [@&#8203;bbilly1](https://github.com/bbilly1)
- Fixed embedding error for mutagen on empty description, by [@&#8203;bbilly1](https://github.com/bbilly1), [#&#8203;1124](https://github.com/tubearchivist/tubearchivist/issues/1124)

</details>

---

### Configuration

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

🚦 **Automerge**: Enabled.

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

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

---

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

---

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

Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/5263
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-30 16:35:46 +00:00
99811bb046 chore(deps): update helm release meilisearch to v0.30.0 (#5289)
Some checks failed
lint-test-helm / validate-kubeconform (push) Has been cancelled
lint-test-helm / lint-helm (push) Has been cancelled
renovate / renovate (push) Has been cancelled
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [meilisearch](https://github.com/meilisearch/meilisearch-kubernetes/tree/main/charts/meilisearch) ([source](https://github.com/meilisearch/meilisearch-kubernetes)) | minor | `0.29.0` → `0.30.0` |

---

### Release Notes

<details>
<summary>meilisearch/meilisearch-kubernetes (meilisearch)</summary>

### [`v0.30.0`](https://github.com/meilisearch/meilisearch-kubernetes/releases/tag/meilisearch-0.30.0)

[Compare Source](https://github.com/meilisearch/meilisearch-kubernetes/compare/meilisearch-0.29.0...meilisearch-0.30.0)

A Helm chart for the Meilisearch search engine

</details>

---

### Configuration

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

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

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

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

---

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

---

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

Reviewed-on: #5289
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-30 16:34:45 +00:00
f71c835cd8 chore(deps): update ollama to v0.19.0 (#5286)
Some checks failed
lint-test-helm / lint-helm (push) Successful in 1m28s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Has been cancelled
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [ollama/ollama](https://github.com/ollama/ollama) | minor | `0.18.3` → `0.19.0` |
| ollama/ollama | minor | `0.18.3` → `0.19.0` |

---

### Release Notes

<details>
<summary>ollama/ollama (ollama/ollama)</summary>

### [`v0.19.0`](https://github.com/ollama/ollama/releases/tag/v0.19.0)

[Compare Source](https://github.com/ollama/ollama/compare/v0.18.3...v0.19.0)

#### What's Changed

- Ollama's app will now no longer incorrectly show "model is out of date"
- `ollama launch pi` now includes web search plugin that uses Ollama's web search
- Improved KV cache hit rate when using the Anthropic-compatible API
- Fixed tool call parsing issue with Qwen3.5 where tool calls would be output in thinking
- MLX runner will now create periodic snapshots during prompt processing
- Fixed KV cache snapshot memory leak in MLX runner
- Fixed issue where flash attention would be incorrectly enabled for `grok` models
- Fixed `qwen3-next:80b` not loading in Ollama

#### New Contributors

- [@&#8203;amatas](https://github.com/amatas) made their first contribution in [#&#8203;15022](https://github.com/ollama/ollama/pull/15022)

**Full Changelog**: <https://github.com/ollama/ollama/compare/v0.18.3...v0.19.0>

</details>

---

### Configuration

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

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

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

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

---

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

---

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

Reviewed-on: #5286
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-30 16:32:03 +00:00
5d911b04e6 chore(deps): update rybbit to v2.5.0 (#5275)
Some checks failed
lint-test-helm / validate-kubeconform (push) Has been cancelled
lint-test-helm / lint-helm (push) Has started running
renovate / renovate (push) Has been cancelled
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [ghcr.io/rybbit-io/rybbit-backend](https://github.com/rybbit-io/rybbit) | minor | `v2.4.0` → `v2.5.0` |
| [rybbit-io/rybbit](https://github.com/rybbit-io/rybbit) | minor | `v2.4.0` → `v2.5.0` |

---

### Release Notes

<details>
<summary>rybbit-io/rybbit (ghcr.io/rybbit-io/rybbit-backend)</summary>

### [`v2.5.0`](https://github.com/rybbit-io/rybbit/releases/tag/v2.5.0)

[Compare Source](https://github.com/rybbit-io/rybbit/compare/v2.4.0...v2.5.0)

- Improved bot blocking capabilities
- Added teams to further subdivide organizations into groups of users and sites <https://rybbit.com/docs/teams>
- Added tagging that allows easy slicing of analytics into different cohorts, similar to an existing feature from Umami <https://rybbit.com/docs/tagging>
- Various minor performance improvements

Thank you [@&#8203;lukyrys](https://github.com/lukyrys) for multiple contributions over this period

</details>

---

### Configuration

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

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

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

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

---

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

---

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

Reviewed-on: #5275
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-30 16:30:26 +00:00
7446e1c586 chore(deps): update dawarich to v1.6.0 (#5260)
Some checks failed
lint-test-helm / lint-helm (push) Successful in 1m34s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Has been cancelled
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [Freika/dawarich](https://github.com/Freika/dawarich) | minor | `1.4.0` → `1.6.0` |
| [freikin/dawarich](https://github.com/Freika/dawarich) | minor | `1.4.0` → `1.6.0` |

---

### Release Notes

<details>
<summary>Freika/dawarich (Freika/dawarich)</summary>

### [`v1.6.0`](https://github.com/Freika/dawarich/blob/HEAD/CHANGELOG.md#160---2026-03-29)

[Compare Source](https://github.com/Freika/dawarich/compare/1.5.1...1.6.0)

##### Added

- Immich users can now enrich their photos with geodata.
- Users can now optionally enable two-factor authentication (2FA) for their accounts in Settings > Two-Factor Authentication. Supported methods: TOTP apps (Google Authenticator, Authy, etc.) and backup codes. Once enabled, users will be prompted for a 2FA code on login. This adds an extra layer of security to protect your location data.

##### Fixed

- Fix OIDC account linking failing when the email from the identity provider has different casing than the existing Dawarich account [#&#8203;1983](https://github.com/Freika/dawarich/issues/1983).
- Fix confirmation dialogs being ignored when clicking "Cancel" — destructive actions (account deletion, import/export deletion, place deletion) fired regardless of user choice due to Rails UJS and Turbo both handling the same click [#&#8203;1978](https://github.com/Freika/dawarich/issues/1978).
- Fix Year in Review share link being empty when toggling public access [#&#8203;2418](https://github.com/Freika/dawarich/issues/2418).
- Fix address field on Points page being empty when geodata properties are unavailable [#&#8203;2419](https://github.com/Freika/dawarich/issues/2419).
- Fix Stats API returning the same country/city count for every year instead of per-year counts [#&#8203;2280](https://github.com/Freika/dawarich/issues/2280).
- Fix flyover countries (with no visited cities) still showing in monthly stats views [#&#8203;2423](https://github.com/Freika/dawarich/issues/2423).
- Fix importing Google Timeline files. [#&#8203;2427](https://github.com/Freika/dawarich/issues/2427)

### [`v1.5.1`](https://github.com/Freika/dawarich/blob/HEAD/CHANGELOG.md#151---2026-03-28)

[Compare Source](https://github.com/Freika/dawarich/compare/1.5.0...1.5.1)

##### Fixed

- Fix points and tracks interactions on Map v2 being unresponsive after the latest update.
- Fix creating demo data from the onboarding modal.
- Fix navbar for cloud trial users.
- Reset months stats instead of deleting when there is no data.

### [`v1.5.0`](https://github.com/Freika/dawarich/blob/HEAD/CHANGELOG.md#150---2026-03-28)

[Compare Source](https://github.com/Freika/dawarich/compare/1.4.0...1.5.0)

##### Added

- GPS noise filtering. An automatic system to detect ahd filter out points with unrealistic speeds, altitudes, or sudden jumps.
- Support for signing in via web view using our Android app.
- On the map settings page user now can enable and disable map layers.
- Onboarding modal now offers a third option to load demo data (3 days in Berlin, \~1000 points) so new users can instantly see what the map looks like. Demo imports bypass trial limits, are clearly labeled with a "Demo" badge, and can be deleted from a banner on the map page or from the imports list.
- New tool to the Map V2 tools: The "Day per Country" button will open a modal showing a breakdown of how many days the user has spent in each country, based on their points data. This is calculated by grouping points by country and counting unique days with at least one point in that country.

##### Changed

- \[Cloud] The point creation API endpoints are being excluded from the default Lite/Pro rate limits (200/1,000 requests/hour). They now have general rate limits of 10,000 requests/hour.
- Buildings numbers on map V2 are now shown on closer zoom.

##### Fixed

- Users who registered via Google (or other OAuth providers) can now change their password and email without needing to enter their current password.
- Fix deadlocks in reverse geocoding job when multiple Sidekiq workers update points concurrently.
- Fix `counter_cache_column` error in points counter reset job by using direct SQL count instead of `reset_counters`.
- Fix duplicate place records causing `ON CONFLICT` cardinality violations during reverse geocoding.
- Fix `TypeError` crash in transportation mode backfill when Google export files have unexpected JSON structure.
- Fix inability to disable visit suggestions background job due to conflicting Rails UJS and Turbo handlers causing request cancellation [#&#8203;2118](https://github.com/Freika/dawarich/issues/2118).
- Fix visit confirm/decline buttons firing twice [#&#8203;2379](https://github.com/Freika/dawarich/issues/2379).
- Fix clicking on a point in Map v2 silently moving it to the cursor position. Points now only update when intentionally dragged [#&#8203;2149](https://github.com/Freika/dawarich/issues/2149), [#&#8203;2150](https://github.com/Freika/dawarich/issues/2150).
- Fix visit name suggester not recognizing Photon reverse geocoding data format, causing all suggested places to show as "Suggested place" [#&#8203;2151](https://github.com/Freika/dawarich/issues/2151), [#&#8203;2377](https://github.com/Freika/dawarich/issues/2377).
- Fix visit edit form displaying UTC times instead of the user's configured timezone [#&#8203;2168](https://github.com/Freika/dawarich/issues/2168).
- Fix export deletion failing when the export file was manually removed from disk [#&#8203;915](https://github.com/Freika/dawarich/issues/915).
- Fix PhotoPrism `before` date filter being off by one day, excluding photos taken on the end date [#&#8203;747](https://github.com/Freika/dawarich/issues/747).
- Fix datetime inputs allowing 5-digit years on Chrome by adding `max` attribute to all datetime-local fields [#&#8203;578](https://github.com/Freika/dawarich/issues/578).
- Fix Points page datetime fields requiring seconds input, preventing search on mobile browsers and some desktop browsers [#&#8203;1040](https://github.com/Freika/dawarich/issues/1040), [#&#8203;1478](https://github.com/Freika/dawarich/issues/1478).
- Fix altitude values being truncated to integers instead of preserving decimal precision [#&#8203;1573](https://github.com/Freika/dawarich/issues/1573).
- Fix suggested visits keeping "Suggested Visit" name when confirmed directly without selecting a place [#&#8203;1725](https://github.com/Freika/dawarich/issues/1725).
- Fix visit name becoming empty and uneditable when clicking the name field and then clicking away [#&#8203;1776](https://github.com/Freika/dawarich/issues/1776).
- Fix trips page crashing with `undefined method 'coordinates' for nil` when trip path calculation hasn't completed yet [#&#8203;1356](https://github.com/Freika/dawarich/issues/1356), [#&#8203;1765](https://github.com/Freika/dawarich/issues/1765).
- Fix Immich/PhotoPrism photos on map not being filtered by the selected date range [#&#8203;1755](https://github.com/Freika/dawarich/issues/1755).
- Fix short trips (less than one full day) not showing photos due to PhotoPrism `before` date filter being exclusive [#&#8203;1688](https://github.com/Freika/dawarich/issues/1688).
- Fix health check endpoint (`/api/v1/health`) triggering unnecessary `User Load` database queries on every request [#&#8203;1770](https://github.com/Freika/dawarich/issues/1770).
- Fix points created via Overland API (Home Assistant, GPSLogger) not being automatically reverse geocoded after creation [#&#8203;1242](https://github.com/Freika/dawarich/issues/1242).
- Fix monthly stats map crashing with `Invalid LatLng object: (NaN, NaN)` when points have missing coordinates [#&#8203;1762](https://github.com/Freika/dawarich/issues/1762).
- Fix trips failing with self-signed certificates by leveraging per-integration SSL skip settings [#&#8203;455](https://github.com/Freika/dawarich/issues/455).
- Fix non-admin users unable to access Background Jobs settings to trigger reverse geocoding or manage visit suggestions [#&#8203;1714](https://github.com/Freika/dawarich/issues/1714).
- Fix family page map not loading due to `escape_javascript` producing invalid JSON in the Stimulus data attribute.
- Fix countries appearing in visited statistics despite only being driven through without spending meaningful time in any city [#&#8203;1595](https://github.com/Freika/dawarich/issues/1595), [#&#8203;1779](https://github.com/Freika/dawarich/issues/1779).
- Fix `migrate_to_new_storage` rake task crashing when export URL is blank, already migrated, or points to a directory instead of a file [#&#8203;1018](https://github.com/Freika/dawarich/issues/1018), [#&#8203;1037](https://github.com/Freika/dawarich/issues/1037).
- Fix selecting the only suggested place for a visit having no effect because the dropdown `change` event never fires with a single option [#&#8203;471](https://github.com/Freika/dawarich/issues/471).
- Fix city duration calculation undercounting time spent due to integer division truncating sub-minute GPS intervals to zero [#&#8203;2408](https://github.com/Freika/dawarich/issues/2408).
- Fix tooltips in data tables (Imports, Exports, Points) being hidden behind adjacent rows [#&#8203;2409](https://github.com/Freika/dawarich/issues/2409).
- Fix iOS QR code in Account settings being cut off on the right side [#&#8203;2406](https://github.com/Freika/dawarich/issues/2406).

</details>

---

### Configuration

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

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

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

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

---

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

---

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

Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/5260
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-30 16:27:21 +00:00
8c556ccb1a chore(deps): update unpoller to v2.39.0 (#5255)
Some checks failed
lint-test-helm / lint-helm (push) Successful in 14s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Has been cancelled
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [ghcr.io/unpoller/unpoller](https://github.com/unpoller/unpoller) | minor | `v2.38.0` → `v2.39.0` |
| [unpoller/unpoller](https://github.com/unpoller/unpoller) | minor | `v2.38.0` → `v2.39.0` |

---

### Release Notes

<details>
<summary>unpoller/unpoller (ghcr.io/unpoller/unpoller)</summary>

### [`v2.39.0`](https://github.com/unpoller/unpoller/releases/tag/v2.39.0)

[Compare Source](https://github.com/unpoller/unpoller/compare/v2.38.0...v2.39.0)

##### Changelog

- [`c596e82`](c596e82cf2) fix: use v2 traffic API as DPI fallback for Network 9.1+ firmware ([#&#8203;985](https://github.com/unpoller/unpoller/issues/985))

</details>

---

### Configuration

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

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

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

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

---

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

---

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

Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/5255
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-30 16:25:45 +00:00
c22f854a72 chore(deps): update ghcr.io/renovatebot/renovate docker tag to v43.100.2 (#5290)
Some checks failed
renovate / renovate (push) Has been cancelled
2026-03-30 16:04:11 +00:00
7081f8b744 chore(deps): update harbor.alexlebens.net/images/site-documentation docker tag to v0.12.0 (#5283)
All checks were successful
lint-test-helm / lint-helm (push) Successful in 19s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Successful in 6m26s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [harbor.alexlebens.net/images/site-documentation](https://gitea.alexlebens.dev/alexlebens/site-documentation) | minor | `0.11.0` → `0.12.0` |

---

### Release Notes

<details>
<summary>alexlebens/site-documentation (harbor.alexlebens.net/images/site-documentation)</summary>

### [`v0.12.0`](https://gitea.alexlebens.dev/alexlebens/site-documentation/releases/tag/0.12.0)

[Compare Source](https://gitea.alexlebens.dev/alexlebens/site-documentation/compare/0.11.0...0.12.0)

### [0.12.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.11.0...0.12.0) (2026-03-30)

##### Features

- add more apps ([e13f3e3](e13f3e30e2))
- add more apps ([ef4ff67](ef4ff67818))
- add more apps ([32eacf8](32eacf8df7))

</details>

---

### Configuration

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

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

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

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

---

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

---

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

Reviewed-on: #5283
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-30 15:57:06 +00:00
d06442ce32 chore(deps): update ghcr.io/renovatebot/renovate docker tag to v43.100.1 (#5288)
All checks were successful
renovate / renovate (push) Successful in 22m5s
2026-03-30 15:04:43 +00:00
7b6327d579 chore(deps): update ghcr.io/renovatebot/renovate docker tag to v43.100.0 (#5287)
All checks were successful
renovate / renovate (push) Successful in 6m16s
render-manifests / render-manifests (push) Successful in 15m9s
2026-03-30 08:04:01 +00:00
0810010c72 feat: change to statefulset (#5281)
All checks were successful
lint-test-helm / lint-helm (push) Successful in 1m16s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Successful in 3m50s
Reviewed-on: #5281
2026-03-30 02:34:50 +00:00
deee5fe36d feat: balance resources (#5279)
All checks were successful
lint-test-helm / lint-helm (push) Successful in 36s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Successful in 4m19s
Reviewed-on: #5279
2026-03-30 02:04:36 +00:00