@@ -11,6 +11,119 @@ For a complete list of changes, please refer to the
1111[ commits] ( https://github.com/cloudnative-pg/cloudnative-pg/commits/release-1.27 )
1212on the release branch in GitHub.
1313
14+ ## Version 1.27.3
15+
16+ ** Release date:** Feb 5, 2026
17+
18+ ### Enhancements
19+
20+ - Added support for Azure's ` DefaultAzureCredential ` authentication mechanism
21+ for backup and recovery operations. This can be enabled by setting
22+ ` azureCredentials.useDefaultAzureCredentials: true ` in the backup
23+ configuration, simplifying authentication in Azure environments without
24+ requiring explicit storage account keys or SAS tokens.
25+ ([ #9468 ] ( https://github.com/cloudnative-pg/cloudnative-pg/pull/9468 ) ) <!-- 1.27 1.25 -->
26+
27+ - Added support for PostgreSQL extension names containing underscores (e.g.,
28+ ` pg_ivm ` , ` pg_stat_statements ` ). Extension names with underscores are
29+ automatically sanitized to use hyphens for Kubernetes volume names while
30+ preserving the original name in mount paths. Webhook validation prevents
31+ naming conflicts after sanitization. Contributed by @shusaan .
32+ ([ #9386 ] ( https://github.com/cloudnative-pg/cloudnative-pg/pull/9386 ) ) <!-- 1.27 -->
33+
34+ ### Fixes
35+
36+ - Fixed a critical issue where the ` TimelineID ` in the cluster status was not
37+ reset to 1 after a major version upgrade. Because ` pg_upgrade ` initializes a
38+ new timeline, keeping the old ID (e.g., timeline 2) caused replicas to attempt
39+ to restore incompatible history files from object storage, leading to fatal
40+ "requested timeline is not a child of this server's history" errors.
41+ ([ #9830 ] ( https://github.com/cloudnative-pg/cloudnative-pg/pull/9830 ) ) <!-- 1.27 -->
42+
43+ - Fixed a bug where replicas could enter a crash-loop by attempting to download
44+ timeline history files from future timelines. This occurred when stale files
45+ remained in the WAL archive from a previous cluster life, and replicas would
46+ incorrectly try to fetch them during recovery.
47+ ([ #9650 ] ( https://github.com/cloudnative-pg/cloudnative-pg/pull/9650 ) ) <!-- 1.27 1.25 -->
48+
49+ - Fixed a race condition in ` replica_cluster ` setups during designated primary
50+ transitions, preventing transient "no primary" states in the replica cluster.
51+ ([ #9601 ] ( https://github.com/cloudnative-pg/cloudnative-pg/pull/9601 ) ) <!-- 1.27 1.25 -->
52+
53+ - The backup controller now uses the unique instance session ID to detect
54+ instance manager restarts. This prevents the operator from incorrectly
55+ assuming a backup is still progressing if the underlying container has crashed
56+ and restarted, which previously led to orphaned backup objects.
57+ ([ #9370 ] ( https://github.com/cloudnative-pg/cloudnative-pg/pull/9370 ) ) <!-- 1.27 -->
58+
59+ - Fixed a validation gap in Azure object store configurations where the
60+ ` storageAccount ` was not required when using explicit credentials (such as a
61+ storage key or SAS token). The operator now enforces that a storage account
62+ name is provided in these cases and that ` connectionString ` is mutually
63+ exclusive with other authentication parameters.
64+ ([ #9604 ] ( https://github.com/cloudnative-pg/cloudnative-pg/pull/9604 ) ) <!-- 1.27 1.25 -->
65+
66+ - Optimized the deletion path so the operator begins cleaning up resources
67+ immediately when a cluster is marked for deletion. This significantly reduces
68+ the time a cluster remains in ` Terminating ` status while waiting for internal
69+ reconciliation loops.
70+ ([ #9555 ] ( https://github.com/cloudnative-pg/cloudnative-pg/pull/9555 ) ) <!-- 1.27 1.25 -->
71+
72+ - Fixed an issue where replication slots were not properly dropped from
73+ replicas when the feature was disabled or the cluster was reconfigured.
74+ This ensures that unused slots do not cause WAL build-up on the primary.
75+ ([ #9381 ] ( https://github.com/cloudnative-pg/cloudnative-pg/pull/9381 ) ) <!-- 1.27 1.25 -->
76+
77+ - Fixed an issue where ` imagePullSecrets ` were not added to the ` ServiceAccount `
78+ created for the ` Pooler ` . Previously, these secrets were applied to the
79+ Deployment but not the SA, which caused image pull failures in restricted
80+ environments using certain security policies.
81+ ([ #9427 ] ( https://github.com/cloudnative-pg/cloudnative-pg/pull/9427 ) ) <!-- 1.27 1.25 -->
82+
83+ - Added a check to verify ownership before the operator deletes a ` PodMonitor ` .
84+ This prevents the operator from accidentally deleting manually managed
85+ monitoring resources that happen to share a name with expected CNPG
86+ resources. Contributed by @juliamertz .
87+ ([ #9340 ] ( https://github.com/cloudnative-pg/cloudnative-pg/pull/9340 ) ) <!-- 1.27 1.25 -->
88+
89+ - Fixed a bug where ` pg_stat_archiver ` metrics would continue to report stale
90+ data on standby instances after a switchover. The exporter now skips these
91+ metrics on standbys, as PostgreSQL only provides valid archiver stats on the
92+ primary.
93+ ([ #9411 ] ( https://github.com/cloudnative-pg/cloudnative-pg/pull/9411 ) ) <!-- 1.27 1.25 -->
94+
95+ - Clarified the interpretation of timestamp formats for recovery ` targetTime ` .
96+ Timestamps provided without an explicit timezone are now consistently
97+ interpreted as UTC. Contributed by @pchovelon .
98+ ([ #8937 ] ( https://github.com/cloudnative-pg/cloudnative-pg/pull/8937 ) ) <!-- 1.27 1.25 -->
99+
100+ - Fixed backup status updates to prevent "resource has been modified" errors
101+ during concurrent updates.
102+ ([ #9551 ] ( https://github.com/cloudnative-pg/cloudnative-pg/pull/9551 ) ) <!-- 1.27 1.25 -->
103+
104+ - Fixed event reporting to use the correct pod name when a backup pod is not
105+ found.
106+ ([ #9552 ] ( https://github.com/cloudnative-pg/cloudnative-pg/pull/9552 ) ) <!-- 1.27 1.25 -->
107+
108+ - Improved performance of scheduled backup operations for clusters with a very
109+ high number of historical backups.
110+ ([ #9489 ] ( https://github.com/cloudnative-pg/cloudnative-pg/pull/9489 ) ) <!-- 1.27 1.25 -->
111+
112+ - Fixed error handling when removing finalizers on ` Database ` objects.
113+ ([ #9431 ] ( https://github.com/cloudnative-pg/cloudnative-pg/pull/9431 ) ) <!-- 1.27 1.25 -->
114+
115+ - ` cnpg ` plugin:
116+
117+ - Updated the ` status ` command to display "Disabled" when the
118+ ` skipWalArchiving ` annotation is present on a cluster. This replaces
119+ confusing "starting up" or "unknown" states when WAL archiving is
120+ intentionally bypassed.
121+ ([ #9709 ] ( https://github.com/cloudnative-pg/cloudnative-pg/pull/9709 ) ) <!-- 1.27 1.25 -->
122+
123+ - Fixed the ` logs --follow ` command to continue polling for new pods instead
124+ of exiting prematurely when all current log streams complete.
125+ ([ #9599 ] ( https://github.com/cloudnative-pg/cloudnative-pg/pull/9599 ) ) <!-- 1.27 1.25 -->
126+
14127## Version 1.27.2
15128
16129** Release date:** Dec 9, 2025
0 commit comments