649b9f4bbe
chore(config): migrate Renovate config ( #4752 )
...
renovate / renovate (push) Successful in 2m41s
The Renovate config in this repository needs migrating. Typically this is because one or more configuration options you are using have been renamed.
You don't need to merge this PR right away, because Renovate will continue to migrate these fields internally each time it runs. But later some of these fields may be fully deprecated and the migrations removed. So it's a good idea to merge this migration PR soon.
🔕 **Ignore**: Close this PR and you won't be reminded about config migration again, but one day your current config may no longer be valid.
❓ Got questions? Does something look wrong to you? Please don't hesitate to [request help here](https://github.com/renovatebot/renovate/discussions ).
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate ).
Reviewed-on: #4752
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-03-15 06:08:46 +00:00
27151632c0
feat: add description
lint-test-helm / lint-helm (push) Successful in 50s
render-manifests / render-manifests (push) Successful in 49s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Successful in 1m48s
2026-03-15 01:00:58 -05:00
04ff752696
feat: add renovate tags for specific images
2026-03-15 01:00:28 -05:00
d373ba5ae9
feat: renovate for kubeconform
2026-03-15 00:54:33 -05:00
e00b12f619
feat: update helm and use renovate to keep it updated
2026-03-15 00:52:57 -05:00
6cb0c2e987
feat: remove if
renovate / renovate (push) Successful in 1m27s
2026-03-15 00:44:06 -05:00
088c4ae827
feat: remove link to wiki
lint-test-helm / lint-helm (push) Successful in 14s
lint-test-helm / validate-kubeconform (push) Has been skipped
render-manifests / render-manifests (push) Successful in 33s
renovate / renovate (push) Successful in 2m46s
2026-03-15 00:39:46 -05:00
e00766e4b0
feat: add cache
renovate / renovate (push) Has been cancelled
2026-03-15 00:39:04 -05:00
79b301e4ef
feat: add helm repos
renovate / renovate (push) Successful in 1m26s
2026-03-15 00:34:47 -05:00
e1bf47f045
feat: improve linking
2026-03-15 00:33:28 -05:00
0315445a50
feat: add kubeconform job
renovate / renovate (push) Successful in 1m40s
2026-03-15 00:25:35 -05:00
6450588d17
feat: refactor and improve steps
renovate / renovate (push) Successful in 1m40s
2026-03-15 00:10:28 -05:00
4dd98f9581
feat: refactor and improve steps
renovate / renovate (push) Successful in 3m34s
2026-03-15 00:05:19 -05:00
702ffc65da
feat: use hyphen for consistency
renovate / renovate (push) Successful in 1m27s
2026-03-14 23:38:35 -05:00
2372ab4b69
feat: add dir output to render
renovate / renovate (push) Successful in 1m43s
2026-03-14 23:33:15 -05:00
ed57ae842b
feat: ignore oci repo
renovate / renovate (push) Successful in 1m33s
2026-03-14 23:26:46 -05:00
9099d66bd8
feat: group output
renovate / renovate (push) Successful in 1m35s
2026-03-14 23:22:46 -05:00
b8447dd0ed
feat: add update pr step
2026-03-14 23:22:03 -05:00
c373ee4844
feat: improve formatting, revert yq strip command
renovate / renovate (push) Successful in 1m26s
2026-03-14 23:19:31 -05:00
da8ba776e8
feat: consolidate render workflows to 1
renovate / renovate (push) Successful in 1m55s
2026-03-14 23:07:57 -05:00
b4afd2ab46
feat: upgrade chart to v1
lint-test-helm / lint-helm (push) Successful in 11s
render-manifests-push / render-manifests-push (push) Successful in 2m10s
renovate / renovate (push) Successful in 1m18s
2026-03-14 21:08:24 -05:00
d0d9380b93
chore(deps): update booklore-app/booklore to v2.2.1 ( #4747 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 14s
renovate / renovate (push) Has been cancelled
2026-03-15 02:06:18 +00:00
c435ba993e
feat: refactor and improve steps
renovate / renovate (push) Has been cancelled
2026-03-14 21:04:35 -05:00
85aa62b529
feat: remove link to wiki
lint-test-helm / lint-helm (push) Successful in 31s
render-manifests-push / render-manifests-push (push) Successful in 31s
renovate / renovate (push) Successful in 2m8s
2026-03-14 21:02:19 -05:00
74af45cb57
fix: missing closing quote
renovate / renovate (push) Has been cancelled
2026-03-14 21:00:35 -05:00
849fdb432d
chore(deps): update registry.k8s.io/coredns/coredns docker tag to v1.14.2 ( #4745 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 31s
renovate / renovate (push) Successful in 1m36s
2026-03-15 01:58:17 +00:00
78d15dccad
feat: refactor and improve steps
renovate / renovate (push) Successful in 1m57s
2026-03-14 20:56:01 -05:00
8bfb5aeea3
feat: add api version and dry-run=server options to render
renovate / renovate (push) Has been cancelled
2026-03-14 20:54:57 -05:00
5baa34db7e
feat: change schedule to morning
2026-03-14 20:49:05 -05:00
d05381f6d2
fix: missing slash to place into folder
renovate / renovate (push) Successful in 3m17s
2026-03-14 20:45:48 -05:00
b2cf5c094c
feat: revert clean comments
renovate / renovate (push) Successful in 2m4s
2026-03-14 20:31:20 -05:00
20d80826cb
fix: missing apostrophe
renovate / renovate (push) Successful in 3m59s
2026-03-14 20:15:06 -05:00
efe27b9307
chore(deps): update actions/cache action to v5 ( #4741 )
...
renovate / renovate (push) Successful in 3m2s
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [actions/cache](https://github.com/actions/cache ) | action | major | `v4` → `v5` |
---
### Release Notes
<details>
<summary>actions/cache (actions/cache)</summary>
### [`v5`](https://github.com/actions/cache/compare/v4...v5 )
[Compare Source](https://github.com/actions/cache/compare/v4...v5 )
</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:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Reviewed-on: #4741
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-03-15 01:06:15 +00:00
13f4726021
fix: remove local variable assignment
renovate / renovate (push) Has been cancelled
2026-03-14 20:05:46 -05:00
2785f337cf
feat: refactor and improve steps
renovate / renovate (push) Successful in 3m1s
2026-03-14 19:59:30 -05:00
67163611af
chore(deps): update dependency mariadb-operator/mariadb-operator to v26 ( #4704 )
...
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 1m0s
renovate / renovate (push) Successful in 2m58s
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [mariadb-operator/mariadb-operator](https://github.com/mariadb-operator/mariadb-operator ) | major | `25.10.4` → `26.3.0` |
---
### Release Notes
<details>
<summary>mariadb-operator/mariadb-operator (mariadb-operator/mariadb-operator)</summary>
### [`v26.3.0`](https://github.com/mariadb-operator/mariadb-operator/releases/tag/26.3.0 )
[Compare Source](https://github.com/mariadb-operator/mariadb-operator/compare/25.10.4...26.3.0 )
**`mariadb-operator` [26.03](https://github.com/mariadb-operator/mariadb-operator/releases/tag/26.3.0 ) is here!** 🦭
Welcome to another release of `mariadb-operator`! In this version, we have significantly enhanced our disaster recovery capabilities by adding support for **on-demand physical backups**, **Azure Blob Storage** and... (🥁 )... **Point-In-Time-Recovery** ✨ .
Additionally, we've received a bunch of contributions by our amazing community during this release, including bug fixes and new features. We feel very grateful for your efforts and support, thank you! 🙇♂️ Refer to the PRs in the changelog below for further details.
If you're upgrading from previous versions, **do not miss the [UPGRADE GUIDE](https://github.com/mariadb-operator/mariadb-operator/blob/main/docs/releases/UPGRADE_26.3.0.md )** for a smooth transition.
#### Point-In-Time-Recovery
Point-in-time recovery (PITR) is a feature that allows you to restore a `MariaDB` instance to a specific point in time. For achieving this, it combines a full base backup and the binary logs that record all changes made to the database after the backup. This is something fully automated by operator, covering archival and restoration up to a specific time, ensuring business continuity and reduced RTO and RPO.
In order to configure PITR, you need to create a `PhysicalBackup` object to be used as full base backup. For example, you can configure a nightly backup:
```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: PhysicalBackup
metadata:
name: physicalbackup-daily
spec:
mariaDbRef:
name: mariadb-repl
schedule:
cron: "0 0 * * *"
suspend: false
immediate: true
compression: bzip2
maxRetention: 720h
storage:
s3:
bucket: physicalbackups
prefix: mariadb
endpoint: minio.minio.svc.cluster.local:9000
region: us-east-1
accessKeyIdSecretKeyRef:
name: minio
key: access-key-id
secretAccessKeySecretKeyRef:
name: minio
key: secret-access-key
tls:
enabled: true
caSecretKeyRef:
name: minio-ca
key: ca.crt
```
Next step is configuring common aspects of both binary log archiving and point-in-time restoration by defining a `PointInTimeRecovery` object:
```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: PointInTimeRecovery
metadata:
name: pitr
spec:
physicalBackupRef:
name: physicalbackup-daily
storage:
s3:
bucket: binlogs
prefix: mariadb
endpoint: minio.minio.svc.cluster.local:9000
region: us-east-1
accessKeyIdSecretKeyRef:
name: minio
key: access-key-id
secretAccessKeySecretKeyRef:
name: minio
key: secret-access-key
tls:
enabled: true
caSecretKeyRef:
name: minio-ca
key: ca.crt
compression: gzip
archiveTimeout: 1h
strictMode: false
```
The new `PointInTimeRecovery` CR is just a configuration object that contains shared settings for both binary log archiving and point-in-time recovery. It has also a reference to a `PhysicalBackup` CR, used as full base backup.
In order to configure binary log archiving, you need to set a reference to the `PointInTimeRecovery` CR in the `MariaDB` object:
```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: MariaDB
metadata:
name: mariadb-repl
spec:
pointInTimeRecoveryRef:
name: pitr
```
This will enable the binary log archival in the sidecar agent, which will eventually report the last recoverable time via the `PointInTimeRecovery` status:
```bash
kubectl get pitr
NAME PHYSICAL BACKUP LAST RECOVERABLE TIME STRICT MODE AGE
pitr physicalbackup-daily 2026-02-27T20:10:42Z false 43h
```
In order to perform a point-in-time restoration, you can create a new `MariaDB` instance with a reference to the `PointInTimeRecovery` object in the `bootstrapFrom` field, along with the `targetRecoveryTime`, which should be before or at the last recoverable time:
```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: MariaDB
metadata:
name: mariadb-repl
spec:
bootstrapFrom:
pointInTimeRecoveryRef:
name: pitr
targetRecoveryTime: 2026-02-27T20:10:42Z
```
The restoration process will match the closest physical backup before or at the `targetRecoveryTime`, and then it will replay the archived binary logs from the backup GTID position up until the `targetRecoveryTime`.
Refer to the [PITR docs](https://github.com/mariadb-operator/mariadb-operator/blob/main/docs/pitr.md ) for additional details.
#### Azure Blob Storage
So far, we have only supported S3-compatible storage as object storage for keeping the backups. We are now introducing native support for Azure Blob Storage in the `PhysicalBackup` and `PointInTimeRecovery` CRs. You can configure it under the `storage` field, similarly to S3:
```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: PointInTimeRecovery
metadata:
name: pitr
spec:
storage:
azureBlob:
containerName: binlogs
serviceURL: https://azurite.default.svc.cluster.local:10000/devstoreaccount1
prefix: mariadb
storageAccountName: devstoreaccount1
storageAccountKey:
name: azurite-key
key: storageAccountKey
tls:
enabled: true
caSecretKeyRef:
name: azurite-certs
key: cert.pem
```
```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: PhysicalBackup
metadata:
name: physicalbackup-daily
spec:
storage:
azureBlob:
containerName: physicalbackup
serviceURL: https://azurite.default.svc.cluster.local:10000/devstoreaccount1
prefix: mariadb
storageAccountName: devstoreaccount1
storageAccountKey:
name: azurite-key
key: storageAccountKey
tls:
enabled: true
caSecretKeyRef:
name: azurite-certs
key: cert.pem
```
Refer to the [physical backup storage](https://github.com/mariadb-operator/mariadb-operator/blob/main/docs/physical_backup.md#azure-blob-storage-credentials ) docs for additional details.
It is important to note that we couldn't find the bandwidth to support it for `Backup` resource (logical backup) in this release, [contributions are welcomed](https://github.com/mariadb-operator/mariadb-operator/issues/1653 )!
Kudos to our co-maintainer [@​Michaelpalacce](https://github.com/Michaelpalacce ) for smoothly driving this feature end-to-end!
#### On-demand `PhysicalBackup`
We have introduced the ability to trigger on-demand physical backup manually. For doing so, you need to provide an identifier in the `schedule.onDemand` field of the `PhysicalBackup` resource:
```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: PhysicalBackup
metadata:
name: physicalbackup
spec:
schedule:
onDemand: "1"
```
Once scheduled, the operator tracks the identifier under the status subresource. If the identifier in the status differs from `schedule.onDemand`, the operator will trigger a new physical backup.
Refer to the [physical backup scheduling](https://github.com/mariadb-operator/mariadb-operator/blob/main/docs/physical_backup.md#scheduling ) docs for additional details.
##### Behaviour change in `targetRecoveryTime`
To satisfy requirements of point-in-time recovery, we have unified the behaviour of the `bootstrapFrom.targetRecoveryTime` field in the `MariaDB` object: Logical and physical backup files whose timestamp is closest to `targetRecoveryTime`, **but not after**, will be matched.
Please take this into account when upgrading to this version.
##### Change in Helm `values.yaml`
`config` has been split into `repository` and `tag` to facilitate overriding the image registry (see [#​1632](https://github.com/mariadb-operator/mariadb-operator/pull/1632 )). Please update your `values.yaml` from:
```yaml
config:
mariadbImageName: docker-registry1.mariadb.com/library/mariadb
maxscaleImage: docker-registry2.mariadb.com/mariadb/maxscale:23.08.5
exporterImage: prom/mysqld-exporter:v0.15.1
exporterMaxscaleImage: docker-registry2.mariadb.com/mariadb/maxscale-prometheus-exporter-ubi:v0.0.1
```
to the following format:
```yaml
config:
mariadbImage:
repository: docker-registry1.mariadb.com/library/mariadb
tag: 11.8.5
maxscaleImage:
repository: docker-registry2.mariadb.com/mariadb/maxscale
tag: 23.08.5
exporterImage:
repository: prom/mysqld-exporter
tag: v0.15.1
exporterMaxscaleImage:
repository: docker-registry2.mariadb.com/mariadb/maxscale-prometheus-exporter-ubi
tag: v0.0.1
```
##### Updated dependencies
| Platform/Component | Version |
| ------------------ | ------- |
| Kubernetes | 1.35 |
| Go | 1.26.1 |
| controller-runtime | 0.23.3 |
#### Updated roadmap
The next feature to be supported is the new multi-cluster topology. Stay tuned!
- [x] ~~[Point In Time Recovery (PITR)](https://github.com/mariadb-operator/mariadb-operator/issues/507 )~~
- [ ] [Multi-cluster topology](https://github.com/mariadb-operator/mariadb-operator/issues/1543 )
***
#### Community
Contributions of any kind are always welcome: adding yourself to the [list of adopters](https://github.com/mariadb-operator/mariadb-operator/blob/main/ADOPTERS.md ), reporting issues, submitting pull requests, or simply starring the project! 🌟
#### Enterprise
For enterprise users, see the **[MariaDB Enterprise Operator](https://mariadb.com/products/enterprise/kubernetes-operator/ )**, a commercially supported Kubernetes operator from MariaDB with additional enterprise-grade features.
#### What's Changed
- feat: Use primary Service by default for HA mariaDB connections by [@​softho0n](https://github.com/softho0n ) in [#​1575](https://github.com/mariadb-operator/mariadb-operator/pull/1575 )
- feat: add loadBalancerClass field to ServiceTemplate by [@​yangminglintw](https://github.com/yangminglintw ) in [#​1589](https://github.com/mariadb-operator/mariadb-operator/pull/1589 )
- fix: use standard compression extensions and add magic bytes validation by [@​yangminglintw](https://github.com/yangminglintw ) in [#​1588](https://github.com/mariadb-operator/mariadb-operator/pull/1588 )
- Make volumes and volumeMounts mutable by [@​hedgieinsocks](https://github.com/hedgieinsocks ) in [#​1601](https://github.com/mariadb-operator/mariadb-operator/pull/1601 )
- chore: Bump to latest go by [@​Michaelpalacce](https://github.com/Michaelpalacce ) in [#​1630](https://github.com/mariadb-operator/mariadb-operator/pull/1630 )
- make imagePullSecrets mutable by [@​dmaes](https://github.com/dmaes ) in [#​1614](https://github.com/mariadb-operator/mariadb-operator/pull/1614 )
- split config images in repository and tag by [@​dmaes](https://github.com/dmaes ) in [#​1632](https://github.com/mariadb-operator/mariadb-operator/pull/1632 )
- Galera recovery: disable bootstrap on other pods before bootstrapping by [@​infocusmodereal](https://github.com/infocusmodereal ) in [#​1631](https://github.com/mariadb-operator/mariadb-operator/pull/1631 )
- Bump github.com/minio/minio-go/v7 from 7.0.97 to 7.0.98 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1585](https://github.com/mariadb-operator/mariadb-operator/pull/1585 )
- Bump ghcr.io/devcontainers/features/docker-in-docker from 2.13.0 to 2.16.0 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1624](https://github.com/mariadb-operator/mariadb-operator/pull/1624 )
- Bump ghcr.io/devcontainers/features/kubectl-helm-minikube from 1.2.2 to 1.3.1 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1623](https://github.com/mariadb-operator/mariadb-operator/pull/1623 )
- Bump goreleaser/goreleaser-action from 6 to 7 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1620](https://github.com/mariadb-operator/mariadb-operator/pull/1620 )
- Bump github.com/onsi/gomega from 1.38.3 to 1.39.0 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1581](https://github.com/mariadb-operator/mariadb-operator/pull/1581 )
- Bump crate-ci/typos from 1.41.0 to 1.44.0 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1625](https://github.com/mariadb-operator/mariadb-operator/pull/1625 )
- Bump github.com/onsi/ginkgo/v2 from 2.27.3 to 2.27.5 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1586](https://github.com/mariadb-operator/mariadb-operator/pull/1586 )
- Bump github.com/cert-manager/cert-manager from 1.18.2 to 1.19.2 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1580](https://github.com/mariadb-operator/mariadb-operator/pull/1580 )
- Bump github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring from 0.87.1 to 0.88.0 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1579](https://github.com/mariadb-operator/mariadb-operator/pull/1579 )
- Disable service links in MariaDB and MaxScale pod specs by [@​usiegj00](https://github.com/usiegj00 ) in [#​1635](https://github.com/mariadb-operator/mariadb-operator/pull/1635 )
- Fix finalizer for ExternalMariDB by [@​snaax](https://github.com/snaax ) in [#​1606](https://github.com/mariadb-operator/mariadb-operator/pull/1606 )
- test: Added int tests for sql resources with external mariadb deletion by [@​Michaelpalacce](https://github.com/Michaelpalacce ) in [#​1649](https://github.com/mariadb-operator/mariadb-operator/pull/1649 )
- Bump github.com/minio/minio-go/v7 from 7.0.98 to 7.0.99 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1648](https://github.com/mariadb-operator/mariadb-operator/pull/1648 )
- Bump golang.org/x/sync from 0.19.0 to 0.20.0 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1645](https://github.com/mariadb-operator/mariadb-operator/pull/1645 )
- Bump docker/build-push-action from 6 to 7 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1644](https://github.com/mariadb-operator/mariadb-operator/pull/1644 )
- Bump docker/setup-qemu-action from 3 to 4 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1642](https://github.com/mariadb-operator/mariadb-operator/pull/1642 )
- Bump github.com/go-chi/chi/v5 from 5.2.3 to 5.2.5 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1641](https://github.com/mariadb-operator/mariadb-operator/pull/1641 )
- Bump docker/login-action from 3 to 4 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1646](https://github.com/mariadb-operator/mariadb-operator/pull/1646 )
- Bump ghcr.io/devcontainers/features/docker-in-docker from 2.16.0 to 2.16.1 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1640](https://github.com/mariadb-operator/mariadb-operator/pull/1640 )
- Bump docker/setup-buildx-action from 3 to 4 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1638](https://github.com/mariadb-operator/mariadb-operator/pull/1638 )
- Bump github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring from 0.88.0 to 0.89.0 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1643](https://github.com/mariadb-operator/mariadb-operator/pull/1643 )
- Bump golang from 1.25.7-alpine3.23 to 1.26.1-alpine3.23 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1639](https://github.com/mariadb-operator/mariadb-operator/pull/1639 )
- feat: Latest controller-runtime. Webhook changes, New Events API by [@​Michaelpalacce](https://github.com/Michaelpalacce ) in [#​1651](https://github.com/mariadb-operator/mariadb-operator/pull/1651 )
- Support for ephemeral volumes in `MariaDB` by [@​mmontes11](https://github.com/mmontes11 ) in [#​1650](https://github.com/mariadb-operator/mariadb-operator/pull/1650 )
- fix: accept compressed backup files in logical restore by [@​voron](https://github.com/voron ) in [#​1655](https://github.com/mariadb-operator/mariadb-operator/pull/1655 )
- Fix typo: syncrhonous -> synchronous by [@​sjmudd](https://github.com/sjmudd ) in [#​1657](https://github.com/mariadb-operator/mariadb-operator/pull/1657 )
- Release 26.03: `PointInTimeRecovery`, Azure Blob Storage & on-demand `PhysicalBackups` by [@​mmontes11](https://github.com/mmontes11 ) in [#​1517](https://github.com/mariadb-operator/mariadb-operator/pull/1517 )
#### New Contributors
- [@​softho0n](https://github.com/softho0n ) made their first contribution in [#​1575](https://github.com/mariadb-operator/mariadb-operator/pull/1575 )
- [@​yangminglintw](https://github.com/yangminglintw ) made their first contribution in [#​1589](https://github.com/mariadb-operator/mariadb-operator/pull/1589 )
- [@​dmaes](https://github.com/dmaes ) made their first contribution in [#​1614](https://github.com/mariadb-operator/mariadb-operator/pull/1614 )
- [@​infocusmodereal](https://github.com/infocusmodereal ) made their first contribution in [#​1631](https://github.com/mariadb-operator/mariadb-operator/pull/1631 )
- [@​usiegj00](https://github.com/usiegj00 ) made their first contribution in [#​1635](https://github.com/mariadb-operator/mariadb-operator/pull/1635 )
- [@​voron](https://github.com/voron ) made their first contribution in [#​1655](https://github.com/mariadb-operator/mariadb-operator/pull/1655 )
- [@​sjmudd](https://github.com/sjmudd ) made their first contribution in [#​1657](https://github.com/mariadb-operator/mariadb-operator/pull/1657 )
**Full Changelog**: <https://github.com/mariadb-operator/mariadb-operator/compare/25.10.4...26.3.0 >
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->
Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/4704
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-03-15 00:04:42 +00:00
15f4df3ec4
chore(deps): update helm release mariadb-cluster to v26 ( #4705 )
...
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 11s
renovate / renovate (push) Successful in 2m31s
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [mariadb-cluster](https://github.com/mariadb-operator/mariadb-operator ) | major | `25.10.4` → `26.3.0` |
---
### Release Notes
<details>
<summary>mariadb-operator/mariadb-operator (mariadb-cluster)</summary>
### [`v26.3.0`](https://github.com/mariadb-operator/mariadb-operator/releases/tag/26.3.0 )
[Compare Source](https://github.com/mariadb-operator/mariadb-operator/compare/mariadb-cluster-25.10.4...mariadb-cluster-26.3.0 )
**`mariadb-operator` [26.03](https://github.com/mariadb-operator/mariadb-operator/releases/tag/26.3.0 ) is here!** 🦭
Welcome to another release of `mariadb-operator`! In this version, we have significantly enhanced our disaster recovery capabilities by adding support for **on-demand physical backups**, **Azure Blob Storage** and... (🥁 )... **Point-In-Time-Recovery** ✨ .
Additionally, we've received a bunch of contributions by our amazing community during this release, including bug fixes and new features. We feel very grateful for your efforts and support, thank you! 🙇♂️ Refer to the PRs in the changelog below for further details.
If you're upgrading from previous versions, **do not miss the [UPGRADE GUIDE](https://github.com/mariadb-operator/mariadb-operator/blob/main/docs/releases/UPGRADE_26.3.0.md )** for a smooth transition.
#### Point-In-Time-Recovery
Point-in-time recovery (PITR) is a feature that allows you to restore a `MariaDB` instance to a specific point in time. For achieving this, it combines a full base backup and the binary logs that record all changes made to the database after the backup. This is something fully automated by operator, covering archival and restoration up to a specific time, ensuring business continuity and reduced RTO and RPO.
In order to configure PITR, you need to create a `PhysicalBackup` object to be used as full base backup. For example, you can configure a nightly backup:
```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: PhysicalBackup
metadata:
name: physicalbackup-daily
spec:
mariaDbRef:
name: mariadb-repl
schedule:
cron: "0 0 * * *"
suspend: false
immediate: true
compression: bzip2
maxRetention: 720h
storage:
s3:
bucket: physicalbackups
prefix: mariadb
endpoint: minio.minio.svc.cluster.local:9000
region: us-east-1
accessKeyIdSecretKeyRef:
name: minio
key: access-key-id
secretAccessKeySecretKeyRef:
name: minio
key: secret-access-key
tls:
enabled: true
caSecretKeyRef:
name: minio-ca
key: ca.crt
```
Next step is configuring common aspects of both binary log archiving and point-in-time restoration by defining a `PointInTimeRecovery` object:
```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: PointInTimeRecovery
metadata:
name: pitr
spec:
physicalBackupRef:
name: physicalbackup-daily
storage:
s3:
bucket: binlogs
prefix: mariadb
endpoint: minio.minio.svc.cluster.local:9000
region: us-east-1
accessKeyIdSecretKeyRef:
name: minio
key: access-key-id
secretAccessKeySecretKeyRef:
name: minio
key: secret-access-key
tls:
enabled: true
caSecretKeyRef:
name: minio-ca
key: ca.crt
compression: gzip
archiveTimeout: 1h
strictMode: false
```
The new `PointInTimeRecovery` CR is just a configuration object that contains shared settings for both binary log archiving and point-in-time recovery. It has also a reference to a `PhysicalBackup` CR, used as full base backup.
In order to configure binary log archiving, you need to set a reference to the `PointInTimeRecovery` CR in the `MariaDB` object:
```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: MariaDB
metadata:
name: mariadb-repl
spec:
pointInTimeRecoveryRef:
name: pitr
```
This will enable the binary log archival in the sidecar agent, which will eventually report the last recoverable time via the `PointInTimeRecovery` status:
```bash
kubectl get pitr
NAME PHYSICAL BACKUP LAST RECOVERABLE TIME STRICT MODE AGE
pitr physicalbackup-daily 2026-02-27T20:10:42Z false 43h
```
In order to perform a point-in-time restoration, you can create a new `MariaDB` instance with a reference to the `PointInTimeRecovery` object in the `bootstrapFrom` field, along with the `targetRecoveryTime`, which should be before or at the last recoverable time:
```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: MariaDB
metadata:
name: mariadb-repl
spec:
bootstrapFrom:
pointInTimeRecoveryRef:
name: pitr
targetRecoveryTime: 2026-02-27T20:10:42Z
```
The restoration process will match the closest physical backup before or at the `targetRecoveryTime`, and then it will replay the archived binary logs from the backup GTID position up until the `targetRecoveryTime`.
Refer to the [PITR docs](https://github.com/mariadb-operator/mariadb-operator/blob/main/docs/pitr.md ) for additional details.
#### Azure Blob Storage
So far, we have only supported S3-compatible storage as object storage for keeping the backups. We are now introducing native support for Azure Blob Storage in the `PhysicalBackup` and `PointInTimeRecovery` CRs. You can configure it under the `storage` field, similarly to S3:
```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: PointInTimeRecovery
metadata:
name: pitr
spec:
storage:
azureBlob:
containerName: binlogs
serviceURL: https://azurite.default.svc.cluster.local:10000/devstoreaccount1
prefix: mariadb
storageAccountName: devstoreaccount1
storageAccountKey:
name: azurite-key
key: storageAccountKey
tls:
enabled: true
caSecretKeyRef:
name: azurite-certs
key: cert.pem
```
```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: PhysicalBackup
metadata:
name: physicalbackup-daily
spec:
storage:
azureBlob:
containerName: physicalbackup
serviceURL: https://azurite.default.svc.cluster.local:10000/devstoreaccount1
prefix: mariadb
storageAccountName: devstoreaccount1
storageAccountKey:
name: azurite-key
key: storageAccountKey
tls:
enabled: true
caSecretKeyRef:
name: azurite-certs
key: cert.pem
```
Refer to the [physical backup storage](https://github.com/mariadb-operator/mariadb-operator/blob/main/docs/physical_backup.md#azure-blob-storage-credentials ) docs for additional details.
It is important to note that we couldn't find the bandwidth to support it for `Backup` resource (logical backup) in this release, [contributions are welcomed](https://github.com/mariadb-operator/mariadb-operator/issues/1653 )!
Kudos to our co-maintainer [@​Michaelpalacce](https://github.com/Michaelpalacce ) for smoothly driving this feature end-to-end!
#### On-demand `PhysicalBackup`
We have introduced the ability to trigger on-demand physical backup manually. For doing so, you need to provide an identifier in the `schedule.onDemand` field of the `PhysicalBackup` resource:
```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: PhysicalBackup
metadata:
name: physicalbackup
spec:
schedule:
onDemand: "1"
```
Once scheduled, the operator tracks the identifier under the status subresource. If the identifier in the status differs from `schedule.onDemand`, the operator will trigger a new physical backup.
Refer to the [physical backup scheduling](https://github.com/mariadb-operator/mariadb-operator/blob/main/docs/physical_backup.md#scheduling ) docs for additional details.
##### Behaviour change in `targetRecoveryTime`
To satisfy requirements of point-in-time recovery, we have unified the behaviour of the `bootstrapFrom.targetRecoveryTime` field in the `MariaDB` object: Logical and physical backup files whose timestamp is closest to `targetRecoveryTime`, **but not after**, will be matched.
Please take this into account when upgrading to this version.
##### Change in Helm `values.yaml`
`config` has been split into `repository` and `tag` to facilitate overriding the image registry (see [#​1632](https://github.com/mariadb-operator/mariadb-operator/pull/1632 )). Please update your `values.yaml` from:
```yaml
config:
mariadbImageName: docker-registry1.mariadb.com/library/mariadb
maxscaleImage: docker-registry2.mariadb.com/mariadb/maxscale:23.08.5
exporterImage: prom/mysqld-exporter:v0.15.1
exporterMaxscaleImage: docker-registry2.mariadb.com/mariadb/maxscale-prometheus-exporter-ubi:v0.0.1
```
to the following format:
```yaml
config:
mariadbImage:
repository: docker-registry1.mariadb.com/library/mariadb
tag: 11.8.5
maxscaleImage:
repository: docker-registry2.mariadb.com/mariadb/maxscale
tag: 23.08.5
exporterImage:
repository: prom/mysqld-exporter
tag: v0.15.1
exporterMaxscaleImage:
repository: docker-registry2.mariadb.com/mariadb/maxscale-prometheus-exporter-ubi
tag: v0.0.1
```
##### Updated dependencies
| Platform/Component | Version |
| ------------------ | ------- |
| Kubernetes | 1.35 |
| Go | 1.26.1 |
| controller-runtime | 0.23.3 |
#### Updated roadmap
The next feature to be supported is the new multi-cluster topology. Stay tuned!
- [x] ~~[Point In Time Recovery (PITR)](https://github.com/mariadb-operator/mariadb-operator/issues/507 )~~
- [ ] [Multi-cluster topology](https://github.com/mariadb-operator/mariadb-operator/issues/1543 )
***
#### Community
Contributions of any kind are always welcome: adding yourself to the [list of adopters](https://github.com/mariadb-operator/mariadb-operator/blob/main/ADOPTERS.md ), reporting issues, submitting pull requests, or simply starring the project! 🌟
#### Enterprise
For enterprise users, see the **[MariaDB Enterprise Operator](https://mariadb.com/products/enterprise/kubernetes-operator/ )**, a commercially supported Kubernetes operator from MariaDB with additional enterprise-grade features.
#### What's Changed
- feat: Use primary Service by default for HA mariaDB connections by [@​softho0n](https://github.com/softho0n ) in [#​1575](https://github.com/mariadb-operator/mariadb-operator/pull/1575 )
- feat: add loadBalancerClass field to ServiceTemplate by [@​yangminglintw](https://github.com/yangminglintw ) in [#​1589](https://github.com/mariadb-operator/mariadb-operator/pull/1589 )
- fix: use standard compression extensions and add magic bytes validation by [@​yangminglintw](https://github.com/yangminglintw ) in [#​1588](https://github.com/mariadb-operator/mariadb-operator/pull/1588 )
- Make volumes and volumeMounts mutable by [@​hedgieinsocks](https://github.com/hedgieinsocks ) in [#​1601](https://github.com/mariadb-operator/mariadb-operator/pull/1601 )
- chore: Bump to latest go by [@​Michaelpalacce](https://github.com/Michaelpalacce ) in [#​1630](https://github.com/mariadb-operator/mariadb-operator/pull/1630 )
- make imagePullSecrets mutable by [@​dmaes](https://github.com/dmaes ) in [#​1614](https://github.com/mariadb-operator/mariadb-operator/pull/1614 )
- split config images in repository and tag by [@​dmaes](https://github.com/dmaes ) in [#​1632](https://github.com/mariadb-operator/mariadb-operator/pull/1632 )
- Galera recovery: disable bootstrap on other pods before bootstrapping by [@​infocusmodereal](https://github.com/infocusmodereal ) in [#​1631](https://github.com/mariadb-operator/mariadb-operator/pull/1631 )
- Bump github.com/minio/minio-go/v7 from 7.0.97 to 7.0.98 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1585](https://github.com/mariadb-operator/mariadb-operator/pull/1585 )
- Bump ghcr.io/devcontainers/features/docker-in-docker from 2.13.0 to 2.16.0 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1624](https://github.com/mariadb-operator/mariadb-operator/pull/1624 )
- Bump ghcr.io/devcontainers/features/kubectl-helm-minikube from 1.2.2 to 1.3.1 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1623](https://github.com/mariadb-operator/mariadb-operator/pull/1623 )
- Bump goreleaser/goreleaser-action from 6 to 7 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1620](https://github.com/mariadb-operator/mariadb-operator/pull/1620 )
- Bump github.com/onsi/gomega from 1.38.3 to 1.39.0 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1581](https://github.com/mariadb-operator/mariadb-operator/pull/1581 )
- Bump crate-ci/typos from 1.41.0 to 1.44.0 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1625](https://github.com/mariadb-operator/mariadb-operator/pull/1625 )
- Bump github.com/onsi/ginkgo/v2 from 2.27.3 to 2.27.5 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1586](https://github.com/mariadb-operator/mariadb-operator/pull/1586 )
- Bump github.com/cert-manager/cert-manager from 1.18.2 to 1.19.2 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1580](https://github.com/mariadb-operator/mariadb-operator/pull/1580 )
- Bump github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring from 0.87.1 to 0.88.0 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1579](https://github.com/mariadb-operator/mariadb-operator/pull/1579 )
- Disable service links in MariaDB and MaxScale pod specs by [@​usiegj00](https://github.com/usiegj00 ) in [#​1635](https://github.com/mariadb-operator/mariadb-operator/pull/1635 )
- Fix finalizer for ExternalMariDB by [@​snaax](https://github.com/snaax ) in [#​1606](https://github.com/mariadb-operator/mariadb-operator/pull/1606 )
- test: Added int tests for sql resources with external mariadb deletion by [@​Michaelpalacce](https://github.com/Michaelpalacce ) in [#​1649](https://github.com/mariadb-operator/mariadb-operator/pull/1649 )
- Bump github.com/minio/minio-go/v7 from 7.0.98 to 7.0.99 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1648](https://github.com/mariadb-operator/mariadb-operator/pull/1648 )
- Bump golang.org/x/sync from 0.19.0 to 0.20.0 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1645](https://github.com/mariadb-operator/mariadb-operator/pull/1645 )
- Bump docker/build-push-action from 6 to 7 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1644](https://github.com/mariadb-operator/mariadb-operator/pull/1644 )
- Bump docker/setup-qemu-action from 3 to 4 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1642](https://github.com/mariadb-operator/mariadb-operator/pull/1642 )
- Bump github.com/go-chi/chi/v5 from 5.2.3 to 5.2.5 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1641](https://github.com/mariadb-operator/mariadb-operator/pull/1641 )
- Bump docker/login-action from 3 to 4 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1646](https://github.com/mariadb-operator/mariadb-operator/pull/1646 )
- Bump ghcr.io/devcontainers/features/docker-in-docker from 2.16.0 to 2.16.1 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1640](https://github.com/mariadb-operator/mariadb-operator/pull/1640 )
- Bump docker/setup-buildx-action from 3 to 4 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1638](https://github.com/mariadb-operator/mariadb-operator/pull/1638 )
- Bump github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring from 0.88.0 to 0.89.0 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1643](https://github.com/mariadb-operator/mariadb-operator/pull/1643 )
- Bump golang from 1.25.7-alpine3.23 to 1.26.1-alpine3.23 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1639](https://github.com/mariadb-operator/mariadb-operator/pull/1639 )
- feat: Latest controller-runtime. Webhook changes, New Events API by [@​Michaelpalacce](https://github.com/Michaelpalacce ) in [#​1651](https://github.com/mariadb-operator/mariadb-operator/pull/1651 )
- Support for ephemeral volumes in `MariaDB` by [@​mmontes11](https://github.com/mmontes11 ) in [#​1650](https://github.com/mariadb-operator/mariadb-operator/pull/1650 )
- fix: accept compressed backup files in logical restore by [@​voron](https://github.com/voron ) in [#​1655](https://github.com/mariadb-operator/mariadb-operator/pull/1655 )
- Fix typo: syncrhonous -> synchronous by [@​sjmudd](https://github.com/sjmudd ) in [#​1657](https://github.com/mariadb-operator/mariadb-operator/pull/1657 )
- Release 26.03: `PointInTimeRecovery`, Azure Blob Storage & on-demand `PhysicalBackups` by [@​mmontes11](https://github.com/mmontes11 ) in [#​1517](https://github.com/mariadb-operator/mariadb-operator/pull/1517 )
#### New Contributors
- [@​softho0n](https://github.com/softho0n ) made their first contribution in [#​1575](https://github.com/mariadb-operator/mariadb-operator/pull/1575 )
- [@​yangminglintw](https://github.com/yangminglintw ) made their first contribution in [#​1589](https://github.com/mariadb-operator/mariadb-operator/pull/1589 )
- [@​dmaes](https://github.com/dmaes ) made their first contribution in [#​1614](https://github.com/mariadb-operator/mariadb-operator/pull/1614 )
- [@​infocusmodereal](https://github.com/infocusmodereal ) made their first contribution in [#​1631](https://github.com/mariadb-operator/mariadb-operator/pull/1631 )
- [@​usiegj00](https://github.com/usiegj00 ) made their first contribution in [#​1635](https://github.com/mariadb-operator/mariadb-operator/pull/1635 )
- [@​voron](https://github.com/voron ) made their first contribution in [#​1655](https://github.com/mariadb-operator/mariadb-operator/pull/1655 )
- [@​sjmudd](https://github.com/sjmudd ) made their first contribution in [#​1657](https://github.com/mariadb-operator/mariadb-operator/pull/1657 )
**Full Changelog**: <https://github.com/mariadb-operator/mariadb-operator/compare/25.10.4...26.3.0 >
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiY2hhcnQiXX0=-->
Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/4705
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-03-14 23:58:42 +00:00
215f7edc86
chore(deps): update helm release mariadb-operator to v26 ( #4706 )
...
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 12s
renovate / renovate (push) Successful in 3m2s
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [mariadb-operator](https://github.com/mariadb-operator/mariadb-operator ) | major | `25.10.4` → `26.3.0` |
---
### Release Notes
<details>
<summary>mariadb-operator/mariadb-operator (mariadb-operator)</summary>
### [`v26.3.0`](https://github.com/mariadb-operator/mariadb-operator/releases/tag/26.3.0 )
[Compare Source](https://github.com/mariadb-operator/mariadb-operator/compare/mariadb-operator-25.10.4...mariadb-operator-26.3.0 )
**`mariadb-operator` [26.03](https://github.com/mariadb-operator/mariadb-operator/releases/tag/26.3.0 ) is here!** 🦭
Welcome to another release of `mariadb-operator`! In this version, we have significantly enhanced our disaster recovery capabilities by adding support for **on-demand physical backups**, **Azure Blob Storage** and... (🥁 )... **Point-In-Time-Recovery** ✨ .
Additionally, we've received a bunch of contributions by our amazing community during this release, including bug fixes and new features. We feel very grateful for your efforts and support, thank you! 🙇♂️ Refer to the PRs in the changelog below for further details.
If you're upgrading from previous versions, **do not miss the [UPGRADE GUIDE](https://github.com/mariadb-operator/mariadb-operator/blob/main/docs/releases/UPGRADE_26.3.0.md )** for a smooth transition.
#### Point-In-Time-Recovery
Point-in-time recovery (PITR) is a feature that allows you to restore a `MariaDB` instance to a specific point in time. For achieving this, it combines a full base backup and the binary logs that record all changes made to the database after the backup. This is something fully automated by operator, covering archival and restoration up to a specific time, ensuring business continuity and reduced RTO and RPO.
In order to configure PITR, you need to create a `PhysicalBackup` object to be used as full base backup. For example, you can configure a nightly backup:
```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: PhysicalBackup
metadata:
name: physicalbackup-daily
spec:
mariaDbRef:
name: mariadb-repl
schedule:
cron: "0 0 * * *"
suspend: false
immediate: true
compression: bzip2
maxRetention: 720h
storage:
s3:
bucket: physicalbackups
prefix: mariadb
endpoint: minio.minio.svc.cluster.local:9000
region: us-east-1
accessKeyIdSecretKeyRef:
name: minio
key: access-key-id
secretAccessKeySecretKeyRef:
name: minio
key: secret-access-key
tls:
enabled: true
caSecretKeyRef:
name: minio-ca
key: ca.crt
```
Next step is configuring common aspects of both binary log archiving and point-in-time restoration by defining a `PointInTimeRecovery` object:
```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: PointInTimeRecovery
metadata:
name: pitr
spec:
physicalBackupRef:
name: physicalbackup-daily
storage:
s3:
bucket: binlogs
prefix: mariadb
endpoint: minio.minio.svc.cluster.local:9000
region: us-east-1
accessKeyIdSecretKeyRef:
name: minio
key: access-key-id
secretAccessKeySecretKeyRef:
name: minio
key: secret-access-key
tls:
enabled: true
caSecretKeyRef:
name: minio-ca
key: ca.crt
compression: gzip
archiveTimeout: 1h
strictMode: false
```
The new `PointInTimeRecovery` CR is just a configuration object that contains shared settings for both binary log archiving and point-in-time recovery. It has also a reference to a `PhysicalBackup` CR, used as full base backup.
In order to configure binary log archiving, you need to set a reference to the `PointInTimeRecovery` CR in the `MariaDB` object:
```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: MariaDB
metadata:
name: mariadb-repl
spec:
pointInTimeRecoveryRef:
name: pitr
```
This will enable the binary log archival in the sidecar agent, which will eventually report the last recoverable time via the `PointInTimeRecovery` status:
```bash
kubectl get pitr
NAME PHYSICAL BACKUP LAST RECOVERABLE TIME STRICT MODE AGE
pitr physicalbackup-daily 2026-02-27T20:10:42Z false 43h
```
In order to perform a point-in-time restoration, you can create a new `MariaDB` instance with a reference to the `PointInTimeRecovery` object in the `bootstrapFrom` field, along with the `targetRecoveryTime`, which should be before or at the last recoverable time:
```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: MariaDB
metadata:
name: mariadb-repl
spec:
bootstrapFrom:
pointInTimeRecoveryRef:
name: pitr
targetRecoveryTime: 2026-02-27T20:10:42Z
```
The restoration process will match the closest physical backup before or at the `targetRecoveryTime`, and then it will replay the archived binary logs from the backup GTID position up until the `targetRecoveryTime`.
Refer to the [PITR docs](https://github.com/mariadb-operator/mariadb-operator/blob/main/docs/pitr.md ) for additional details.
#### Azure Blob Storage
So far, we have only supported S3-compatible storage as object storage for keeping the backups. We are now introducing native support for Azure Blob Storage in the `PhysicalBackup` and `PointInTimeRecovery` CRs. You can configure it under the `storage` field, similarly to S3:
```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: PointInTimeRecovery
metadata:
name: pitr
spec:
storage:
azureBlob:
containerName: binlogs
serviceURL: https://azurite.default.svc.cluster.local:10000/devstoreaccount1
prefix: mariadb
storageAccountName: devstoreaccount1
storageAccountKey:
name: azurite-key
key: storageAccountKey
tls:
enabled: true
caSecretKeyRef:
name: azurite-certs
key: cert.pem
```
```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: PhysicalBackup
metadata:
name: physicalbackup-daily
spec:
storage:
azureBlob:
containerName: physicalbackup
serviceURL: https://azurite.default.svc.cluster.local:10000/devstoreaccount1
prefix: mariadb
storageAccountName: devstoreaccount1
storageAccountKey:
name: azurite-key
key: storageAccountKey
tls:
enabled: true
caSecretKeyRef:
name: azurite-certs
key: cert.pem
```
Refer to the [physical backup storage](https://github.com/mariadb-operator/mariadb-operator/blob/main/docs/physical_backup.md#azure-blob-storage-credentials ) docs for additional details.
It is important to note that we couldn't find the bandwidth to support it for `Backup` resource (logical backup) in this release, [contributions are welcomed](https://github.com/mariadb-operator/mariadb-operator/issues/1653 )!
Kudos to our co-maintainer [@​Michaelpalacce](https://github.com/Michaelpalacce ) for smoothly driving this feature end-to-end!
#### On-demand `PhysicalBackup`
We have introduced the ability to trigger on-demand physical backup manually. For doing so, you need to provide an identifier in the `schedule.onDemand` field of the `PhysicalBackup` resource:
```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: PhysicalBackup
metadata:
name: physicalbackup
spec:
schedule:
onDemand: "1"
```
Once scheduled, the operator tracks the identifier under the status subresource. If the identifier in the status differs from `schedule.onDemand`, the operator will trigger a new physical backup.
Refer to the [physical backup scheduling](https://github.com/mariadb-operator/mariadb-operator/blob/main/docs/physical_backup.md#scheduling ) docs for additional details.
##### Behaviour change in `targetRecoveryTime`
To satisfy requirements of point-in-time recovery, we have unified the behaviour of the `bootstrapFrom.targetRecoveryTime` field in the `MariaDB` object: Logical and physical backup files whose timestamp is closest to `targetRecoveryTime`, **but not after**, will be matched.
Please take this into account when upgrading to this version.
##### Change in Helm `values.yaml`
`config` has been split into `repository` and `tag` to facilitate overriding the image registry (see [#​1632](https://github.com/mariadb-operator/mariadb-operator/pull/1632 )). Please update your `values.yaml` from:
```yaml
config:
mariadbImageName: docker-registry1.mariadb.com/library/mariadb
maxscaleImage: docker-registry2.mariadb.com/mariadb/maxscale:23.08.5
exporterImage: prom/mysqld-exporter:v0.15.1
exporterMaxscaleImage: docker-registry2.mariadb.com/mariadb/maxscale-prometheus-exporter-ubi:v0.0.1
```
to the following format:
```yaml
config:
mariadbImage:
repository: docker-registry1.mariadb.com/library/mariadb
tag: 11.8.5
maxscaleImage:
repository: docker-registry2.mariadb.com/mariadb/maxscale
tag: 23.08.5
exporterImage:
repository: prom/mysqld-exporter
tag: v0.15.1
exporterMaxscaleImage:
repository: docker-registry2.mariadb.com/mariadb/maxscale-prometheus-exporter-ubi
tag: v0.0.1
```
##### Updated dependencies
| Platform/Component | Version |
| ------------------ | ------- |
| Kubernetes | 1.35 |
| Go | 1.26.1 |
| controller-runtime | 0.23.3 |
#### Updated roadmap
The next feature to be supported is the new multi-cluster topology. Stay tuned!
- [x] ~~[Point In Time Recovery (PITR)](https://github.com/mariadb-operator/mariadb-operator/issues/507 )~~
- [ ] [Multi-cluster topology](https://github.com/mariadb-operator/mariadb-operator/issues/1543 )
***
#### Community
Contributions of any kind are always welcome: adding yourself to the [list of adopters](https://github.com/mariadb-operator/mariadb-operator/blob/main/ADOPTERS.md ), reporting issues, submitting pull requests, or simply starring the project! 🌟
#### Enterprise
For enterprise users, see the **[MariaDB Enterprise Operator](https://mariadb.com/products/enterprise/kubernetes-operator/ )**, a commercially supported Kubernetes operator from MariaDB with additional enterprise-grade features.
#### What's Changed
- feat: Use primary Service by default for HA mariaDB connections by [@​softho0n](https://github.com/softho0n ) in [#​1575](https://github.com/mariadb-operator/mariadb-operator/pull/1575 )
- feat: add loadBalancerClass field to ServiceTemplate by [@​yangminglintw](https://github.com/yangminglintw ) in [#​1589](https://github.com/mariadb-operator/mariadb-operator/pull/1589 )
- fix: use standard compression extensions and add magic bytes validation by [@​yangminglintw](https://github.com/yangminglintw ) in [#​1588](https://github.com/mariadb-operator/mariadb-operator/pull/1588 )
- Make volumes and volumeMounts mutable by [@​hedgieinsocks](https://github.com/hedgieinsocks ) in [#​1601](https://github.com/mariadb-operator/mariadb-operator/pull/1601 )
- chore: Bump to latest go by [@​Michaelpalacce](https://github.com/Michaelpalacce ) in [#​1630](https://github.com/mariadb-operator/mariadb-operator/pull/1630 )
- make imagePullSecrets mutable by [@​dmaes](https://github.com/dmaes ) in [#​1614](https://github.com/mariadb-operator/mariadb-operator/pull/1614 )
- split config images in repository and tag by [@​dmaes](https://github.com/dmaes ) in [#​1632](https://github.com/mariadb-operator/mariadb-operator/pull/1632 )
- Galera recovery: disable bootstrap on other pods before bootstrapping by [@​infocusmodereal](https://github.com/infocusmodereal ) in [#​1631](https://github.com/mariadb-operator/mariadb-operator/pull/1631 )
- Bump github.com/minio/minio-go/v7 from 7.0.97 to 7.0.98 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1585](https://github.com/mariadb-operator/mariadb-operator/pull/1585 )
- Bump ghcr.io/devcontainers/features/docker-in-docker from 2.13.0 to 2.16.0 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1624](https://github.com/mariadb-operator/mariadb-operator/pull/1624 )
- Bump ghcr.io/devcontainers/features/kubectl-helm-minikube from 1.2.2 to 1.3.1 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1623](https://github.com/mariadb-operator/mariadb-operator/pull/1623 )
- Bump goreleaser/goreleaser-action from 6 to 7 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1620](https://github.com/mariadb-operator/mariadb-operator/pull/1620 )
- Bump github.com/onsi/gomega from 1.38.3 to 1.39.0 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1581](https://github.com/mariadb-operator/mariadb-operator/pull/1581 )
- Bump crate-ci/typos from 1.41.0 to 1.44.0 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1625](https://github.com/mariadb-operator/mariadb-operator/pull/1625 )
- Bump github.com/onsi/ginkgo/v2 from 2.27.3 to 2.27.5 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1586](https://github.com/mariadb-operator/mariadb-operator/pull/1586 )
- Bump github.com/cert-manager/cert-manager from 1.18.2 to 1.19.2 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1580](https://github.com/mariadb-operator/mariadb-operator/pull/1580 )
- Bump github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring from 0.87.1 to 0.88.0 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1579](https://github.com/mariadb-operator/mariadb-operator/pull/1579 )
- Disable service links in MariaDB and MaxScale pod specs by [@​usiegj00](https://github.com/usiegj00 ) in [#​1635](https://github.com/mariadb-operator/mariadb-operator/pull/1635 )
- Fix finalizer for ExternalMariDB by [@​snaax](https://github.com/snaax ) in [#​1606](https://github.com/mariadb-operator/mariadb-operator/pull/1606 )
- test: Added int tests for sql resources with external mariadb deletion by [@​Michaelpalacce](https://github.com/Michaelpalacce ) in [#​1649](https://github.com/mariadb-operator/mariadb-operator/pull/1649 )
- Bump github.com/minio/minio-go/v7 from 7.0.98 to 7.0.99 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1648](https://github.com/mariadb-operator/mariadb-operator/pull/1648 )
- Bump golang.org/x/sync from 0.19.0 to 0.20.0 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1645](https://github.com/mariadb-operator/mariadb-operator/pull/1645 )
- Bump docker/build-push-action from 6 to 7 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1644](https://github.com/mariadb-operator/mariadb-operator/pull/1644 )
- Bump docker/setup-qemu-action from 3 to 4 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1642](https://github.com/mariadb-operator/mariadb-operator/pull/1642 )
- Bump github.com/go-chi/chi/v5 from 5.2.3 to 5.2.5 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1641](https://github.com/mariadb-operator/mariadb-operator/pull/1641 )
- Bump docker/login-action from 3 to 4 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1646](https://github.com/mariadb-operator/mariadb-operator/pull/1646 )
- Bump ghcr.io/devcontainers/features/docker-in-docker from 2.16.0 to 2.16.1 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1640](https://github.com/mariadb-operator/mariadb-operator/pull/1640 )
- Bump docker/setup-buildx-action from 3 to 4 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1638](https://github.com/mariadb-operator/mariadb-operator/pull/1638 )
- Bump github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring from 0.88.0 to 0.89.0 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1643](https://github.com/mariadb-operator/mariadb-operator/pull/1643 )
- Bump golang from 1.25.7-alpine3.23 to 1.26.1-alpine3.23 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1639](https://github.com/mariadb-operator/mariadb-operator/pull/1639 )
- feat: Latest controller-runtime. Webhook changes, New Events API by [@​Michaelpalacce](https://github.com/Michaelpalacce ) in [#​1651](https://github.com/mariadb-operator/mariadb-operator/pull/1651 )
- Support for ephemeral volumes in `MariaDB` by [@​mmontes11](https://github.com/mmontes11 ) in [#​1650](https://github.com/mariadb-operator/mariadb-operator/pull/1650 )
- fix: accept compressed backup files in logical restore by [@​voron](https://github.com/voron ) in [#​1655](https://github.com/mariadb-operator/mariadb-operator/pull/1655 )
- Fix typo: syncrhonous -> synchronous by [@​sjmudd](https://github.com/sjmudd ) in [#​1657](https://github.com/mariadb-operator/mariadb-operator/pull/1657 )
- Release 26.03: `PointInTimeRecovery`, Azure Blob Storage & on-demand `PhysicalBackups` by [@​mmontes11](https://github.com/mmontes11 ) in [#​1517](https://github.com/mariadb-operator/mariadb-operator/pull/1517 )
#### New Contributors
- [@​softho0n](https://github.com/softho0n ) made their first contribution in [#​1575](https://github.com/mariadb-operator/mariadb-operator/pull/1575 )
- [@​yangminglintw](https://github.com/yangminglintw ) made their first contribution in [#​1589](https://github.com/mariadb-operator/mariadb-operator/pull/1589 )
- [@​dmaes](https://github.com/dmaes ) made their first contribution in [#​1614](https://github.com/mariadb-operator/mariadb-operator/pull/1614 )
- [@​infocusmodereal](https://github.com/infocusmodereal ) made their first contribution in [#​1631](https://github.com/mariadb-operator/mariadb-operator/pull/1631 )
- [@​usiegj00](https://github.com/usiegj00 ) made their first contribution in [#​1635](https://github.com/mariadb-operator/mariadb-operator/pull/1635 )
- [@​voron](https://github.com/voron ) made their first contribution in [#​1655](https://github.com/mariadb-operator/mariadb-operator/pull/1655 )
- [@​sjmudd](https://github.com/sjmudd ) made their first contribution in [#​1657](https://github.com/mariadb-operator/mariadb-operator/pull/1657 )
**Full Changelog**: <https://github.com/mariadb-operator/mariadb-operator/compare/25.10.4...26.3.0 >
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiY2hhcnQiXX0=-->
Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/4706
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-03-14 23:54:24 +00:00
510f059037
chore(deps): update ghcr.io/haveagitgat/tdarr_node docker tag to v2.63.01 ( #4737 )
...
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 11s
renovate / renovate (push) Has been cancelled
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [ghcr.io/haveagitgat/tdarr_node](https://github.com/HaveAGitGat/tdarr_express_be ) | minor | `2.62.01` → `2.63.01` |
---
### 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:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->
Reviewed-on: #4737
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-03-14 23:51:38 +00:00
9fce102ad0
chore(deps): update ghcr.io/haveagitgat/tdarr docker tag to v2.63.01 ( #4736 )
...
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 19s
renovate / renovate (push) Successful in 3m29s
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [ghcr.io/haveagitgat/tdarr](https://github.com/HaveAGitGat/tdarr_express_be ) | minor | `2.62.01` → `2.63.01` |
---
### 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:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->
Reviewed-on: #4736
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-03-14 23:19:45 +00:00
56f7191743
chore(deps): update harbor.alexlebens.net/images/site-profile docker tag to v3.12.1 ( #4738 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 48s
renovate / renovate (push) Successful in 5m47s
2026-03-14 23:02:43 +00:00
d4b33afb65
chore(deps): update ghcr.io/linuxserver/code-server:4.111.0 docker digest to 12c04b4 ( #4734 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 18s
renovate / renovate (push) Successful in 2m20s
2026-03-14 20:52:12 +00:00
d92659d146
chore(deps): update ghcr.io/gethomepage/homepage docker tag to v1.11.0 ( #4728 )
...
lint-test-docker / lint-docker-compose (push) Successful in 52s
renovate / renovate (push) Has been cancelled
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [ghcr.io/gethomepage/homepage](https://github.com/gethomepage/homepage ) | minor | `v1.10.1` → `v1.11.0` |
---
### Release Notes
<details>
<summary>gethomepage/homepage (ghcr.io/gethomepage/homepage)</summary>
### [`v1.11.0`](https://github.com/gethomepage/homepage/releases/tag/v1.11.0 )
[Compare Source](https://github.com/gethomepage/homepage/compare/v1.10.1...v1.11.0 )
##### What's Changed
- Chore(deps): Bump actions/checkout from 4 to 6 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​6284](https://github.com/gethomepage/homepage/pull/6284 )
- Chore(deps): Bump actions/setup-node from 4 to 6 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​6285](https://github.com/gethomepage/homepage/pull/6285 )
- Feature: add Tracearr widget for displaying active Plex streams by [@​Bothari](https://github.com/Bothari ) in [#​6306](https://github.com/gethomepage/homepage/pull/6306 )
- Improvement: better handle highlighting with units by [@​shamoon](https://github.com/shamoon ) in [#​6318](https://github.com/gethomepage/homepage/pull/6318 )
- Chore: rename Jellyseerr widget to Seerr and update references by [@​shamoon](https://github.com/shamoon ) in [#​6322](https://github.com/gethomepage/homepage/pull/6322 )
- Enhancement: jellyseer completed by [@​shamoon](https://github.com/shamoon ) in [#​6329](https://github.com/gethomepage/homepage/pull/6329 )
- Chore: merge Overseerr into Seerr, add aliases by [@​shamoon](https://github.com/shamoon ) in [#​6330](https://github.com/gethomepage/homepage/pull/6330 )
- Enhancement: add "Temperature" label to list of possible CPU sensors by [@​shamoon](https://github.com/shamoon ) in [#​6331](https://github.com/gethomepage/homepage/pull/6331 )
- Enhancement: cover more basic statuses in containers list by [@​shamoon](https://github.com/shamoon ) in [#​6334](https://github.com/gethomepage/homepage/pull/6334 )
- Feature: sparkyfitness service widget by [@​shamoon](https://github.com/shamoon ) in [#​6346](https://github.com/gethomepage/homepage/pull/6346 )
- Enhancement: fallback for missing si network stats by [@​shamoon](https://github.com/shamoon ) in [#​6367](https://github.com/gethomepage/homepage/pull/6367 )
- Fix: Await async proxy handlers by [@​shamoon](https://github.com/shamoon ) in [#​6371](https://github.com/gethomepage/homepage/pull/6371 )
- Fix: small fixes for Omada proxy by [@​shamoon](https://github.com/shamoon ) in [#​6372](https://github.com/gethomepage/homepage/pull/6372 )
- Chore: add security context, liveness probe and config mount to k8s deployment example by [@​hugosxm](https://github.com/hugosxm ) in [#​6375](https://github.com/gethomepage/homepage/pull/6375 )
- Enhancement: use lighter endpoints for qbittorrent by [@​shamoon](https://github.com/shamoon ) in [#​6388](https://github.com/gethomepage/homepage/pull/6388 )
- Chore(deps-dev): Bump prettier from 3.7.3 to 3.8.1 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​6379](https://github.com/gethomepage/homepage/pull/6379 )
- Chore(deps-dev): Bump jsdom from 26.1.0 to 28.1.0 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​6378](https://github.com/gethomepage/homepage/pull/6378 )
- Chore(deps): Bump ical.js from 2.1.0 to 2.2.1 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​6377](https://github.com/gethomepage/homepage/pull/6377 )
- Chore(deps): Bump docker/login-action from 3 to 4 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​6385](https://github.com/gethomepage/homepage/pull/6385 )
- Chore(deps): Bump next-i18next from 12.1.0 to 15.4.3 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​6376](https://github.com/gethomepage/homepage/pull/6376 )
- Chore(deps): Bump react and react-dom by [@​dependabot](https://github.com/dependabot )\[bot] in [#​6380](https://github.com/gethomepage/homepage/pull/6380 )
- Chore(deps): Bump docker/setup-qemu-action from 3.7.0 to 4.0.0 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​6386](https://github.com/gethomepage/homepage/pull/6386 )
- Chore(deps): Bump docker/metadata-action from 5 to 6 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​6399](https://github.com/gethomepage/homepage/pull/6399 )
- Chore(deps): Bump docker/setup-buildx-action from 3 to 4 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​6398](https://github.com/gethomepage/homepage/pull/6398 )
- Chore(deps): Bump docker/build-push-action from 6 to 7 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​6397](https://github.com/gethomepage/homepage/pull/6397 )
- Change: use byterate for beszel network field by [@​shamoon](https://github.com/shamoon ) in [#​6402](https://github.com/gethomepage/homepage/pull/6402 )
- Enhancement: better Crowdsec auth parsing, caching, and retries by [@​shamoon](https://github.com/shamoon ) in [#​6419](https://github.com/gethomepage/homepage/pull/6419 )
##### New Contributors
- [@​Bothari](https://github.com/Bothari ) made their first contribution in [#​6306](https://github.com/gethomepage/homepage/pull/6306 )
- [@​hugosxm](https://github.com/hugosxm ) made their first contribution in [#​6375](https://github.com/gethomepage/homepage/pull/6375 )
**Full Changelog**: <https://github.com/gethomepage/homepage/compare/v1.10.1...v1.11.0 >
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->
Reviewed-on: #4728
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-03-14 20:49:28 +00:00
cb3c1689a3
chore(deps): update gethomepage/homepage to v1.11.0 ( #4727 )
...
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 12s
renovate / renovate (push) Successful in 3m19s
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [gethomepage/homepage](https://github.com/gethomepage/homepage ) | minor | `v1.10.1` → `v1.11.0` |
| [ghcr.io/gethomepage/homepage](https://github.com/gethomepage/homepage ) | minor | `v1.10.1` → `v1.11.0` |
---
### Release Notes
<details>
<summary>gethomepage/homepage (gethomepage/homepage)</summary>
### [`v1.11.0`](https://github.com/gethomepage/homepage/releases/tag/v1.11.0 )
[Compare Source](https://github.com/gethomepage/homepage/compare/v1.10.1...v1.11.0 )
##### What's Changed
- Chore(deps): Bump actions/checkout from 4 to 6 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​6284](https://github.com/gethomepage/homepage/pull/6284 )
- Chore(deps): Bump actions/setup-node from 4 to 6 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​6285](https://github.com/gethomepage/homepage/pull/6285 )
- Feature: add Tracearr widget for displaying active Plex streams by [@​Bothari](https://github.com/Bothari ) in [#​6306](https://github.com/gethomepage/homepage/pull/6306 )
- Improvement: better handle highlighting with units by [@​shamoon](https://github.com/shamoon ) in [#​6318](https://github.com/gethomepage/homepage/pull/6318 )
- Chore: rename Jellyseerr widget to Seerr and update references by [@​shamoon](https://github.com/shamoon ) in [#​6322](https://github.com/gethomepage/homepage/pull/6322 )
- Enhancement: jellyseer completed by [@​shamoon](https://github.com/shamoon ) in [#​6329](https://github.com/gethomepage/homepage/pull/6329 )
- Chore: merge Overseerr into Seerr, add aliases by [@​shamoon](https://github.com/shamoon ) in [#​6330](https://github.com/gethomepage/homepage/pull/6330 )
- Enhancement: add "Temperature" label to list of possible CPU sensors by [@​shamoon](https://github.com/shamoon ) in [#​6331](https://github.com/gethomepage/homepage/pull/6331 )
- Enhancement: cover more basic statuses in containers list by [@​shamoon](https://github.com/shamoon ) in [#​6334](https://github.com/gethomepage/homepage/pull/6334 )
- Feature: sparkyfitness service widget by [@​shamoon](https://github.com/shamoon ) in [#​6346](https://github.com/gethomepage/homepage/pull/6346 )
- Enhancement: fallback for missing si network stats by [@​shamoon](https://github.com/shamoon ) in [#​6367](https://github.com/gethomepage/homepage/pull/6367 )
- Fix: Await async proxy handlers by [@​shamoon](https://github.com/shamoon ) in [#​6371](https://github.com/gethomepage/homepage/pull/6371 )
- Fix: small fixes for Omada proxy by [@​shamoon](https://github.com/shamoon ) in [#​6372](https://github.com/gethomepage/homepage/pull/6372 )
- Chore: add security context, liveness probe and config mount to k8s deployment example by [@​hugosxm](https://github.com/hugosxm ) in [#​6375](https://github.com/gethomepage/homepage/pull/6375 )
- Enhancement: use lighter endpoints for qbittorrent by [@​shamoon](https://github.com/shamoon ) in [#​6388](https://github.com/gethomepage/homepage/pull/6388 )
- Chore(deps-dev): Bump prettier from 3.7.3 to 3.8.1 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​6379](https://github.com/gethomepage/homepage/pull/6379 )
- Chore(deps-dev): Bump jsdom from 26.1.0 to 28.1.0 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​6378](https://github.com/gethomepage/homepage/pull/6378 )
- Chore(deps): Bump ical.js from 2.1.0 to 2.2.1 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​6377](https://github.com/gethomepage/homepage/pull/6377 )
- Chore(deps): Bump docker/login-action from 3 to 4 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​6385](https://github.com/gethomepage/homepage/pull/6385 )
- Chore(deps): Bump next-i18next from 12.1.0 to 15.4.3 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​6376](https://github.com/gethomepage/homepage/pull/6376 )
- Chore(deps): Bump react and react-dom by [@​dependabot](https://github.com/dependabot )\[bot] in [#​6380](https://github.com/gethomepage/homepage/pull/6380 )
- Chore(deps): Bump docker/setup-qemu-action from 3.7.0 to 4.0.0 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​6386](https://github.com/gethomepage/homepage/pull/6386 )
- Chore(deps): Bump docker/metadata-action from 5 to 6 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​6399](https://github.com/gethomepage/homepage/pull/6399 )
- Chore(deps): Bump docker/setup-buildx-action from 3 to 4 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​6398](https://github.com/gethomepage/homepage/pull/6398 )
- Chore(deps): Bump docker/build-push-action from 6 to 7 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​6397](https://github.com/gethomepage/homepage/pull/6397 )
- Change: use byterate for beszel network field by [@​shamoon](https://github.com/shamoon ) in [#​6402](https://github.com/gethomepage/homepage/pull/6402 )
- Enhancement: better Crowdsec auth parsing, caching, and retries by [@​shamoon](https://github.com/shamoon ) in [#​6419](https://github.com/gethomepage/homepage/pull/6419 )
##### New Contributors
- [@​Bothari](https://github.com/Bothari ) made their first contribution in [#​6306](https://github.com/gethomepage/homepage/pull/6306 )
- [@​hugosxm](https://github.com/hugosxm ) made their first contribution in [#​6375](https://github.com/gethomepage/homepage/pull/6375 )
**Full Changelog**: <https://github.com/gethomepage/homepage/compare/v1.10.1...v1.11.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:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->
Reviewed-on: #4727
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-03-14 20:11:51 +00:00
fee98e7ed8
chore(deps): update ollama/ollama to v0.18.0 ( #4720 )
...
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 10s
renovate / renovate (push) Successful in 3m48s
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [ollama/ollama](https://github.com/ollama/ollama ) | minor | `0.17.7` → `0.18.0` |
| ollama/ollama | minor | `0.17.7` → `0.18.0` |
---
### Release Notes
<details>
<summary>ollama/ollama (ollama/ollama)</summary>
### [`v0.18.0`](https://github.com/ollama/ollama/releases/tag/v0.18.0 )
[Compare Source](https://github.com/ollama/ollama/compare/v0.17.7...v0.18.0 )
#### What's Changed
- Improved ordering models when running `ollama`
- Ollama's cloud models no longer require downloading via `ollama pull`. Setting `:cloud` as a tag will now automatically connect to cloud models.
- `ollama launch claude` now supports setting the compaction window for Claude Code
#### New Contributors
- [@​flipbit03](https://github.com/flipbit03 ) made their first contribution in [#​14821](https://github.com/ollama/ollama/pull/14821 )
**Full Changelog**: <https://github.com/ollama/ollama/compare/v0.17.8-rc4...v0.18.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:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->
Reviewed-on: #4720
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-03-14 20:04:00 +00:00
460b5c55d8
chore(deps): update helm release mariadb-operator-crds to v26 ( #4707 )
...
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 14s
renovate / renovate (push) Successful in 5m9s
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [mariadb-operator-crds](https://github.com/mariadb-operator/mariadb-operator ) | major | `25.10.4` → `26.3.0` |
---
### Release Notes
<details>
<summary>mariadb-operator/mariadb-operator (mariadb-operator-crds)</summary>
### [`v26.3.0`](https://github.com/mariadb-operator/mariadb-operator/releases/tag/26.3.0 )
[Compare Source](https://github.com/mariadb-operator/mariadb-operator/compare/mariadb-operator-crds-25.10.4...mariadb-operator-crds-26.3.0 )
**`mariadb-operator` [26.03](https://github.com/mariadb-operator/mariadb-operator/releases/tag/26.3.0 ) is here!** 🦭
Welcome to another release of `mariadb-operator`! In this version, we have significantly enhanced our disaster recovery capabilities by adding support for **on-demand physical backups**, **Azure Blob Storage** and... (🥁 )... **Point-In-Time-Recovery** ✨ .
Additionally, we've received a bunch of contributions by our amazing community during this release, including bug fixes and new features. We feel very grateful for your efforts and support, thank you! 🙇♂️ Refer to the PRs in the changelog below for further details.
If you're upgrading from previous versions, **do not miss the [UPGRADE GUIDE](https://github.com/mariadb-operator/mariadb-operator/blob/main/docs/releases/UPGRADE_26.3.0.md )** for a smooth transition.
#### Point-In-Time-Recovery
Point-in-time recovery (PITR) is a feature that allows you to restore a `MariaDB` instance to a specific point in time. For achieving this, it combines a full base backup and the binary logs that record all changes made to the database after the backup. This is something fully automated by operator, covering archival and restoration up to a specific time, ensuring business continuity and reduced RTO and RPO.
In order to configure PITR, you need to create a `PhysicalBackup` object to be used as full base backup. For example, you can configure a nightly backup:
```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: PhysicalBackup
metadata:
name: physicalbackup-daily
spec:
mariaDbRef:
name: mariadb-repl
schedule:
cron: "0 0 * * *"
suspend: false
immediate: true
compression: bzip2
maxRetention: 720h
storage:
s3:
bucket: physicalbackups
prefix: mariadb
endpoint: minio.minio.svc.cluster.local:9000
region: us-east-1
accessKeyIdSecretKeyRef:
name: minio
key: access-key-id
secretAccessKeySecretKeyRef:
name: minio
key: secret-access-key
tls:
enabled: true
caSecretKeyRef:
name: minio-ca
key: ca.crt
```
Next step is configuring common aspects of both binary log archiving and point-in-time restoration by defining a `PointInTimeRecovery` object:
```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: PointInTimeRecovery
metadata:
name: pitr
spec:
physicalBackupRef:
name: physicalbackup-daily
storage:
s3:
bucket: binlogs
prefix: mariadb
endpoint: minio.minio.svc.cluster.local:9000
region: us-east-1
accessKeyIdSecretKeyRef:
name: minio
key: access-key-id
secretAccessKeySecretKeyRef:
name: minio
key: secret-access-key
tls:
enabled: true
caSecretKeyRef:
name: minio-ca
key: ca.crt
compression: gzip
archiveTimeout: 1h
strictMode: false
```
The new `PointInTimeRecovery` CR is just a configuration object that contains shared settings for both binary log archiving and point-in-time recovery. It has also a reference to a `PhysicalBackup` CR, used as full base backup.
In order to configure binary log archiving, you need to set a reference to the `PointInTimeRecovery` CR in the `MariaDB` object:
```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: MariaDB
metadata:
name: mariadb-repl
spec:
pointInTimeRecoveryRef:
name: pitr
```
This will enable the binary log archival in the sidecar agent, which will eventually report the last recoverable time via the `PointInTimeRecovery` status:
```bash
kubectl get pitr
NAME PHYSICAL BACKUP LAST RECOVERABLE TIME STRICT MODE AGE
pitr physicalbackup-daily 2026-02-27T20:10:42Z false 43h
```
In order to perform a point-in-time restoration, you can create a new `MariaDB` instance with a reference to the `PointInTimeRecovery` object in the `bootstrapFrom` field, along with the `targetRecoveryTime`, which should be before or at the last recoverable time:
```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: MariaDB
metadata:
name: mariadb-repl
spec:
bootstrapFrom:
pointInTimeRecoveryRef:
name: pitr
targetRecoveryTime: 2026-02-27T20:10:42Z
```
The restoration process will match the closest physical backup before or at the `targetRecoveryTime`, and then it will replay the archived binary logs from the backup GTID position up until the `targetRecoveryTime`.
Refer to the [PITR docs](https://github.com/mariadb-operator/mariadb-operator/blob/main/docs/pitr.md ) for additional details.
#### Azure Blob Storage
So far, we have only supported S3-compatible storage as object storage for keeping the backups. We are now introducing native support for Azure Blob Storage in the `PhysicalBackup` and `PointInTimeRecovery` CRs. You can configure it under the `storage` field, similarly to S3:
```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: PointInTimeRecovery
metadata:
name: pitr
spec:
storage:
azureBlob:
containerName: binlogs
serviceURL: https://azurite.default.svc.cluster.local:10000/devstoreaccount1
prefix: mariadb
storageAccountName: devstoreaccount1
storageAccountKey:
name: azurite-key
key: storageAccountKey
tls:
enabled: true
caSecretKeyRef:
name: azurite-certs
key: cert.pem
```
```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: PhysicalBackup
metadata:
name: physicalbackup-daily
spec:
storage:
azureBlob:
containerName: physicalbackup
serviceURL: https://azurite.default.svc.cluster.local:10000/devstoreaccount1
prefix: mariadb
storageAccountName: devstoreaccount1
storageAccountKey:
name: azurite-key
key: storageAccountKey
tls:
enabled: true
caSecretKeyRef:
name: azurite-certs
key: cert.pem
```
Refer to the [physical backup storage](https://github.com/mariadb-operator/mariadb-operator/blob/main/docs/physical_backup.md#azure-blob-storage-credentials ) docs for additional details.
It is important to note that we couldn't find the bandwidth to support it for `Backup` resource (logical backup) in this release, [contributions are welcomed](https://github.com/mariadb-operator/mariadb-operator/issues/1653 )!
Kudos to our co-maintainer [@​Michaelpalacce](https://github.com/Michaelpalacce ) for smoothly driving this feature end-to-end!
#### On-demand `PhysicalBackup`
We have introduced the ability to trigger on-demand physical backup manually. For doing so, you need to provide an identifier in the `schedule.onDemand` field of the `PhysicalBackup` resource:
```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: PhysicalBackup
metadata:
name: physicalbackup
spec:
schedule:
onDemand: "1"
```
Once scheduled, the operator tracks the identifier under the status subresource. If the identifier in the status differs from `schedule.onDemand`, the operator will trigger a new physical backup.
Refer to the [physical backup scheduling](https://github.com/mariadb-operator/mariadb-operator/blob/main/docs/physical_backup.md#scheduling ) docs for additional details.
##### Behaviour change in `targetRecoveryTime`
To satisfy requirements of point-in-time recovery, we have unified the behaviour of the `bootstrapFrom.targetRecoveryTime` field in the `MariaDB` object: Logical and physical backup files whose timestamp is closest to `targetRecoveryTime`, **but not after**, will be matched.
Please take this into account when upgrading to this version.
##### Change in Helm `values.yaml`
`config` has been split into `repository` and `tag` to facilitate overriding the image registry (see [#​1632](https://github.com/mariadb-operator/mariadb-operator/pull/1632 )). Please update your `values.yaml` from:
```yaml
config:
mariadbImageName: docker-registry1.mariadb.com/library/mariadb
maxscaleImage: docker-registry2.mariadb.com/mariadb/maxscale:23.08.5
exporterImage: prom/mysqld-exporter:v0.15.1
exporterMaxscaleImage: docker-registry2.mariadb.com/mariadb/maxscale-prometheus-exporter-ubi:v0.0.1
```
to the following format:
```yaml
config:
mariadbImage:
repository: docker-registry1.mariadb.com/library/mariadb
tag: 11.8.5
maxscaleImage:
repository: docker-registry2.mariadb.com/mariadb/maxscale
tag: 23.08.5
exporterImage:
repository: prom/mysqld-exporter
tag: v0.15.1
exporterMaxscaleImage:
repository: docker-registry2.mariadb.com/mariadb/maxscale-prometheus-exporter-ubi
tag: v0.0.1
```
##### Updated dependencies
| Platform/Component | Version |
| ------------------ | ------- |
| Kubernetes | 1.35 |
| Go | 1.26.1 |
| controller-runtime | 0.23.3 |
#### Updated roadmap
The next feature to be supported is the new multi-cluster topology. Stay tuned!
- [x] ~~[Point In Time Recovery (PITR)](https://github.com/mariadb-operator/mariadb-operator/issues/507 )~~
- [ ] [Multi-cluster topology](https://github.com/mariadb-operator/mariadb-operator/issues/1543 )
***
#### Community
Contributions of any kind are always welcome: adding yourself to the [list of adopters](https://github.com/mariadb-operator/mariadb-operator/blob/main/ADOPTERS.md ), reporting issues, submitting pull requests, or simply starring the project! 🌟
#### Enterprise
For enterprise users, see the **[MariaDB Enterprise Operator](https://mariadb.com/products/enterprise/kubernetes-operator/ )**, a commercially supported Kubernetes operator from MariaDB with additional enterprise-grade features.
#### What's Changed
- feat: Use primary Service by default for HA mariaDB connections by [@​softho0n](https://github.com/softho0n ) in [#​1575](https://github.com/mariadb-operator/mariadb-operator/pull/1575 )
- feat: add loadBalancerClass field to ServiceTemplate by [@​yangminglintw](https://github.com/yangminglintw ) in [#​1589](https://github.com/mariadb-operator/mariadb-operator/pull/1589 )
- fix: use standard compression extensions and add magic bytes validation by [@​yangminglintw](https://github.com/yangminglintw ) in [#​1588](https://github.com/mariadb-operator/mariadb-operator/pull/1588 )
- Make volumes and volumeMounts mutable by [@​hedgieinsocks](https://github.com/hedgieinsocks ) in [#​1601](https://github.com/mariadb-operator/mariadb-operator/pull/1601 )
- chore: Bump to latest go by [@​Michaelpalacce](https://github.com/Michaelpalacce ) in [#​1630](https://github.com/mariadb-operator/mariadb-operator/pull/1630 )
- make imagePullSecrets mutable by [@​dmaes](https://github.com/dmaes ) in [#​1614](https://github.com/mariadb-operator/mariadb-operator/pull/1614 )
- split config images in repository and tag by [@​dmaes](https://github.com/dmaes ) in [#​1632](https://github.com/mariadb-operator/mariadb-operator/pull/1632 )
- Galera recovery: disable bootstrap on other pods before bootstrapping by [@​infocusmodereal](https://github.com/infocusmodereal ) in [#​1631](https://github.com/mariadb-operator/mariadb-operator/pull/1631 )
- Bump github.com/minio/minio-go/v7 from 7.0.97 to 7.0.98 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1585](https://github.com/mariadb-operator/mariadb-operator/pull/1585 )
- Bump ghcr.io/devcontainers/features/docker-in-docker from 2.13.0 to 2.16.0 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1624](https://github.com/mariadb-operator/mariadb-operator/pull/1624 )
- Bump ghcr.io/devcontainers/features/kubectl-helm-minikube from 1.2.2 to 1.3.1 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1623](https://github.com/mariadb-operator/mariadb-operator/pull/1623 )
- Bump goreleaser/goreleaser-action from 6 to 7 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1620](https://github.com/mariadb-operator/mariadb-operator/pull/1620 )
- Bump github.com/onsi/gomega from 1.38.3 to 1.39.0 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1581](https://github.com/mariadb-operator/mariadb-operator/pull/1581 )
- Bump crate-ci/typos from 1.41.0 to 1.44.0 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1625](https://github.com/mariadb-operator/mariadb-operator/pull/1625 )
- Bump github.com/onsi/ginkgo/v2 from 2.27.3 to 2.27.5 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1586](https://github.com/mariadb-operator/mariadb-operator/pull/1586 )
- Bump github.com/cert-manager/cert-manager from 1.18.2 to 1.19.2 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1580](https://github.com/mariadb-operator/mariadb-operator/pull/1580 )
- Bump github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring from 0.87.1 to 0.88.0 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1579](https://github.com/mariadb-operator/mariadb-operator/pull/1579 )
- Disable service links in MariaDB and MaxScale pod specs by [@​usiegj00](https://github.com/usiegj00 ) in [#​1635](https://github.com/mariadb-operator/mariadb-operator/pull/1635 )
- Fix finalizer for ExternalMariDB by [@​snaax](https://github.com/snaax ) in [#​1606](https://github.com/mariadb-operator/mariadb-operator/pull/1606 )
- test: Added int tests for sql resources with external mariadb deletion by [@​Michaelpalacce](https://github.com/Michaelpalacce ) in [#​1649](https://github.com/mariadb-operator/mariadb-operator/pull/1649 )
- Bump github.com/minio/minio-go/v7 from 7.0.98 to 7.0.99 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1648](https://github.com/mariadb-operator/mariadb-operator/pull/1648 )
- Bump golang.org/x/sync from 0.19.0 to 0.20.0 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1645](https://github.com/mariadb-operator/mariadb-operator/pull/1645 )
- Bump docker/build-push-action from 6 to 7 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1644](https://github.com/mariadb-operator/mariadb-operator/pull/1644 )
- Bump docker/setup-qemu-action from 3 to 4 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1642](https://github.com/mariadb-operator/mariadb-operator/pull/1642 )
- Bump github.com/go-chi/chi/v5 from 5.2.3 to 5.2.5 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1641](https://github.com/mariadb-operator/mariadb-operator/pull/1641 )
- Bump docker/login-action from 3 to 4 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1646](https://github.com/mariadb-operator/mariadb-operator/pull/1646 )
- Bump ghcr.io/devcontainers/features/docker-in-docker from 2.16.0 to 2.16.1 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1640](https://github.com/mariadb-operator/mariadb-operator/pull/1640 )
- Bump docker/setup-buildx-action from 3 to 4 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1638](https://github.com/mariadb-operator/mariadb-operator/pull/1638 )
- Bump github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring from 0.88.0 to 0.89.0 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1643](https://github.com/mariadb-operator/mariadb-operator/pull/1643 )
- Bump golang from 1.25.7-alpine3.23 to 1.26.1-alpine3.23 by [@​dependabot](https://github.com/dependabot )\[bot] in [#​1639](https://github.com/mariadb-operator/mariadb-operator/pull/1639 )
- feat: Latest controller-runtime. Webhook changes, New Events API by [@​Michaelpalacce](https://github.com/Michaelpalacce ) in [#​1651](https://github.com/mariadb-operator/mariadb-operator/pull/1651 )
- Support for ephemeral volumes in `MariaDB` by [@​mmontes11](https://github.com/mmontes11 ) in [#​1650](https://github.com/mariadb-operator/mariadb-operator/pull/1650 )
- fix: accept compressed backup files in logical restore by [@​voron](https://github.com/voron ) in [#​1655](https://github.com/mariadb-operator/mariadb-operator/pull/1655 )
- Fix typo: syncrhonous -> synchronous by [@​sjmudd](https://github.com/sjmudd ) in [#​1657](https://github.com/mariadb-operator/mariadb-operator/pull/1657 )
- Release 26.03: `PointInTimeRecovery`, Azure Blob Storage & on-demand `PhysicalBackups` by [@​mmontes11](https://github.com/mmontes11 ) in [#​1517](https://github.com/mariadb-operator/mariadb-operator/pull/1517 )
#### New Contributors
- [@​softho0n](https://github.com/softho0n ) made their first contribution in [#​1575](https://github.com/mariadb-operator/mariadb-operator/pull/1575 )
- [@​yangminglintw](https://github.com/yangminglintw ) made their first contribution in [#​1589](https://github.com/mariadb-operator/mariadb-operator/pull/1589 )
- [@​dmaes](https://github.com/dmaes ) made their first contribution in [#​1614](https://github.com/mariadb-operator/mariadb-operator/pull/1614 )
- [@​infocusmodereal](https://github.com/infocusmodereal ) made their first contribution in [#​1631](https://github.com/mariadb-operator/mariadb-operator/pull/1631 )
- [@​usiegj00](https://github.com/usiegj00 ) made their first contribution in [#​1635](https://github.com/mariadb-operator/mariadb-operator/pull/1635 )
- [@​voron](https://github.com/voron ) made their first contribution in [#​1655](https://github.com/mariadb-operator/mariadb-operator/pull/1655 )
- [@​sjmudd](https://github.com/sjmudd ) made their first contribution in [#​1657](https://github.com/mariadb-operator/mariadb-operator/pull/1657 )
**Full Changelog**: <https://github.com/mariadb-operator/mariadb-operator/compare/25.10.4...26.3.0 >
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiY2hhcnQiXX0=-->
Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/4707
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-03-14 19:56:37 +00:00
35a38636f8
chore(deps): update dependency clidey/whodb to v0.99.0 ( #4708 )
...
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 23s
renovate / renovate (push) Has been cancelled
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [clidey/whodb](https://github.com/clidey/whodb ) | minor | `0.98.0` → `0.99.0` |
---
### Release Notes
<details>
<summary>clidey/whodb (clidey/whodb)</summary>
### [`v0.99.0`](https://github.com/clidey/whodb/releases/tag/0.99.0 )
[Compare Source](https://github.com/clidey/whodb/compare/0.98.0...0.99.0 )
- Migrate OpenAI to the Responses API with a probe check to fallback to the Completions if it's not supported. This applies to OpenAI-compatible providers as well.
- Reduce the amount of SQL queries made on initial load.
- Query table information on-demand.
- Ideally fix the Apple DMG build.
- Add a small notification on the bottom left whenever a new update is available - this shows up only in the Docker and executable versions. Store versions automatically get updated.
- Add a small message in the CLI for when there is an update.
- MySQL and Postgres now respect user's permissions/grants and show only the databases they have access to.
- Backend updates and small optimisations.
#### Installation
##### Mac App Store
[Download from the Apple Store](https://apps.apple.com/app/whodb/id6754566536 )
##### Microsoft Store
[Download from the Microsoft Store](https://apps.microsoft.com/detail/9pftx5bv4ds6 )
##### Snap Store
```bash
sudo snap install whodb
```
[View on Snapcraft](https://snapcraft.io/whodb )
##### Docker
```bash
docker pull clidey/whodb:0.99.0
docker pull clidey/whodb:latest
```
##### Direct Downloads
See assets below for platform-specific packages (DMG, MSIX, etc.).
#### Documentation
- [Documentation](https://docs.whodb.com )
- [Report Issues](https://github.com/clidey/whodb/issues )
#### Upgrade Notes
To upgrade from a previous version:
- **Docker**: Pull the latest image and restart your container
- **Snap**: Run `sudo snap refresh whodb`
- **Desktop Apps**: Download and install the new version
***
**Full Changelog**: <https://github.com/clidey/whodb/compare/0.98.0...0.99.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:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->
Reviewed-on: #4708
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-03-14 19:55:12 +00:00
70c6f22182
chore(deps): update advplyr/audiobookshelf to v2.33.0 ( #4688 )
...
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 46s
renovate / renovate (push) Has been cancelled
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [advplyr/audiobookshelf](https://github.com/advplyr/audiobookshelf ) | minor | `2.32.1` → `2.33.0` |
| [ghcr.io/advplyr/audiobookshelf](https://github.com/advplyr/audiobookshelf ) | minor | `2.32.1` → `2.33.0` |
---
### Release Notes
<details>
<summary>advplyr/audiobookshelf (advplyr/audiobookshelf)</summary>
### [`v2.33.0`](https://github.com/advplyr/audiobookshelf/releases/tag/v2.33.0 )
[Compare Source](https://github.com/advplyr/audiobookshelf/compare/v2.32.1...v2.33.0 )
##### Important: New authentication system was added in [v2.26.0](https://github.com/advplyr/audiobookshelf/releases/tag/v2.26.0 ). See <https://github.com/advplyr/audiobookshelf/discussions/4460 > for details.
##### Added
- Slovak language option by [@​belpe](https://github.com/belpe ) in [#​5077](https://github.com/advplyr/audiobookshelf/issues/5077 )
- Belarusian language option by [@​pavel-miniutka](https://github.com/pavel-miniutka ) in [#​5071](https://github.com/advplyr/audiobookshelf/issues/5071 )
- Database indexes for discover query performance by [@​kevingatera](https://github.com/kevingatera ) in [#​5073](https://github.com/advplyr/audiobookshelf/issues/5073 )
##### Fixed
- IDOR vulnerabilities in listening sessions, media progress, and bookmark endpoints [#​5062](https://github.com/advplyr/audiobookshelf/issues/5062 ) by [@​mandreko](https://github.com/mandreko ) in [#​5063](https://github.com/advplyr/audiobookshelf/issues/5063 )
- Server crash filtering by decade with collapsed series
- Server crash on `/me/progress/:libraryItemId/:episodeId?` when episodeId is not passed in for a podcast library item [#​5058](https://github.com/advplyr/audiobookshelf/issues/5058 )
- Updating author name merging with same name authors in a different library [#​4628](https://github.com/advplyr/audiobookshelf/issues/4628 )
- Home page check current user from socket event when updating hide from continue listening
- UI/UX: Match tab "click to use current value" incorrect title attribute
- UI/UX: Aria-label for jump backward button by [@​KiwiHour](https://github.com/KiwiHour ) in [#​4973](https://github.com/advplyr/audiobookshelf/issues/4973 )
##### Changed
- Improved personalized shelves performance by parallelizing shelf queries and reducing search payload size by [@​kevingatera](https://github.com/kevingatera ) in [#​5073](https://github.com/advplyr/audiobookshelf/issues/5073 )
- Improved API cache invalidation for high-churn models (sessions, media progress) by [@​kevingatera](https://github.com/kevingatera ) in [#​5073](https://github.com/advplyr/audiobookshelf/issues/5073 )
- Improved subtitle parsing to account for bare colon in title by [@​kctdfh](https://github.com/kctdfh ) in [#​5036](https://github.com/advplyr/audiobookshelf/issues/5036 )
- Sanitize session DeviceInfo `clientDeviceInfo` fields
- Sanitize server settings `authLoginCustomMessage` on save and load
- Fix OpenAPI spec description by [@​openam](https://github.com/openam ) in [#​5042](https://github.com/advplyr/audiobookshelf/issues/5042 )
- UI/UX: Display localized/styled text for selected filter by [@​sir-wilhelm](https://github.com/sir-wilhelm ) in [#​4952](https://github.com/advplyr/audiobookshelf/issues/4952 )
- More strings translated
- Belarusian by [@​pavel-miniutka](https://github.com/pavel-miniutka )
- Catalan by [@​enboig](https://github.com/enboig )
- Chinese (Simplified Han script) by [@​FiendFEARing](https://github.com/FiendFEARing )
- Czech by [@​Plazec](https://github.com/Plazec )
- Danish by [@​xxzp3](https://github.com/xxzp3 )
- French by [@​dapitch666](https://github.com/dapitch666 )
- German by [@​ShaikaJar](https://github.com/ShaikaJar ) [@​Maxklos](https://github.com/Maxklos ) [@​B0rax](https://github.com/B0rax )
- Greek by [@​lambolighting](https://github.com/lambolighting )
- Hebrew by [@​enosh](https://github.com/enosh )
- Hungarian by [@​Kabika82](https://github.com/Kabika82 ) [@​ugyes](https://github.com/ugyes )
- Japanese by [@​litoma](https://github.com/litoma )
- Lithuanian by [@​mantas3](https://github.com/mantas3 )
- Norwegian Bokmål by [@​Torstein-Eide](https://github.com/Torstein-Eide ) [@​soteland](https://github.com/soteland )
- Polish by [@​Jarsey45](https://github.com/Jarsey45 )
- Portuguese (Brazil) by [@​lribeiro](https://github.com/lribeiro )
- Romanian by [@​hac3ru](https://github.com/hac3ru )
- Slovak by [@​goozi12345](https://github.com/goozi12345 ) [@​pecer](https://github.com/pecer )
- Slovenian by [@​thehijacker](https://github.com/thehijacker )
- Swedish by [@​Cotignac](https://github.com/Cotignac ) [@​karlbe](https://github.com/karlbe )
##### New Contributors
- [@​KiwiHour](https://github.com/KiwiHour ) made their first contribution in [#​4973](https://github.com/advplyr/audiobookshelf/pull/4973 )
- [@​openam](https://github.com/openam ) made their first contribution in [#​5042](https://github.com/advplyr/audiobookshelf/pull/5042 )
- [@​belpe](https://github.com/belpe ) made their first contribution in [#​5077](https://github.com/advplyr/audiobookshelf/pull/5077 )
- [@​pavel-miniutka](https://github.com/pavel-miniutka ) made their first contribution in [#​5071](https://github.com/advplyr/audiobookshelf/pull/5071 )
- [@​kctdfh](https://github.com/kctdfh ) made their first contribution in [#​5036](https://github.com/advplyr/audiobookshelf/pull/5036 )
- [@​mandreko](https://github.com/mandreko ) made their first contribution in [#​5063](https://github.com/advplyr/audiobookshelf/pull/5063 )
- [@​kevingatera](https://github.com/kevingatera ) made their first contribution in [#​5073](https://github.com/advplyr/audiobookshelf/pull/5073 )
**Full Changelog**: <https://github.com/advplyr/audiobookshelf/compare/v2.32.1...v2.33.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:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->
Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/4688
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-03-14 19:52:47 +00:00
c2341618be
chore(deps): update helm release grafana-operator to v5.22.1 ( #4732 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 47s
renovate / renovate (push) Has been cancelled
2026-03-14 19:51:17 +00:00
48d8d45d32
chore(deps): update dependency grafana/grafana-operator to v5.22.1 ( #4731 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 13s
renovate / renovate (push) Has been cancelled
2026-03-14 19:48:18 +00:00
4a1b87c88d
chore(deps): update g33kphr33k/musicgrabber docker tag to v2.4.3 ( #4683 )
...
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 13s
renovate / renovate (push) Has been cancelled
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| g33kphr33k/musicgrabber | minor | `2.3.5` → `2.4.3` |
---
### 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:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->
Reviewed-on: #4683
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-03-14 19:46:02 +00:00
299824856e
chore(deps): update rmcrackan/libation to v13.3.0 ( #4677 )
...
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 9s
renovate / renovate (push) Has been cancelled
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [rmcrackan/Libation](https://github.com/rmcrackan/Libation ) | minor | `13.2.1` → `13.3.0` |
| [rmcrackan/libation](https://github.com/rmcrackan/Libation ) | minor | `13.2.1` → `13.3.0` |
---
### Release Notes
<details>
<summary>rmcrackan/Libation (rmcrackan/Libation)</summary>
### [`v13.3.0`](https://github.com/rmcrackan/Libation/releases/tag/v13.3.0 ): Libation 13.3
[Compare Source](https://github.com/rmcrackan/Libation/compare/v13.2.1...v13.3.0 )
<!-- BEGIN NO-APP -->
> <a href="https://getlibation.com "><img src=".github/download-icon.svg" width="20" height="20" alt="" /></a> **[Which version should I download?](https://getlibation.com )** — get a recommended download for your system on our site.
<!-- END NO-APP -->
- Bug fix [#​1664](https://github.com/rmcrackan/Libation/issues/1664 ) -- WebView breaks catastrophically under Linux Snap -- segfault with no logged errors
- Bug fix [#​1625](https://github.com/rmcrackan/Libation/issues/1625 ) -- fix macOS key bindings
- Bug fix [#​1673](https://github.com/rmcrackan/Libation/issues/1673 ) -- Fix naming template links
- Bug fix [#​1672](https://github.com/rmcrackan/Libation/issues/1672 ) -- disallow WebView for linux snap
- Bug fix [#​1668](https://github.com/rmcrackan/Libation/issues/1668 ) -- accessibility bugs
- Cleaner display of upgrade notes
Thanks to [@​cvigano](https://github.com/cvigano ) , [@​rasmussehlin](https://github.com/rasmussehlin )
<!-- BEGIN NO-APP -->
[Libation](https://github.com/rmcrackan/Libation ) is a free, open source audible library manager. Decrypt, backup, organize, and search your audible library
I intend to keep Libation free and open source, but if you want to [leave a tip](https://paypal.me/mcrackan?locale.x=en_us ), who am I to argue?
<!-- END NO-APP -->
</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:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->
Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/4677
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-03-14 19:44:26 +00:00
d13eab410d
chore(deps): update ghcr.io/linuxserver/code-server docker tag to v4.111.0 ( #4655 )
...
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 45s
renovate / renovate (push) Successful in 1m39s
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [ghcr.io/linuxserver/code-server](https://github.com/linuxserver/docker-code-server/packages ) ([source](https://github.com/linuxserver/docker-code-server )) | minor | `4.110.0` → `4.111.0` |
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->
Reviewed-on: #4655
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-03-14 18:34:40 +00:00
3f22ffaf20
chore(deps): update helm release loki to v6.55.0 ( #4622 )
...
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 45s
renovate / renovate (push) Successful in 5m46s
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [loki](https://grafana.github.io/helm-charts ) ([source](https://github.com/grafana/helm-charts )) | minor | `6.53.0` → `6.55.0` |
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiY2hhcnQiXX0=-->
Reviewed-on: #4622
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-03-14 18:21:50 +00:00
2c45d442a0
fix: apply workaround for missing flag
lint-test-helm / lint-helm (push) Successful in 54s
render-manifests-push / render-manifests-push (push) Successful in 49s
renovate / renovate (push) Successful in 7m19s
2026-03-14 13:12:41 -05:00
3f28fc34f1
chore(deps): update helm release headlamp to v0.40.1 ( #4725 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 30s
renovate / renovate (push) Successful in 2m9s
2026-03-14 15:03:45 +00:00
b5411738b0
chore(deps): update gitea/gitea docker tag to v1.25.5 ( #4723 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 19s
renovate / renovate (push) Successful in 3m43s
2026-03-14 04:02:57 +00:00
b61abdf681
chore(deps): update gitea/gitea docker tag to v1.25.5 ( #4722 )
renovate / renovate (push) Has been cancelled
lint-test-docker / lint-docker-compose (push) Successful in 1m7s
2026-03-14 04:02:46 +00:00
2b817f6fcb
chore(deps): update dependency go-gitea/gitea to v1.25.5 ( #4719 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 15s
renovate / renovate (push) Successful in 2m54s
2026-03-14 03:04:13 +00:00
cbd4923e71
chore(deps): update php docker tag to v8.5.4 ( #4717 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 15s
renovate / renovate (push) Successful in 4m53s
render-manifests-dispatch / render-manifests-dispatch (push) Successful in 40m11s
2026-03-14 02:02:40 +00:00
4eac595b8e
chore(deps): update freikin/dawarich docker tag to v1.3.3 ( #4714 )
renovate / renovate (push) Successful in 2m39s
2026-03-13 22:03:30 +00:00
a7ae2c9ad0
chore(deps): update freikin/dawarich docker tag to v1.3.3 ( #4714 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 20s
renovate / renovate (push) Successful in 5m2s
2026-03-13 22:03:21 +00:00
fa7575d411
chore(deps): update dependency freika/dawarich to v1.3.3 ( #4713 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 16s
renovate / renovate (push) Has been cancelled
2026-03-13 22:02:59 +00:00
1cf76fcf30
chore(deps): update harbor.alexlebens.net/images/site-profile docker tag to v3.12.0 ( #4711 )
...
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 56s
renovate / renovate (push) Successful in 3m25s
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [harbor.alexlebens.net/images/site-profile](https://gitea.alexlebens.dev/alexlebens/site-profile ) | minor | `3.11.0` → `3.12.0` |
---
### Release Notes
<details>
<summary>alexlebens/site-profile (harbor.alexlebens.net/images/site-profile)</summary>
### [`v3.12.0`](https://gitea.alexlebens.dev/alexlebens/site-profile/releases/tag/3.12.0 )
[Compare Source](https://gitea.alexlebens.dev/alexlebens/site-profile/compare/3.11.0...3.12.0 )
##### Features
- enable prerender pending resoltuion of server island fix ([7b8fb38](7b8fb380d4 ))
</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:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->
Reviewed-on: #4711
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-03-13 18:13:25 +00:00
9278764dbc
chore(deps): update harbor.alexlebens.net/images/site-profile docker tag to v3.11.0 ( #4709 )
...
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 13s
renovate / renovate (push) Successful in 1m49s
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [harbor.alexlebens.net/images/site-profile](https://gitea.alexlebens.dev/alexlebens/site-profile ) | minor | `3.10.0` → `3.11.0` |
---
### Release Notes
<details>
<summary>alexlebens/site-profile (harbor.alexlebens.net/images/site-profile)</summary>
### [`v3.11.0`](https://gitea.alexlebens.dev/alexlebens/site-profile/releases/tag/3.11.0 )
[Compare Source](https://gitea.alexlebens.dev/alexlebens/site-profile/compare/3.10.0...3.11.0 )
##### Features
- adjustment to spacing ([629403f](629403fdde ))
- improve category cards spacing, overflow, and add fade effect to edges ([d0f1098](d0f10986cd ))
- move script handling to use swup instead of astro transitions, move animations to baselayout ([500d9e2](500d9e2ea0 ))
- remove astro features that are replaced by swup ([70a9499](70a94990e2 ))
</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:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->
Reviewed-on: #4709
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-03-13 16:36:52 +00:00
0be6ad1431
chore(deps): update harbor.alexlebens.net/images/site-profile docker tag to v3.10.0 ( #4702 )
...
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 22s
renovate / renovate (push) Successful in 4m16s
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [harbor.alexlebens.net/images/site-profile](https://gitea.alexlebens.dev/alexlebens/site-profile ) | minor | `3.9.0` → `3.10.0` |
---
### Release Notes
<details>
<summary>alexlebens/site-profile (harbor.alexlebens.net/images/site-profile)</summary>
### [`v3.10.0`](https://gitea.alexlebens.dev/alexlebens/site-profile/releases/tag/3.10.0 )
[Compare Source](https://gitea.alexlebens.dev/alexlebens/site-profile/compare/3.9.0...3.10.0 )
##### Bug Fixes
- function needing paranthensis ([54c82a7](54c82a7f79 ))
##### Features
- add scripts to clear and run from scratch ([805cb28](805cb28185 ))
- disable prerender pending resoltuion of server island fix ([eab6e0c](eab6e0c31d ))
- test placing weather section below posts ([43f0f7b](43f0f7b324 ))
</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:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->
Reviewed-on: #4702
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-03-13 15:00:04 +00:00
ebc47e9e3b
chore(deps): update searxng/searxng:latest docker digest to 174f6a8 ( #4700 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 17s
renovate / renovate (push) Successful in 2m59s
2026-03-13 14:02:51 +00:00
f3d0665e21
chore(deps): update searxng/searxng:latest docker digest to 563b0a0 ( #4698 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 1m39s
renovate / renovate (push) Successful in 2m41s
2026-03-13 13:02:31 +00:00
95a176105b
chore(deps): update searxng/searxng:latest docker digest to fce67c4 ( #4696 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 2m2s
renovate / renovate (push) Successful in 2m18s
2026-03-13 12:02:35 +00:00
2694919396
feat: remove volsync, rely on backrest
render-manifests-push / render-manifests-push (push) Successful in 33s
lint-test-helm / lint-helm (push) Successful in 2m23s
renovate / renovate (push) Successful in 2m21s
2026-03-12 23:17:38 -05:00
c443d5726f
fix: pvc target
lint-test-helm / lint-helm (push) Successful in 13s
render-manifests-push / render-manifests-push (push) Successful in 4m39s
renovate / renovate (push) Successful in 7m1s
2026-03-12 23:06:50 -05:00
dea7df4e32
chore(deps): update harbor.alexlebens.net/images/site-profile docker tag to v3.9.0 ( #4692 )
...
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 3m2s
renovate / renovate (push) Successful in 3m9s
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [harbor.alexlebens.net/images/site-profile](https://gitea.alexlebens.dev/alexlebens/site-profile ) | minor | `3.8.0` → `3.9.0` |
---
### Release Notes
<details>
<summary>alexlebens/site-profile (harbor.alexlebens.net/images/site-profile)</summary>
### [`v3.9.0`](https://gitea.alexlebens.dev/alexlebens/site-profile/releases/tag/3.9.0 )
[Compare Source](https://gitea.alexlebens.dev/alexlebens/site-profile/compare/3.8.0...3.9.0 )
##### Features
- copy package.json ([0bef13c](0bef13c414 ))
</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:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->
Reviewed-on: #4692
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-03-13 03:57:45 +00:00
614d68c3da
feat: overhaul mount
lint-test-helm / lint-helm (push) Has started running
render-manifests-push / render-manifests-push (push) Has been cancelled
renovate / renovate (push) Has been cancelled
2026-03-12 22:56:53 -05:00
30b681a559
fix: incorrect key added
lint-test-helm / lint-helm (push) Successful in 10s
render-manifests-push / render-manifests-push (push) Successful in 50s
renovate / renovate (push) Successful in 3m31s
2026-03-12 22:19:22 -05:00
b3b4d84dbb
feat: add specific volumes for media
lint-test-helm / lint-helm (push) Successful in 10s
render-manifests-push / render-manifests-push (push) Failing after 19s
renovate / renovate (push) Has been cancelled
2026-03-12 22:16:28 -05:00
ffae594719
chore(deps): update harbor.alexlebens.net/images/site-profile docker tag to v3.8.0 ( #4689 )
...
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 10s
renovate / renovate (push) Successful in 1m58s
render-manifests-dispatch / render-manifests-dispatch (push) Successful in 48m1s
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [harbor.alexlebens.net/images/site-profile](https://gitea.alexlebens.dev/alexlebens/site-profile ) | minor | `3.7.0` → `3.8.0` |
---
### Release Notes
<details>
<summary>alexlebens/site-profile (harbor.alexlebens.net/images/site-profile)</summary>
### [`v3.8.0`](https://gitea.alexlebens.dev/alexlebens/site-profile/releases/tag/3.8.0 )
[Compare Source](https://gitea.alexlebens.dev/alexlebens/site-profile/compare/3.7.0...3.8.0 )
##### Features
- disable security feature ([0dfcc25](0dfcc25984 ))
- use alpine-dev for bun builder ([4c8665e](4c8665ebe2 ))
</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:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->
Reviewed-on: #4689
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-03-12 23:36:48 +00:00
0dc33b53e6
chore(deps): update harbor.alexlebens.net/images/site-documentation docker tag to v0.2.0 ( #4686 )
...
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 1m3s
renovate / renovate (push) Successful in 2m28s
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [harbor.alexlebens.net/images/site-documentation](https://gitea.alexlebens.dev/alexlebens/site-documentation ) | minor | `0.1.7` → `0.2.0` |
---
### Release Notes
<details>
<summary>alexlebens/site-documentation (harbor.alexlebens.net/images/site-documentation)</summary>
### [`v0.2.0`](https://gitea.alexlebens.dev/alexlebens/site-documentation/releases/tag/0.2.0 )
[Compare Source](https://gitea.alexlebens.dev/alexlebens/site-documentation/compare/0.1.7...0.2.0 )
### [0.2.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.1.7...0.2.0 ) (2026-03-12)
##### Features
- add robots ([4ef4353](4ef43534a0 ))
- switch to bun ([7413830](74138302a4 ))
- trigger minor version update ([7a9b62d](7a9b62dc04 ))
- use alpine-dev for bun builder ([4575bfb](4575bfb913 ))
</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:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->
Reviewed-on: #4686
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-03-12 22:12:31 +00:00
7d53608960
chore(deps): update harbor.alexlebens.net/images/site-profile docker tag to v3.7.0 ( #4684 )
...
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 1m3s
renovate / renovate (push) Successful in 3m20s
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [harbor.alexlebens.net/images/site-profile](https://gitea.alexlebens.dev/alexlebens/site-profile ) | minor | `3.5.0` → `3.7.0` |
---
### Release Notes
<details>
<summary>alexlebens/site-profile (harbor.alexlebens.net/images/site-profile)</summary>
### [`v3.7.0`](https://gitea.alexlebens.dev/alexlebens/site-profile/releases/tag/3.7.0 )
[Compare Source](https://gitea.alexlebens.dev/alexlebens/site-profile/compare/3.5.0...3.7.0 )
##### Bug Fixes
- incorrect name of step ([db79f91](db79f912ee ))
- use semantic release outputs ([578e166](578e1661cd ))
##### Features
- add automation to release using release-please in workflows ([99032f7](99032f7a62 ))
- add if to ignore harbor release result ([ce75e7c](ce75e7ca5e ))
- add outputs of semantic release ([36eaa0c](36eaa0c132 ))
- add release branch, update and merge release workflow ([68f2080](68f2080bda ))
- add semantic release ([620b496](620b496957 ))
- add token ([e0a3d39](e0a3d391b3 ))
- change release format ([24c837c](24c837cf84 ))
- ignore on docs updates ([4b58117](4b58117454 ))
- install deps ([f32b75e](f32b75e31d ))
- remove old release workflows ([7882c3e](7882c3ecc7 ))
- remove release-please ([07fa86b](07fa86b17c ))
- setup node for semantic release ([bf3a7ef](bf3a7ef261 ))
- use different workflow for gitea ([1577ee4](1577ee4c27 ))
</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:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->
Reviewed-on: #4684
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-03-12 21:13:38 +00:00
4a141dbc3f
feat: increase timeout
lint-test-helm / lint-helm (push) Successful in 15s
render-manifests-push / render-manifests-push (push) Successful in 39s
renovate / renovate (push) Successful in 2m38s
2026-03-12 15:18:02 -05:00
40ce4335a9
chore(deps): update harbor.alexlebens.net/images/site-profile docker tag to v3.5.0 ( #4664 )
...
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 11s
renovate / renovate (push) Successful in 2m7s
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [harbor.alexlebens.net/images/site-profile](https://gitea.alexlebens.dev/alexlebens/site-profile ) | minor | `3.4.0` → `3.5.0` |
---
### Release Notes
<details>
<summary>alexlebens/site-profile (harbor.alexlebens.net/images/site-profile)</summary>
### [`v3.5.0`](https://gitea.alexlebens.dev/alexlebens/site-profile/compare/3.4.0...3.5.0 )
[Compare Source](https://gitea.alexlebens.dev/alexlebens/site-profile/compare/3.4.0...3.5.0 )
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->
Reviewed-on: #4664
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-03-12 17:23:36 +00:00
6428ac8217
chore(deps): update searxng/searxng:latest docker digest to 5cdcc74 ( #4680 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 9s
renovate / renovate (push) Successful in 2m10s
2026-03-12 16:03:04 +00:00
7a7bd46984
chore(deps): update searxng/searxng:latest docker digest to 1450a5d ( #4678 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 13s
renovate / renovate (push) Successful in 2m52s
2026-03-12 15:03:11 +00:00
c7641c67e8
chore(deps): update helm release argo-workflows to v0.47.5 ( #4674 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 37s
renovate / renovate (push) Successful in 2m59s
2026-03-12 13:03:37 +00:00
97d15a26ca
chore(deps): update dependency argoproj/argo-workflows to v4.0.2 ( #4673 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 19s
renovate / renovate (push) Successful in 4m4s
2026-03-12 12:03:43 +00:00
91971a24ee
chore(deps): update helm release matrix-synapse to v3.12.23 ( #4671 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 18s
renovate / renovate (push) Successful in 3m34s
2026-03-12 11:04:14 +00:00
3d6de8fa72
chore(deps): update dependency element-hq/synapse to v1.149.1 ( #4670 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 23s
renovate / renovate (push) Has been cancelled
2026-03-12 11:03:32 +00:00
33924a275d
chore(deps): update nginx docker tag to v1.29.6 ( #4667 )
renovate / renovate (push) Successful in 4m7s
2026-03-12 08:02:10 +00:00
5e48a9db8d
chore(deps): update nginx docker tag to v1.29.6 ( #4667 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 20s
renovate / renovate (push) Successful in 2m11s
2026-03-12 08:02:07 +00:00
227ccd50b9
chore(deps): update dependency garethgeorge/backrest to v1.12.1 ( #4665 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 32s
renovate / renovate (push) Successful in 1m46s
2026-03-12 07:03:05 +00:00
961bc81cef
chore(deps): update harbor.alexlebens.net/images/site-profile docker tag to v3.4.0 ( #4662 )
...
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 17s
render-manifests-dispatch / render-manifests-dispatch (push) Successful in 32m21s
renovate / renovate (push) Successful in 2m44s
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [harbor.alexlebens.net/images/site-profile](https://gitea.alexlebens.dev/alexlebens/site-profile ) | minor | `3.1.0` → `3.4.0` |
---
### Release Notes
<details>
<summary>alexlebens/site-profile (harbor.alexlebens.net/images/site-profile)</summary>
### [`v3.4.0`](https://gitea.alexlebens.dev/alexlebens/site-profile/compare/3.2.0...3.4.0 )
[Compare Source](https://gitea.alexlebens.dev/alexlebens/site-profile/compare/3.2.0...3.4.0 )
### [`v3.2.0`](https://gitea.alexlebens.dev/alexlebens/site-profile/compare/3.1.0...3.2.0 )
[Compare Source](https://gitea.alexlebens.dev/alexlebens/site-profile/compare/3.1.0...3.2.0 )
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->
Reviewed-on: #4662
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-03-12 01:15:01 +00:00
e7290b7e81
feat: downgrade to 3.1.0
lint-test-helm / lint-helm (push) Successful in 16s
render-manifests-push / render-manifests-push (push) Successful in 50s
renovate / renovate (push) Successful in 2m37s
2026-03-11 19:39:06 -05:00
eefbd21304
chore(deps): update harbor.alexlebens.net/images/site-profile docker tag to v3.2.0 ( #4659 )
...
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 13s
renovate / renovate (push) Successful in 3m30s
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [harbor.alexlebens.net/images/site-profile](https://gitea.alexlebens.dev/alexlebens/site-profile ) | minor | `3.1.0` → `3.2.0` |
---
### Release Notes
<details>
<summary>alexlebens/site-profile (harbor.alexlebens.net/images/site-profile)</summary>
### [`v3.2.0`](https://gitea.alexlebens.dev/alexlebens/site-profile/compare/3.1.0...3.2.0 )
[Compare Source](https://gitea.alexlebens.dev/alexlebens/site-profile/compare/3.1.0...3.2.0 )
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->
Reviewed-on: #4659
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-03-12 00:18:58 +00:00
085729cc95
chore(deps): update postgres-cluster docker tag to v7.9.1 ( #4639 )
...
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 33s
renovate / renovate (push) Successful in 3m37s
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [postgres-cluster](https://github.com/cloudnative-pg/cloudnative-pg ) | minor | `7.8.0` → `7.9.1` |
---
### 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:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiY2hhcnQiLCJpbWFnZSJdfQ==-->
Reviewed-on: #4639
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-03-11 23:57:41 +00:00
29552f377f
feat: add postgres backups
lint-test-helm / lint-helm (push) Successful in 10s
render-manifests-push / render-manifests-push (push) Successful in 23s
renovate / renovate (push) Has been cancelled
2026-03-11 18:50:42 -05:00
5852fdfa63
fix: wrong schedule
lint-test-helm / lint-helm (push) Successful in 28s
render-manifests-push / render-manifests-push (push) Successful in 32s
renovate / renovate (push) Has been cancelled
2026-03-11 18:36:40 -05:00
a9d450980a
feat: add remaining buckets
lint-test-helm / lint-helm (push) Successful in 29s
render-manifests-push / render-manifests-push (push) Successful in 46s
renovate / renovate (push) Has been cancelled
2026-03-11 18:32:07 -05:00
16152a51d8
feat: add rclone for bucket mirror
lint-test-helm / lint-helm (push) Successful in 21s
render-manifests-push / render-manifests-push (push) Successful in 1m0s
renovate / renovate (push) Has been cancelled
2026-03-11 18:20:18 -05:00
50de25b491
feat: stagger postgres backup schedule
lint-test-helm / lint-helm (push) Successful in 9s
render-manifests-push / render-manifests-push (push) Successful in 7m24s
renovate / renovate (push) Successful in 12m17s
2026-03-11 17:52:20 -05:00
1de8839122
feat: change volsync schedule
2026-03-11 17:43:59 -05:00
f56e5a8a43
feat: change volsync schedule
lint-test-helm / lint-helm (push) Successful in 12s
render-manifests-push / render-manifests-push (push) Successful in 2m8s
renovate / renovate (push) Has been cancelled
2026-03-11 17:40:39 -05:00
1c470ee434
feat: change volsync schedule
lint-test-helm / lint-helm (push) Successful in 1m15s
render-manifests-push / render-manifests-push (push) Successful in 1m35s
renovate / renovate (push) Has been cancelled
2026-03-11 17:37:17 -05:00
d964a690c5
feat: change volsync schedule
lint-test-helm / lint-helm (push) Successful in 33s
render-manifests-push / render-manifests-push (push) Successful in 1m2s
renovate / renovate (push) Has been cancelled
2026-03-11 17:30:43 -05:00
9342c73600
chore(deps): update directus/directus to v11.16.1 ( #4648 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 29s
renovate / renovate (push) Has been cancelled
2026-03-11 22:28:31 +00:00
7d9a4ecfd2
feat: remove monitor
lint-test-helm / lint-helm (push) Successful in 23s
render-manifests-push / render-manifests-push (push) Successful in 1m1s
renovate / renovate (push) Has been cancelled
2026-03-11 17:25:53 -05:00
0ac8d5a3d5
feat: set object store to null
lint-test-helm / lint-helm (push) Successful in 12s
render-manifests-push / render-manifests-push (push) Successful in 56s
renovate / renovate (push) Successful in 11m37s
2026-03-11 16:57:17 -05:00
4e81f19249
feat: remove object gateway
lint-test-helm / lint-helm (push) Successful in 19s
render-manifests-push / render-manifests-push (push) Successful in 1m8s
renovate / renovate (push) Has been cancelled
2026-03-11 16:52:03 -05:00
3d35bdf2df
feat: change security context
lint-test-helm / lint-helm (push) Successful in 23s
render-manifests-push / render-manifests-push (push) Successful in 54s
renovate / renovate (push) Has been cancelled
2026-03-11 16:47:42 -05:00
10ca9c3d8e
feat: move to local storage
lint-test-helm / lint-helm (push) Successful in 15s
render-manifests-push / render-manifests-push (push) Successful in 33s
renovate / renovate (push) Has been cancelled
2026-03-11 16:37:47 -05:00
3ff086685f
feat: migrated to garage
lint-test-helm / lint-helm (push) Successful in 23s
render-manifests-push / render-manifests-push (push) Successful in 53s
renovate / renovate (push) Successful in 10m57s
2026-03-11 16:15:14 -05:00
695a71095f
fix: wrong port
lint-test-helm / lint-helm (push) Successful in 19s
render-manifests-push / render-manifests-push (push) Successful in 35s
renovate / renovate (push) Successful in 2m45s
2026-03-11 15:42:28 -05:00
904f21d7ef
feat: vault path
lint-test-helm / lint-helm (push) Successful in 10s
render-manifests-push / render-manifests-push (push) Successful in 56s
renovate / renovate (push) Successful in 12m4s
2026-03-11 15:24:48 -05:00
f269912cec
feat: change backing storage to garage
lint-test-helm / lint-helm (push) Successful in 23s
render-manifests-push / render-manifests-push (push) Successful in 36s
renovate / renovate (push) Has been cancelled
2026-03-11 15:21:47 -05:00
a41495ac5b
feat: change service
lint-test-helm / lint-helm (push) Successful in 21s
render-manifests-push / render-manifests-push (push) Successful in 47s
renovate / renovate (push) Successful in 1m28s
2026-03-11 14:40:53 -05:00
0d4cd74d1e
feat: change index
lint-test-helm / lint-helm (push) Successful in 22s
render-manifests-push / render-manifests-push (push) Successful in 1m11s
renovate / renovate (push) Successful in 2m45s
2026-03-11 14:05:10 -05:00
d9d30f9c29
fix: missing key
lint-test-helm / lint-helm (push) Successful in 20s
render-manifests-push / render-manifests-push (push) Successful in 52s
renovate / renovate (push) Successful in 3m27s
2026-03-11 13:56:46 -05:00
1eeefb8a1c
feat: change main service
lint-test-helm / lint-helm (push) Failing after 5s
render-manifests-push / render-manifests-push (push) Failing after 34s
renovate / renovate (push) Has been cancelled
2026-03-11 13:53:48 -05:00
537e2f0f8d
feat: enable backups and index
lint-test-helm / lint-helm (push) Successful in 24s
render-manifests-push / render-manifests-push (push) Successful in 1m22s
renovate / renovate (push) Successful in 3m18s
2026-03-11 13:45:37 -05:00
9d201656b6
chore(deps): update booklore-app/booklore to v2.2.0 ( #4633 )
...
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 20s
renovate / renovate (push) Successful in 1m40s
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [booklore-app/BookLore](https://github.com/booklore-app/BookLore ) | minor | `v2.1.0` → `v2.2.0` |
| [ghcr.io/booklore-app/booklore](https://github.com/booklore-app/booklore ) | minor | `v2.1.0` → `v2.2.0` |
---
### Release Notes
<details>
<summary>booklore-app/BookLore (booklore-app/BookLore)</summary>
### [`v2.2.0`](https://github.com/booklore-app/booklore/releases/tag/v2.2.0 )
[Compare Source](https://github.com/booklore-app/BookLore/compare/v2.1.0...v2.2.0 )
#### 🌟 What's New in v2.2.0
This release introduces (or brings back) two new library organization modes: **Book per File** and **Book per Folder**, giving you explicit control over how Booklore groups files into books during scanning.
When Booklore first started, the philosophy was simple: don't worry about how files are organized on disk, just scan everything and figure it out. This worked well when libraries only contained single-file formats like EPUB and PDF. But as support grew for multi-format books and multi-file audiobooks, that approach started to break down. The existing Auto-detect mode uses fuzzy filename matching and heuristics to guess how files should be grouped, and while it works in many cases, it has some real problems: files can get missed during scans, multi-file audiobooks sometimes show up as separate books (one per file), and the grouping behavior is unpredictable since it depends on how your files happen to be named.
Rather than continuing to patch Auto-detect, I'm introducing two new modes that are simple, predictable, and thoroughly-tested:
- **Book per File**: Every file becomes its own book. One file, one book, no guessing. This is now the default for new libraries.
- **Book per Folder**: Files in the same folder are grouped into a single book. Great for organized libraries with an `Author/Title/` structure, and it handles multi-format books and folder-based audiobooks naturally. If you have a folder with an EPUB, a MOBI, and an `audiobook/` subfolder, they all become one book.
**Auto-detect is not going away.** Existing libraries using it will continue to work as before. But it's now marked as legacy, and I strongly recommend switching to one of the new modes. They're simpler, more reliable, and will be the focus of ongoing development and support going forward.
You can set the organization mode when creating a new library, but cannot change it on an existing library. For a detailed breakdown of each mode with examples, check out the [documentation](https://booklore.org/docs/library/organization-modes ).
#### 🚀 New Features
- Scanner organization modes and monitoring rework ([#​3279](https://github.com/booklore-app/BookLore/issues/3279 )) by [@​acx10](https://github.com/acx10 )
#### ✨ Enhancements
- Add configurable magnifier zoom and lens size for CBX reader ([#​3260](https://github.com/booklore-app/BookLore/issues/3260 )) ([#​3268](https://github.com/booklore-app/BookLore/issues/3268 )) by [@​acx10](https://github.com/acx10 )
#### 🐛 Bug Fixes
- Make OIDC scopes configurable ([#​3261](https://github.com/booklore-app/BookLore/issues/3261 )) ([#​3265](https://github.com/booklore-app/BookLore/issues/3265 )) by [@​acx10](https://github.com/acx10 )
#### 🛠️ Refactoring & Maintenance
- Lock organization mode dropdown for AUTO\_DETECT libraries ([#​3284](https://github.com/booklore-app/BookLore/issues/3284 )) by [@​acx10](https://github.com/acx10 )
- Lock organization mode for AUTO\_DETECT libraries ([#​3283](https://github.com/booklore-app/BookLore/issues/3283 )) by [@​acx10](https://github.com/acx10 )
- Translations update from Hosted Weblate ([#​3248](https://github.com/booklore-app/BookLore/issues/3248 )) by [@​acx10](https://github.com/acx10 )
#### 🐳 Docker Images
- **Docker Hub:** `booklore/booklore:v2.2.0`
- **GitHub Container Registry:** `ghcr.io/booklore-app/booklore:v2.2.0`
**Full Changelog**: <https://github.com/booklore-app/booklore/compare/v2.1.0...v2.2.0 >
<img width="728" height="942" alt="Screenshot 2026-03-11 at 8 51 59 AM" src="https://github.com/user-attachments/assets/a8decbd8-e80f-4865-b6ee-bbb612fd20b7 " />
<img width="728" height="942" alt="Screenshot 2026-03-11 at 8 51 20 AM" src="https://github.com/user-attachments/assets/51a11cb8-d4ec-47b8-ac09-61cc222a8ab4 " />
</details>
<details>
<summary>booklore-app/booklore (ghcr.io/booklore-app/booklore)</summary>
### [`v2.2.0`](https://github.com/booklore-app/booklore/releases/tag/v2.2.0 )
[Compare Source](https://github.com/booklore-app/booklore/compare/v2.1.0...v2.2.0 )
#### 🌟 What's New in v2.2.0
This release introduces (or brings back) two new library organization modes: **Book per File** and **Book per Folder**, giving you explicit control over how Booklore groups files into books during scanning.
When Booklore first started, the philosophy was simple: don't worry about how files are organized on disk, just scan everything and figure it out. This worked well when libraries only contained single-file formats like EPUB and PDF. But as support grew for multi-format books and multi-file audiobooks, that approach started to break down. The existing Auto-detect mode uses fuzzy filename matching and heuristics to guess how files should be grouped, and while it works in many cases, it has some real problems: files can get missed during scans, multi-file audiobooks sometimes show up as separate books (one per file), and the grouping behavior is unpredictable since it depends on how your files happen to be named.
Rather than continuing to patch Auto-detect, I'm introducing two new modes that are simple, predictable, and thoroughly-tested:
- **Book per File**: Every file becomes its own book. One file, one book, no guessing. This is now the default for new libraries.
- **Book per Folder**: Files in the same folder are grouped into a single book. Great for organized libraries with an `Author/Title/` structure, and it handles multi-format books and folder-based audiobooks naturally. If you have a folder with an EPUB, a MOBI, and an `audiobook/` subfolder, they all become one book.
**Auto-detect is not going away.** Existing libraries using it will continue to work as before. But it's now marked as legacy, and I strongly recommend switching to one of the new modes. They're simpler, more reliable, and will be the focus of ongoing development and support going forward.
You can set the organization mode when creating a new library, but cannot change it on an existing library. For a detailed breakdown of each mode with examples, check out the [documentation](https://booklore.org/docs/library/organization-modes ).
#### 🚀 New Features
- Scanner organization modes and monitoring rework ([#​3279](https://github.com/booklore-app/booklore/issues/3279 )) by [@​acx10](https://github.com/acx10 )
#### ✨ Enhancements
- Add configurable magnifier zoom and lens size for CBX reader ([#​3260](https://github.com/booklore-app/booklore/issues/3260 )) ([#​3268](https://github.com/booklore-app/booklore/issues/3268 )) by [@​acx10](https://github.com/acx10 )
#### 🐛 Bug Fixes
- Make OIDC scopes configurable ([#​3261](https://github.com/booklore-app/booklore/issues/3261 )) ([#​3265](https://github.com/booklore-app/booklore/issues/3265 )) by [@​acx10](https://github.com/acx10 )
#### 🛠️ Refactoring & Maintenance
- Lock organization mode dropdown for AUTO\_DETECT libraries ([#​3284](https://github.com/booklore-app/booklore/issues/3284 )) by [@​acx10](https://github.com/acx10 )
- Lock organization mode for AUTO\_DETECT libraries ([#​3283](https://github.com/booklore-app/booklore/issues/3283 )) by [@​acx10](https://github.com/acx10 )
- Translations update from Hosted Weblate ([#​3248](https://github.com/booklore-app/booklore/issues/3248 )) by [@​acx10](https://github.com/acx10 )
#### 🐳 Docker Images
- **Docker Hub:** `booklore/booklore:v2.2.0`
- **GitHub Container Registry:** `ghcr.io/booklore-app/booklore:v2.2.0`
**Full Changelog**: <https://github.com/booklore-app/booklore/compare/v2.1.0...v2.2.0 >
<img width="728" height="942" alt="Screenshot 2026-03-11 at 8 51 59 AM" src="https://github.com/user-attachments/assets/a8decbd8-e80f-4865-b6ee-bbb612fd20b7 " />
<img width="728" height="942" alt="Screenshot 2026-03-11 at 8 51 20 AM" src="https://github.com/user-attachments/assets/51a11cb8-d4ec-47b8-ac09-61cc222a8ab4 " />
</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:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->
Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/4633
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-03-11 16:06:56 +00:00
95601d3090
chore(deps): update helm release element-web to v1.4.32 ( #4634 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 10s
renovate / renovate (push) Has been cancelled
2026-03-11 16:04:46 +00:00
1a7eaf2d0c
chore(deps): update harbor.alexlebens.net/images/site-profile docker tag to v3.1.0 ( #4631 )
...
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 10s
renovate / renovate (push) Successful in 4m29s
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [harbor.alexlebens.net/images/site-profile](https://gitea.alexlebens.dev/alexlebens/site-profile ) | minor | `3.0.0` → `3.1.0` |
---
### Release Notes
<details>
<summary>alexlebens/site-profile (harbor.alexlebens.net/images/site-profile)</summary>
### [`v3.1.0`](https://gitea.alexlebens.dev/alexlebens/site-profile/compare/3.0.0...3.1.0 )
[Compare Source](https://gitea.alexlebens.dev/alexlebens/site-profile/compare/3.0.0...3.1.0 )
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->
Reviewed-on: #4631
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-03-11 06:56:19 +00:00
5876d9ab79
chore(deps): update harbor.alexlebens.net/images/site-profile docker tag to v3 ( #4628 )
...
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 13s
renovate / renovate (push) Successful in 3m0s
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [harbor.alexlebens.net/images/site-profile](https://gitea.alexlebens.dev/alexlebens/site-profile ) | major | `2.25.0` → `3.0.0` |
---
### Release Notes
<details>
<summary>alexlebens/site-profile (harbor.alexlebens.net/images/site-profile)</summary>
### [`v3.0.0`](https://gitea.alexlebens.dev/alexlebens/site-profile/compare/2.25.0...3.0.0 )
[Compare Source](https://gitea.alexlebens.dev/alexlebens/site-profile/compare/2.25.0...3.0.0 )
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->
Reviewed-on: #4628
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-03-11 06:25:20 +00:00
1c03121d81
chore(deps): update ghcr.io/linuxserver/prowlarr:2.3.0 docker digest to 9ef5d8b ( #4627 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 10s
renovate / renovate (push) Successful in 3m26s
2026-03-11 06:02:48 +00:00
8a828db5a6
chore(deps): update d3fk/s3cmd:latest docker digest to a41234c ( #4623 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 10s
renovate / renovate (push) Successful in 2m35s
2026-03-11 04:03:28 +00:00
fe1332a37f
chore(deps): update ghcr.io/linuxserver/lidarr:3.1.2-nightly docker digest to 2b1b64f ( #4624 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Has been cancelled
renovate / renovate (push) Has been cancelled
2026-03-11 04:03:18 +00:00
0c807bfdf8
chore(deps): update ghcr.io/linuxserver/bazarr:1.5.6 docker digest to 05f9d5b ( #4620 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 29s
render-manifests-dispatch / render-manifests-dispatch (push) Has started running
renovate / renovate (push) Successful in 2m50s
2026-03-10 22:04:30 +00:00
66ea9f6e9d
feat: fix service
lint-test-helm / lint-helm (push) Successful in 26s
render-manifests-push / render-manifests-push (push) Successful in 39s
renovate / renovate (push) Successful in 4m1s
2026-03-10 16:21:08 -05:00
bb2eb87f04
feat: add movie-routelette
lint-test-docker / lint-docker-compose (push) Successful in 18s
lint-test-helm / lint-helm (push) Successful in 29s
render-manifests-push / render-manifests-push (push) Successful in 51s
renovate / renovate (push) Successful in 2m46s
2026-03-10 16:05:21 -05:00
fc4489c280
chore(deps): update goharbor/harbor-exporter docker tag to v2.14.3 ( #4605 )
...
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 22s
renovate / renovate (push) Successful in 2m5s
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| goharbor/harbor-exporter | patch | `v2.14.2` → `v2.14.3` |
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiYXV0b21lcmdlIiwiaW1hZ2UiXX0=-->
Reviewed-on: #4605
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-03-10 20:15:39 +00:00
bba5b244a4
chore(deps): update goharbor/registry-photon docker tag to v2.14.3 ( #4610 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 28s
renovate / renovate (push) Successful in 2m12s
2026-03-10 20:12:04 +00:00
a9222afe69
chore(deps): update goharbor/harbor-registryctl docker tag to v2.14.3 ( #4609 )
lint-test-helm / lint-helm (push) Has been cancelled
render-manifests-push / render-manifests-push (push) Has been cancelled
renovate / renovate (push) Has been cancelled
2026-03-10 20:12:00 +00:00
b5984a21c3
chore(deps): update goharbor/harbor-portal docker tag to v2.14.3 ( #4608 )
lint-test-helm / lint-helm (push) Has been cancelled
render-manifests-push / render-manifests-push (push) Has been cancelled
renovate / renovate (push) Has been cancelled
2026-03-10 20:11:36 +00:00
4083a71d11
chore(deps): update goharbor/harbor-jobservice docker tag to v2.14.3 ( #4607 )
renovate / renovate (push) Has been cancelled
2026-03-10 20:11:28 +00:00
d909ba3edd
chore(deps): update goharbor/harbor-jobservice docker tag to v2.14.3 ( #4607 )
lint-test-helm / lint-helm (push) Has been cancelled
render-manifests-push / render-manifests-push (push) Has been cancelled
renovate / renovate (push) Has been cancelled
2026-03-10 20:11:21 +00:00
f95e1987cf
chore(deps): update goharbor/harbor-core docker tag to v2.14.3 ( #4604 )
lint-test-helm / lint-helm (push) Has been cancelled
render-manifests-push / render-manifests-push (push) Has been skipped
renovate / renovate (push) Has been cancelled
2026-03-10 20:10:59 +00:00
9a9198fa40
chore(deps): update ghcr.io/siderolabs/talosctl docker tag to v1.12.5 ( #4603 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Has been cancelled
renovate / renovate (push) Has been cancelled
2026-03-10 20:10:45 +00:00
fd4e5349f8
chore(deps): update dependency goharbor/harbor to v2.14.3 ( #4602 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 15s
renovate / renovate (push) Has been cancelled
2026-03-10 20:10:18 +00:00
b5ecdf7cc9
chore(deps): update gitroomhq/postiz-app to v2.20.2 ( #4600 )
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 26s
renovate / renovate (push) Successful in 2m23s
2026-03-10 19:27:38 +00:00
def594a753
chore(deps): update vectorim/element-web docker tag to v1.12.12 ( #4596 )
...
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 14s
renovate / renovate (push) Has been cancelled
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [vectorim/element-web](https://github.com/element-hq/element-web ) | patch | `v1.12.11` → `v1.12.12` |
---
### Release Notes
<details>
<summary>element-hq/element-web (vectorim/element-web)</summary>
### [`v1.12.12`](https://github.com/element-hq/element-web/releases/tag/v1.12.12 )
[Compare Source](https://github.com/element-hq/element-web/compare/v1.12.11...v1.12.12 )
#### ✨ Features
- Add stable support for MSC4380 invite blocking ([#​31966](https://github.com/element-hq/element-web/pull/31966 )). Contributed by [@​richvdh](https://github.com/richvdh ).
- Hide the names of banned users behind a spoiler tag ([#​32424](https://github.com/element-hq/element-web/pull/32424 )). Contributed by [@​andybalaam](https://github.com/andybalaam ).
- Room list: remove bold effect on selected room ([#​32593](https://github.com/element-hq/element-web/pull/32593 )). Contributed by [@​florianduros](https://github.com/florianduros ).
- Use Compound buttons in auth screens ([#​32562](https://github.com/element-hq/element-web/pull/32562 )). Contributed by [@​t3chguy](https://github.com/t3chguy ).
- Track room list sorting algorithm changes ([#​32556](https://github.com/element-hq/element-web/pull/32556 )). Contributed by [@​MidhunSureshR](https://github.com/MidhunSureshR ).
- Update `sso_redirect_options` to work for Native OIDC ([#​32537](https://github.com/element-hq/element-web/pull/32537 )). Contributed by [@​t3chguy](https://github.com/t3chguy ).
#### 🐛 Bug Fixes
- Room list: avoid excessive re-renders on room list store update or filter change ([#​32663](https://github.com/element-hq/element-web/pull/32663 )). Contributed by [@​florianduros](https://github.com/florianduros ).
- Room list: listen to call event to check number of participants ([#​32677](https://github.com/element-hq/element-web/pull/32677 )). Contributed by [@​florianduros](https://github.com/florianduros ).
- Fix invite-specific join errors not being shown ([#​32621](https://github.com/element-hq/element-web/pull/32621 )). Contributed by [@​Half-Shot](https://github.com/Half-Shot ).
- Prevent logging lots of "Browser unsupported" lines ([#​32647](https://github.com/element-hq/element-web/pull/32647 )). Contributed by [@​Half-Shot](https://github.com/Half-Shot ).
- Update critical gradient for room status bar ([#​32575](https://github.com/element-hq/element-web/pull/32575 )). Contributed by [@​Half-Shot](https://github.com/Half-Shot ).
- Room list: avoid header overflowing when too long ([#​32645](https://github.com/element-hq/element-web/pull/32645 )). Contributed by [@​florianduros](https://github.com/florianduros ).
- Room list: center focus outline of room list item ([#​32637](https://github.com/element-hq/element-web/pull/32637 )). Contributed by [@​florianduros](https://github.com/florianduros ).
- Fix misaligned cross in complete security dialog ([#​32614](https://github.com/element-hq/element-web/pull/32614 )). Contributed by [@​dbkr](https://github.com/dbkr ).
- Room list: fix keyboard navigation ([#​32585](https://github.com/element-hq/element-web/pull/32585 )). Contributed by [@​florianduros](https://github.com/florianduros ).
- Don't show empty privacy section ([#​32582](https://github.com/element-hq/element-web/pull/32582 )). Contributed by [@​dbkr](https://github.com/dbkr ).
- Disable room list image dragging ([#​32590](https://github.com/element-hq/element-web/pull/32590 )). Contributed by [@​florianduros](https://github.com/florianduros ).
- Update UserMenu theme toggle to use IconButton ([#​32591](https://github.com/element-hq/element-web/pull/32591 )). Contributed by [@​t3chguy](https://github.com/t3chguy ).
- Room list: make room list item scales with large font size ([#​32523](https://github.com/element-hq/element-web/pull/32523 )). Contributed by [@​florianduros](https://github.com/florianduros ).
</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 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:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiYXV0b21lcmdlIiwiaW1hZ2UiXX0=-->
Reviewed-on: #4596
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-03-10 19:24:51 +00:00
3ed423c486
chore(deps): update dependency rancher/local-path-provisioner to v0.0.35 ( #4585 )
...
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 13s
renovate / renovate (push) Has been cancelled
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [rancher/local-path-provisioner](https://github.com/rancher/local-path-provisioner ) | patch | `v0.0.34` → `v0.0.35` |
---
### Release Notes
<details>
<summary>rancher/local-path-provisioner (rancher/local-path-provisioner)</summary>
### [`v0.0.35`](https://github.com/rancher/local-path-provisioner/releases/tag/v0.0.35 ): Local Path Provisioner v0.0.35
[Compare Source](https://github.com/rancher/local-path-provisioner/compare/v0.0.34...v0.0.35 )
#### What's Changed
- Add FOSSA scanning workflow by [@​macedogm](https://github.com/macedogm ) in [#​551](https://github.com/rancher/local-path-provisioner/pull/551 )
- Build linux/ppc64le images through build on GitHub Actions by [@​kishen-v](https://github.com/kishen-v ) in [#​554](https://github.com/rancher/local-path-provisioner/pull/554 )
- updated golang to 1.26.0 by [@​jgoodall](https://github.com/jgoodall ) in [#​557](https://github.com/rancher/local-path-provisioner/pull/557 )
- feat: Allow custom node affinity keys by [@​ipantchev](https://github.com/ipantchev ) in [#​559](https://github.com/rancher/local-path-provisioner/pull/559 )
- chore: update golang to 1.26.1 by [@​derekbit](https://github.com/derekbit ) in [#​561](https://github.com/rancher/local-path-provisioner/pull/561 )
- chore(release): bump to v0.0.35 by [@​derekbit](https://github.com/derekbit ) in [#​562](https://github.com/rancher/local-path-provisioner/pull/562 )
#### New Contributors
- [@​macedogm](https://github.com/macedogm ) made their first contribution in [#​551](https://github.com/rancher/local-path-provisioner/pull/551 )
- [@​jgoodall](https://github.com/jgoodall ) made their first contribution in [#​557](https://github.com/rancher/local-path-provisioner/pull/557 )
- [@​ipantchev](https://github.com/ipantchev ) made their first contribution in [#​559](https://github.com/rancher/local-path-provisioner/pull/559 )
**Full Changelog**: <https://github.com/rancher/local-path-provisioner/compare/v0.0.34...v0.0.35 >
</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:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiYXV0b21lcmdlIiwiaW1hZ2UiXX0=-->
Reviewed-on: #4585
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net >
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net >
2026-03-10 19:24:26 +00:00