-
Notifications
You must be signed in to change notification settings - Fork 40
docs: announcement for release 1.30.0rc1 #449
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
gbartolini
wants to merge
3
commits into
main
Choose a base branch
from
dev/448
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+117
−1
Open
Changes from all commits
Commits
Show all changes
3 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file added
BIN
+442 KB
...ses/cloudnative-pg-1-30.0-rc1-released/58364dde1adc4a0a8.37186404-2048x1445.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
116 changes: 116 additions & 0 deletions
116
content/releases/cloudnative-pg-1-30.0-rc1-released/index.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,116 @@ | ||
| --- | ||
| title: "CloudNativePG 1.30.0 RC1 Released!" | ||
| date: 2026-06-19 | ||
| draft: false | ||
| authors: | ||
| - gbartolini | ||
| image: | ||
| url: 58364dde1adc4a0a8.37186404-2048x1445.jpg | ||
| attribution: from <a href="https://wordpress.org/photos/photo/58364dde1a/">Saurabh</a> | ||
| tags: | ||
| - release | ||
| - postgresql | ||
| - postgres | ||
| - kubernetes | ||
| - k8s | ||
| - cloudnativepg | ||
| - preview | ||
| - cnpg | ||
| - DatabaseRole | ||
| - primaryLease | ||
| - high-availability | ||
| - security | ||
| - GitOps | ||
| - PgBouncer | ||
| - ImageCatalogs | ||
| summary: "The CloudNativePG community is excited to announce the first release candidate of CloudNativePG 1.30! This preview introduces the DatabaseRole CRD for declarative, GitOps-friendly role management and a Lease-based primary election primitive for safer failover. Join us in testing these updates to shape the final release." | ||
| --- | ||
|
|
||
| The CloudNativePG Community is thrilled to announce the first release candidate | ||
| of CloudNativePG 1.30! This preview release provides an opportunity to explore | ||
| new features and enhancements before the final version is officially launched. | ||
| While refinements may still occur, here's a look at what's new. | ||
|
|
||
| ## Key Features | ||
|
|
||
| ### DatabaseRole CRD for declarative role management | ||
|
|
||
| The headline addition in 1.30 is the new | ||
| [`DatabaseRole`](https://cloudnative-pg.io/docs/preview/declarative_role_management/#the-databaserole-resource) | ||
| custom resource, which manages a PostgreSQL role as a standalone Kubernetes | ||
| object rather than inline in the `Cluster`'s `.spec.managed.roles` stanza. Each | ||
| role now has its own lifecycle, status and RBAC, which suits GitOps workflows | ||
| and lets role definitions live next to the applications that own them. Migrating | ||
| an existing role is simply a matter of moving its stanza into a dedicated | ||
| manifest. | ||
|
|
||
| A `DatabaseRole` can also include a `clientCertificate` block, having the | ||
| operator automatically generate and renew a TLS client certificate signed by | ||
| the cluster's client CA and stored in a `<databaserole-name>-client-cert` | ||
| Secret. This enables password-free PostgreSQL `cert` authentication, with the | ||
| Secret cleaned up automatically when the feature is disabled or the resource is | ||
| deleted. | ||
|
|
||
| ### Primary Lease for safe primary election | ||
|
|
||
| CloudNativePG 1.30 introduces a Kubernetes `Lease` object, named after the | ||
| cluster, that acts as a mutex serializing primary promotion. The instance | ||
| manager must hold the lease before acting as primary and releases it on clean | ||
| shutdown, so replicas can promote without waiting for the full TTL. Timings are | ||
| configurable through the new | ||
| [`.spec.primaryLease`](https://cloudnative-pg.io/docs/preview/failover/#tuning-the-primary-lease) | ||
| stanza. | ||
|
|
||
| To be precise about the architecture: the lease is a promotion gate, not a | ||
| fence. Primary isolation remains responsible for fencing — the Lease simply | ||
| closes the window for an uncoordinated promotion during transitions. | ||
|
|
||
| ## There's More… | ||
|
|
||
| Explore other improvements in this release, including: | ||
|
|
||
| - **In-place major upgrades with Image Volume extensions** — `pg_upgrade` | ||
| in-place upgrades are now supported for clusters using Image Volume | ||
| extensions, mounting the source- and target-version extension images side by | ||
| side so a failed upgrade reverts cleanly. | ||
| - **PgBouncer image management via Image Catalogs** — the `Pooler` can now | ||
| reference an `ImageCatalog` or `ClusterImageCatalog` entry through | ||
| `spec.pgbouncer.imageCatalogRef`, with referencing `Poolers` automatically | ||
| reconciled and rolled out when a catalog entry changes. | ||
| - **TLS for the Pooler metrics endpoint** via `.spec.monitoring.tls.enabled`, | ||
| with hot certificate reloading on every handshake. | ||
| - **Cluster as a VPA/HPA target** through a new `status.selector` on the scale | ||
| subresource, mapping a `Cluster` to its instance pods. | ||
|
|
||
| This release also adds support for Kubernetes 1.36 and updates the default | ||
| PostgreSQL version to 18.4. | ||
|
|
||
| > **Heads-up on an API change:** the `cluster` reference is now immutable on the | ||
| > `Database`, `Pooler`, `Publication`, `Subscription` and `ScheduledBackup` | ||
| > resources. Re-pointing one of these at a different cluster is now rejected by a | ||
| > CEL validation rule at the API server, as it had no well-defined semantics. | ||
|
|
||
| Dive into the full details in the | ||
| [release notes for 1.30 RC1](https://cloudnative-pg.io/docs/preview/release_notes/v1.30/). | ||
|
|
||
| ## Testing | ||
|
|
||
| The stability of each CloudNativePG release relies on the community's | ||
| engagement. Testing your workloads with this release candidate helps identify | ||
| bugs and regressions early. | ||
|
|
||
| - View the [open issues for the 1.30 release](https://github.com/cloudnative-pg/cloudnative-pg/milestones). | ||
| - Report bugs directly on [GitHub](https://github.com/cloudnative-pg/cloudnative-pg/issues/new/choose). | ||
|
|
||
| ## Release Timeline | ||
|
|
||
| This is the first release candidate for CloudNativePG 1.30. Further candidates | ||
| will be released only as necessary before the final launch, currently planned | ||
| before the end of June. | ||
|
|
||
| ## Join the Community | ||
|
|
||
| [Connect with our community on your preferred platform](https://github.com/cloudnative-pg#getting-in-touch)! | ||
|
|
||
| Thank you for your continued support of CloudNativePG. Your contributions help | ||
| us advance the Kubernetes-native PostgreSQL experience. | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
RBAC?