diff --git a/CHANGELOG.md b/CHANGELOG.md index 518850d..4d0eaa2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.4.0] - 2026-09-14 + ### Added - **Azure Managed Identity Authentication**: Added support for Azure Database for PostgreSQL Flexible Server authentication using Microsoft Entra ID OAuth2 access tokens via Azure Workload Identity, VM-based Managed Identity, and Azure CLI. - **Dynamic Token Refresh**: Integrated with `pgxpool.Pool` via `BeforeConnect` to automatically acquire fresh tokens for scope `https://ossrdbms-aad.database.windows.net/.default` on every new connection, and periodically recycle pool connections with configurable `POSTGRES_MAX_CONN_LIFETIME`. @@ -14,6 +16,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - **Decoupled Schema Migrations**: Supported running migrations via Azure Managed Identity, an independently authenticated password DSN (`POSTGRES_MIGRATIONS_DSN`), or skipping startup migrations (`POSTGRES_RUN_MIGRATIONS=false`) for external jobs/pipelines (`POSTGRES_MIGRATE_ONLY=true`). - **Helm Chart Azure Workload Identity Support**: Added Helm values and templates for Azure Workload Identity, direct DSNs without static password secrets, and added `values-azure-workload-identity.yaml` example. +### Changed +- Updated Helm chart version and appVersion to `0.4.0`. +- Configured default container image in `docker-compose.yml` to `ghcr.io/autonomous-bits/spool-rack:0.4.0`. +- Updated binary version to `0.4.0`. + ## [0.3.0] - 2026-09-13 ### Added @@ -50,7 +57,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Seeded development environment with Docker Compose. - Health endpoint (`/healthz`) with contract and version diagnostics. -[Unreleased]: https://github.com/autonomous-bits/spool-rack/compare/v0.3.0...HEAD +[Unreleased]: https://github.com/autonomous-bits/spool-rack/compare/v0.4.0...HEAD +[0.4.0]: https://github.com/autonomous-bits/spool-rack/compare/v0.3.0...v0.4.0 [0.3.0]: https://github.com/autonomous-bits/spool-rack/compare/v0.2.0...v0.3.0 [0.2.0]: https://github.com/autonomous-bits/spool-rack/compare/v0.1.0...v0.2.0 [0.1.0]: https://github.com/autonomous-bits/spool-rack/releases/tag/v0.1.0 diff --git a/README.md b/README.md index c4a5eb4..e59ef02 100644 --- a/README.md +++ b/README.md @@ -123,7 +123,7 @@ kubectl -n spool-rack create secret generic spool-rack-postgres \ # 2. Install the chart helm upgrade --install spool-rack oci://ghcr.io/autonomous-bits/charts/spool-rack \ - --version 0.3.0 \ + --version 0.4.0 \ --namespace spool-rack \ --set postgres.dsnSecret.name=spool-rack-postgres ``` diff --git a/charts/spool-rack/Chart.yaml b/charts/spool-rack/Chart.yaml index 30a0918..17c7fbc 100644 --- a/charts/spool-rack/Chart.yaml +++ b/charts/spool-rack/Chart.yaml @@ -2,8 +2,8 @@ apiVersion: v2 name: spool-rack description: A Helm chart for the Spool Rack server type: application -version: 0.3.0 -appVersion: "0.3.0" +version: 0.4.0 +appVersion: "0.4.0" annotations: org.opencontainers.image.source: https://github.com/autonomous-bits/spool-rack org.opencontainers.image.description: Helm chart for Spool Rack server diff --git a/charts/spool-rack/README.md b/charts/spool-rack/README.md index 7342701..ee5ea28 100644 --- a/charts/spool-rack/README.md +++ b/charts/spool-rack/README.md @@ -20,7 +20,7 @@ Install directly from the published OCI registry: ```bash helm upgrade --install spool-rack oci://ghcr.io/autonomous-bits/charts/spool-rack \ - --version 0.3.0 \ + --version 0.4.0 \ --namespace spool-rack \ --set postgres.dsnSecret.name=spool-rack-postgres ``` diff --git a/cmd/spool-rack/main.go b/cmd/spool-rack/main.go index dbe9743..a559a5a 100644 --- a/cmd/spool-rack/main.go +++ b/cmd/spool-rack/main.go @@ -21,7 +21,7 @@ const ( ) var ( - version = "0.3.0" + version = "0.4.0" ) func main() { diff --git a/cmd/spool-rack/main_test.go b/cmd/spool-rack/main_test.go index 0bbcc96..dec170f 100644 --- a/cmd/spool-rack/main_test.go +++ b/cmd/spool-rack/main_test.go @@ -82,7 +82,7 @@ func TestResolveMigrationUser(t *testing.T) { } func TestVersion(t *testing.T) { - if version != "0.3.0" { - t.Errorf("version = %q, want 0.3.0", version) + if version != "0.4.0" { + t.Errorf("version = %q, want 0.4.0", version) } } diff --git a/docker-compose.yml b/docker-compose.yml index 6ea3ad6..6d5ac2c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,6 +1,6 @@ services: spool-rack: - image: ${SPOOL_RACK_IMAGE:-ghcr.io/autonomous-bits/spool-rack:0.3.0} + image: ${SPOOL_RACK_IMAGE:-ghcr.io/autonomous-bits/spool-rack:0.4.0} build: context: . dockerfile: Dockerfile diff --git a/infra/README.md b/infra/README.md index f93408e..b1fcc45 100644 --- a/infra/README.md +++ b/infra/README.md @@ -43,7 +43,7 @@ kubectl -n spool-rack create secret generic spool-rack-postgres \ From the published OCI registry: ```bash helm upgrade --install spool-rack oci://ghcr.io/autonomous-bits/charts/spool-rack \ - --version 0.3.0 \ + --version 0.4.0 \ --namespace spool-rack \ --set postgres.dsnSecret.name=spool-rack-postgres ``` diff --git a/infra/charts/spool-rack/Chart.yaml b/infra/charts/spool-rack/Chart.yaml index 30a0918..17c7fbc 100644 --- a/infra/charts/spool-rack/Chart.yaml +++ b/infra/charts/spool-rack/Chart.yaml @@ -2,8 +2,8 @@ apiVersion: v2 name: spool-rack description: A Helm chart for the Spool Rack server type: application -version: 0.3.0 -appVersion: "0.3.0" +version: 0.4.0 +appVersion: "0.4.0" annotations: org.opencontainers.image.source: https://github.com/autonomous-bits/spool-rack org.opencontainers.image.description: Helm chart for Spool Rack server diff --git a/infra/charts/spool-rack/README.md b/infra/charts/spool-rack/README.md index 7342701..ee5ea28 100644 --- a/infra/charts/spool-rack/README.md +++ b/infra/charts/spool-rack/README.md @@ -20,7 +20,7 @@ Install directly from the published OCI registry: ```bash helm upgrade --install spool-rack oci://ghcr.io/autonomous-bits/charts/spool-rack \ - --version 0.3.0 \ + --version 0.4.0 \ --namespace spool-rack \ --set postgres.dsnSecret.name=spool-rack-postgres ```