CloudNativePG
v1.29.2Storage & DataA maintenance release with security fixes, stricter validation, compatibility updates for newer Kubernetes versions, and a changed PostgreSQL default. It also addresses correctness issues across cluster operations, backups, plugins, and resource handling.
Check if affected (4)
securitycriticalPinned
search_pathon pooled connectionsApplies if you use pooled connections.
The operator now pins
search_pathtopg_catalog, public, pg_tempon every pooled connection. This addresses CVE-2026-55769 and GHSA-x8c2-3p4r-v9r6.securityhigh
SCRAM-SHA-256encoding for cleartext role passwordsApplies if you configure
cnpg..io/passwordPassthrough The operator now encodes cleartext role passwords with
SCRAM-SHA-256before issuingCREATEorALTER ROLE .. This addresses CVE-2026-55765 and GHSA-w3gf-xc94-wvmj.. . PASSWORD securityValidating webhook rejection and write-site checks
Applies if you use the values that are rejected by the validating webhook.
The validating webhook now rejects these values, and the write site checks them again.
breakingImmutable
clusterreferencesApplies if you use the
clusterreference onDatabase,Pooler,Publication,Subscription, orScheduledBackupresources.The
clusterreference is now immutable onDatabase,Pooler,Publication,Subscription, andScheduledBackupresources.
Plan ahead (1)
deprecatedNative (in-tree) Barman Cloud support removal noticeremoval planned in 1.31.0
Applies if you use native (in-tree) Barman Cloud support.
The deprecation notice now states that native (in-tree) Barman Cloud support will be removed in CloudNativePG 1.31.0 instead of 1.30.0.
All 38 other recorded changesfixes 31 · additions 3 · value changes 3 · constraints 1
fixes (31)
- Fixed
spec.accepting keys that are not valid PostgreSQL parameter namespostgresql. parameters - Fixed declarative
Database,Publication, andSubscriptionobjects reporting a stale primary-side status forever after their cluster was demoted to a replica - Fixed non-sequential pod names (for example
-1,-3) caused by the instance serial counter being advanced before the correspondingJoband PVCs were created - Fixed a switchover deadlock when a WAL-archiver plugin was enabled on an existing cluster
- Fixed a cluster staying in
Setting up primaryindefinitely when the instance-creation Job exhausted its backoff limit - Fixed deletion of a
Database,Publication, orSubscriptiongetting stuck inTerminatingon a replica cluster - Fixed a conflicting duplicate
DatabaseorSubscriptionwith adeletereclaim policy dropping the PostgreSQL object owned by the surviving CR - Fixed the
postgressuperuser being left locked out after superuser access was disabled and then re-enabled - Fixed backups getting stuck in the
startedphase when the instance manager running them was restarted - Fixed
exec/attachstreaming to negotiate WebSocket with a SPDY fallback - Fixed resource leaks when concurrent
Backupobjects raced - Fixed role reconciliation clearing the password on a PostgreSQL role when the referenced Secret could not be fetched
- Fixed a bootstrap failure where a metrics-exporter setup error
- Fixed a
ScheduledBackupcontroller loop that occurred when aBackupwas created but its status patch never landed - Fixed a nil-pointer panic when reconciling a
PoolerwhoseClusterhas been deleted. - Fixed bootstrap log handling so that all named log pipes (
postgres,postgres., andcsv postgres.) get consumersjson - Fixed generation of invalid IPv6 URLs by wrapping the address in square brackets.
- Fixed an external cluster plugin still being treated as active when its configuration set
enabled: false. - Fixed a race during bootstrap recovery from an object store where the restore job could read a stale
Cluster - Fixed a cache race during cluster creation when the server and client CA resolve to the same Secret
- Fixed the
pg_basebackupbootstrap path overwriting or failing on a pre-existingPGDATA - Fixed the
Clusterphase flapping betweenHealthyand a plugin-failure phase - Fixed stale certificate data and partial reads after an external server's Secret was rotated
- Fixed plugin connectivity to use the plugin
ServiceFQDN instead of its short name - Fixed a first-primary bootstrap deadlock where a status-patch conflict after the data PVC was created but before the initialization Job was started
- Fixed a backup getting stuck in
pendingforever - Fixed a declarative
VolumeSnapshotbackup being permanently marked as failed - Fixed a volume snapshot backup being discarded on a transient instance-manager connection error
- Fixed a replica switchover losing its
status.demotionToken - Fixed
kubectl cnpg psqlon Windows - Fixed an unbounded memory leak in
kubectl cnpg logs -fon busy clusters
additions (3)
- Enabled
pg_upgradein-place major upgrades to PostgreSQL 19 or later for clusters that use Image Volume extensions - Added a label selector to the
Clusterscale subresource (status.)selector - The operator now emits a
WarningPrimaryStatusCheckFailedevent on theCluster
value changes (3)
- The operator now reloads a CNPG-i plugin automatically when its pods are rolled
- Updated the default PostgreSQL version to 18.4.
- Fixed excessive operator log noise from the per-request
Clustercreate/update validation webhook messages, now logged atdebuginstead ofinfo.
constraints (1)
- Added support for Kubernetes 1.36.
A weekly email arrives when a release needs action. Like the security patches and breaking changes in this release.