Skip to content

Releases: haneeshpld/cloudnative-pg

Release list

v1.25.0

Choose a tag to compare

@github-actions github-actions released this 27 Feb 07:27

Release Date: December 23, 2024

Features

  • Declarative Database Management: Introduce the Database Custom Resource Definition (CRD), enabling users to create and manage PostgreSQL databases declaratively within a cluster. (cloudnative-pg#5325)

  • Logical Replication Management: Add Publication and Subscription CRDs for declarative management of PostgreSQL logical replication. These simplify replication setup and facilitate online migrations to CloudNativePG. (cloudnative-pg#5329)

  • Experimental Support for CNPG-I: Introducing CNPG-I (CloudNativePG Interface), a standardized framework designed to extend CloudNativePG functionality through third-party plugins and foster the growth of the CNPG ecosystem. The Barman Cloud Plugin serves as a live example, illustrating how plugins can be developed to enhance backup and recovery workflows. Although CNPG-I support is currently experimental, it offers a powerful approach to extending CloudNativePG without modifying the operator’s core code—akin to PostgreSQL extensions. We welcome community feedback and contributions to shape this exciting new capability.

Enhancements

  • Add the dataDurability option to the .spec.postgresql.synchronous stanza, allowing users to choose between required (default) or preferred durability in synchronous replication. (cloudnative-pg#5878)
  • Enable customization of startup, liveness, and readiness probes through the .spec.probes stanza. (cloudnative-pg#6266)
  • Support additional pg_dump and pg_restore options to enhance database import flexibility. (cloudnative-pg#6214)
  • Add support for maxConcurrentReconciles in the CloudNativePG controller and set the default to 10, improving the operator's ability to efficiently manage larger deployments out of the box. (cloudnative-pg#5678)
  • Add the cnpg.io/userType label to secrets generated for predefined users, specifically superuser and app. (cloudnative-pg#4392)
  • Improved validation for the spec.schedule field in ScheduledBackups, raising warnings for potential misconfigurations. (cloudnative-pg#5396)
  • cnpg plugin:

Bug Fixes

  • Ensure the former primary flushes its WAL file queue to the archive before re-synchronizing as a replica, reducing recovery times and enhancing data consistency during failovers. (cloudnative-pg#6141)
  • Clean the WAL volume along with the PGDATA volume during bootstrap. (cloudnative-pg#6265)
  • Update the operator to set the cluster phase to Unrecoverable when all previously generated PersistentVolumeClaims are missing. (cloudnative-pg#6170)
  • Fix the parsing of the synchronous_standby_names GUC when .spec.postgresql.synchronous.method is set to first. (cloudnative-pg#5955)
  • Resolved a potential race condition when patching certain conditions in CRD statuses, improving reliability in concurrent updates. (cloudnative-pg#6328)
  • Correct role changes to apply at the transaction level instead of the database context. (cloudnative-pg#6064)
  • Remove the primary_slot_name definition from the override.conf file on the primary to ensure it is always empty. (cloudnative-pg#6219)
  • Configure libpq environment variables, including PGHOST, in PgBouncer pods to enable seamless access to the pgbouncer virtual database using psql from within the container. (cloudnative-pg#6247)
  • Remove unnecessary updates to the Cluster status when verifying changes in the image catalog. (cloudnative-pg#6277)
  • Prevent panic during recovery from an external server without proper backup configuration. (cloudnative-pg#6300)
  • Resolved a key collision issue in structured logs, where the name field was inconsistently used to log two distinct values. (cloudnative-pg#6324)
  • Ensure proper quoting of the inRoles field in SQL statements to prevent syntax errors in generated SQL during role management. (cloudnative-pg#6346)
  • cnpg plugin:

Supported Versions

  • Kubernetes: 1.32, 1.31, 1.30, and 1.29
  • PostgreSQL: 17, 16, 15, 14, and 13
    • Default image: PostgreSQL 17.2
    • Officially dropped support for PostgreSQL 12
    • PostgreSQL 13 support ends on November 12, 2025