Skip to content

Release 4.3 - #28

Open
SuJinpei wants to merge 9 commits into
masterfrom
release-4.3
Open

Release 4.3#28
SuJinpei wants to merge 9 commits into
masterfrom
release-4.3

Conversation

@SuJinpei

@SuJinpei SuJinpei commented Apr 18, 2026

Copy link
Copy Markdown
Contributor

Summary by CodeRabbit

  • Documentation

    • Expanded PostgreSQL version support from 14/16 to 13, 14, 15, and 16
    • Added v4.3.0 release notes documenting RBAC improvements, cross-cluster replication stability enhancements, and reliability fixes
    • Added lifecycle policy documentation
    • Added new guide for assigning PostgreSQL RBAC roles via Kubernetes
    • Added compatibility matrix and upgrade path guidance
  • Chores

    • Updated Yarn and development dependencies

SuJinpei and others added 3 commits April 17, 2026 13:05
- Add v4.3.0 release notes: PG 17 support, RBAC least-privilege,
  XCR stability, reliability fixes, build/security hardening
- Add JIRA query templates for v4.3.0 fixed/known issues in doom.config.yml
- Bump sites.yaml published version to 4.3
- Extend upgrade.mdx compatibility matrix to PG 13-17 for v4.3.x
- Add how_to/assign_postgres_rbac.mdx with RoleBinding examples
  for the five user-facing aggregated roles
- Update PG version references in intro, functions, and how_to to
  include PG 13-17 (PG 12 is end-of-life)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
PostgreSQL 17 support is not fully tested for v4.3.0 yet. Remove PG 17
references from release notes, intro, create-instance, backup/restore,
HA cluster, and upgrade compatibility matrix. Restore the lifecycle
policy page (present on release-4.2, missing on release-4.3) and add
the v4.3.x row.
@coderabbitai

coderabbitai Bot commented Apr 18, 2026

Copy link
Copy Markdown

Walkthrough

This PR updates the PostgreSQL operator documentation, tooling, and configuration for the v4.3.0 release. Changes include updating dependency versions (Yarn, TypeScript, @alauda/doom), expanding PostgreSQL version support documentation from versions 14/16 to 13/14/15/16, adding new documentation pages for RBAC role assignment and lifecycle policy, including v4.3.0 release notes, and updating configuration version from 4.2 to 4.3.

Changes

Cohort / File(s) Summary
Dependency and Tool Updates
.yarnrc.yml, package.json
Updated Yarn from v4.9.2 to v4.14.1, TypeScript from v5.9.2 to v6.0.3, and @alauda/doom from v1.10.9 to v2.2.0.
PostgreSQL Version Support Expansion
docs/en/functions/01_create_instance.mdx, docs/en/functions/15_back_restore.mdx, docs/en/how_to/configure_ha_cluster.mdx, docs/en/intro.mdx
Updated supported PostgreSQL versions from "14 and 16" to "13, 14, 15, and 16" across multiple documentation files.
New Documentation Pages
docs/en/how_to/assign_postgres_rbac.mdx, docs/en/lifecycle_policy.mdx
Added comprehensive guides for RBAC role assignment with examples and a lifecycle policy document defining support timelines for v4.3.x and v4.2.x versions.
Release Notes and Configuration
docs/en/release_notes.mdx, sites.yaml, doom.config.yml
Added v4.3.0 release notes section documenting RBAC, replication, and reliability improvements; updated site version from 4.2 to 4.3; added new release notes query templates for v4.3.0.
Architecture and Upgrade Documentation
docs/en/architecture.mdx, docs/en/upgrade.mdx
Added anchor identifier to RBAC Architecture heading and expanded upgrade documentation with compatibility matrix, release notes link, and explicit upgrade path guidance.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested reviewers

  • sinbadonline

Poem

🐰 Hops of joy for v4.3!
New versions dance: 13, 14, 15, 16 so free,
RBAC roles and lifecycle paths,
Yarn and tooling on faster paths,
The docs now shine, 'tis plain to see! 🎉

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The pull request title 'Release 4.3' directly and clearly summarizes the main objective—releasing version 4.3 across documentation and configuration files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch release-4.3

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (1)
docs/en/release_notes.mdx (1)

14-14: Document the breaking change from removing SkipRuntimeRBACCreation.

The removal of the SkipRuntimeRBACCreation configuration option is a breaking change. Users who previously relied on this option to disable runtime RBAC provisioning will be affected. Consider adding a migration note or upgrade caveat to help users prepare for this change.

📋 Suggested addition to document the breaking change

Add a "Breaking Changes" subsection before "New and Optimized Features":

### Breaking Changes

- **`SkipRuntimeRBACCreation` removed**: The operator now always provisions namespace-scoped `ServiceAccount` and `RoleBinding` resources at runtime. If you previously set `SkipRuntimeRBACCreation: true`, remove this configuration before upgrading. The operator will automatically create the required RBAC resources in each namespace where PostgreSQL CRs are deployed.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/en/release_notes.mdx` at line 14, The release notes fail to document the
breaking change caused by removing the SkipRuntimeRBACCreation option; update
docs/en/release_notes.mdx to add a "Breaking Changes" subsection (placed before
the "New and Optimized Features" section) that explicitly names
SkipRuntimeRBACCreation as removed, instructs users to remove any
SkipRuntimeRBACCreation: true setting before upgrading, and states that the
operator will now always create namespace-scoped ServiceAccount and RoleBinding
resources at runtime (reference RBAC Architecture and Assign PostgreSQL RBAC
Roles for more details).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/en/functions/15_back_restore.mdx`:
- Line 150: Update the PostgreSQL version example to include version 13 for
consistency with the compatibility matrix and other docs; locate the line
containing the text "Choose PostgreSQL Version (e.g., 14, 15, 16)" and change it
to include 13 (e.g., "13, 14, 15, 16") or, if 13 is intentionally unsupported,
add a brief note next to that string explaining why 13 is excluded.

In `@docs/en/upgrade.mdx`:
- Line 13: The warning on "PostgreSQL 11 and 12 have been removed. Please
upgrade to PostgreSQL 14, 15 or 16..." conflicts with the compatibility matrix
that lists "13, 14, 15, 16" for v4.3.x; reconcile them by either adding "13" to
the upgrade warning text or removing "13" from the compatibility matrix entry so
both match; update the exact strings in the doc (the warning sentence and the
compatibility matrix row for v4.3.x) so they state the same allowed PostgreSQL
versions.

---

Nitpick comments:
In `@docs/en/release_notes.mdx`:
- Line 14: The release notes fail to document the breaking change caused by
removing the SkipRuntimeRBACCreation option; update docs/en/release_notes.mdx to
add a "Breaking Changes" subsection (placed before the "New and Optimized
Features" section) that explicitly names SkipRuntimeRBACCreation as removed,
instructs users to remove any SkipRuntimeRBACCreation: true setting before
upgrading, and states that the operator will now always create namespace-scoped
ServiceAccount and RoleBinding resources at runtime (reference RBAC Architecture
and Assign PostgreSQL RBAC Roles for more details).
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: b000a81c-9761-4328-939a-6e88c92f258a

📥 Commits

Reviewing files that changed from the base of the PR and between f4aa564 and dd0197d.

⛔ Files ignored due to path filters (3)
  • .yarn/releases/yarn-4.14.1.cjs is excluded by !**/.yarn/**
  • .yarn/releases/yarn-4.9.2.cjs is excluded by !**/.yarn/**
  • yarn.lock is excluded by !**/yarn.lock, !**/*.lock
📒 Files selected for processing (13)
  • .yarnrc.yml
  • docs/en/architecture.mdx
  • docs/en/functions/01_create_instance.mdx
  • docs/en/functions/15_back_restore.mdx
  • docs/en/how_to/assign_postgres_rbac.mdx
  • docs/en/how_to/configure_ha_cluster.mdx
  • docs/en/intro.mdx
  • docs/en/lifecycle_policy.mdx
  • docs/en/release_notes.mdx
  • docs/en/upgrade.mdx
  • doom.config.yml
  • package.json
  • sites.yaml

- Enter Display Name
- Select Deploy Location
- Choose PostgreSQL Version (e.g., 14, 16).
- Choose PostgreSQL Version (e.g., 14, 15, 16).

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Inconsistent version list: PostgreSQL 13 is missing.

The example lists PostgreSQL versions "14, 15, 16" but excludes version 13. However, the v4.3.x Compatibility Matrix and other documentation pages (docs/en/intro.mdx, docs/en/functions/01_create_instance.mdx, docs/en/how_to/configure_ha_cluster.mdx) clearly state that PostgreSQL versions 13, 14, 15, and 16 are supported.

If version 13 is supported for restore operations, it should be included in this list for consistency. If there's a specific reason version 13 is not supported for restore, this should be documented.

📝 Suggested fix to include version 13
-       - Choose PostgreSQL Version (e.g., 14, 15, 16).
+       - Choose PostgreSQL Version (e.g., 13, 14, 15, 16).
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- Choose PostgreSQL Version (e.g., 14, 15, 16).
- Choose PostgreSQL Version (e.g., 13, 14, 15, 16).
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/en/functions/15_back_restore.mdx` at line 150, Update the PostgreSQL
version example to include version 13 for consistency with the compatibility
matrix and other docs; locate the line containing the text "Choose PostgreSQL
Version (e.g., 14, 15, 16)" and change it to include 13 (e.g., "13, 14, 15, 16")
or, if 13 is intentionally unsupported, add a brief note next to that string
explaining why 13 is excluded.

Comment thread docs/en/upgrade.mdx

:::warning
PostgreSQL 11 and 12 have been removed. Please upgrade to PostgreSQL 14 or 16 before upgrading Alauda support for PostgreSQL to v4.2.0.
PostgreSQL 11 and 12 have been removed. Please upgrade to PostgreSQL 14, 15 or 16 before upgrading Alauda support for PostgreSQL to v4.3.0.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Inconsistency between warning and compatibility matrix.

Line 13 instructs users to "upgrade to PostgreSQL 14, 15 or 16," but the compatibility matrix at line 20 shows v4.3.x supports PostgreSQL versions "13, 14, 15, 16" (including version 13).

If PostgreSQL 13 is supported in v4.3.0, the warning should mention it. If PostgreSQL 13 is intentionally excluded, the compatibility matrix should be corrected.

📝 Proposed fix to align the warning with the compatibility matrix
-PostgreSQL 11 and 12 have been removed. Please upgrade to PostgreSQL 14, 15 or 16 before upgrading Alauda support for PostgreSQL to v4.3.0.
+PostgreSQL 11 and 12 have been removed. Please upgrade to PostgreSQL 13, 14, 15 or 16 before upgrading Alauda support for PostgreSQL to v4.3.0.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
PostgreSQL 11 and 12 have been removed. Please upgrade to PostgreSQL 14, 15 or 16 before upgrading Alauda support for PostgreSQL to v4.3.0.
PostgreSQL 11 and 12 have been removed. Please upgrade to PostgreSQL 13, 14, 15 or 16 before upgrading Alauda support for PostgreSQL to v4.3.0.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/en/upgrade.mdx` at line 13, The warning on "PostgreSQL 11 and 12 have
been removed. Please upgrade to PostgreSQL 14, 15 or 16..." conflicts with the
compatibility matrix that lists "13, 14, 15, 16" for v4.3.x; reconcile them by
either adding "13" to the upgrade warning text or removing "13" from the
compatibility matrix entry so both match; update the exact strings in the doc
(the warning sentence and the compatibility matrix row for v4.3.x) so they state
the same allowed PostgreSQL versions.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Apr 18, 2026

Copy link
Copy Markdown

Deploying alauda-postgresql with  Cloudflare Pages  Cloudflare Pages

Latest commit: ff842e0
Status: ✅  Deploy successful!
Preview URL: https://adb0e183.alauda-postgresql.pages.dev
Branch Preview URL: https://release-4-3.alauda-postgresql.pages.dev

View logs

idp-bot and others added 6 commits May 15, 2026 08:44
- doom.config.yml: add mw-pg-v4.3.1-fixed / -known release-note query templates
  (fixVersion = PG-v4.3.1).
- release_notes.mdx: add v4.3.1 section — security/CVE remediation across operand
  images (incl. WAL-G pgx rebuild), Patroni 3.3 in-place major-upgrade fix, and
  RBAC project-admin role aggregation.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
docs(release-notes): add v4.3.1 release notes
* docs: v4.3.2 release notes — amd64 PG16 bg_mon startup fix (MIDDLEWARE-32461)

* docs: v4.3.2 -> v4.3.3 (v4.3.2 burned in release engineering, never shipped)

---------

Co-authored-by: Jinpei Su <jpsu@alauda.io>
…38)

* docs: v4.3.4 release notes — XCR demotion recovery + CVE remediation

Adds the v4.3.4 section: the cross-cluster switchover fix (a cluster
demoted to standby could not rejoin its pair without delete-and-recreate)
and the operand CVE remediation (672 findings -> 100, no High/Critical
remaining).

Also defines the mw-pg-v4.3.3-fixed / -known query templates, which
release_notes.mdx has referenced since v4.3.3 shipped but doom.config.yml
never defined.

All four new templates use versionMatch("PG-vX.Y.Z") rather than a literal
fixVersion: PG-v4.3.4 does not exist in JIRA yet, and a literal reference
fails the docs build with HTTP 400 "does not exist for the field
fixVersion". Verified against JIRA — versionMatch returns total=0 for the
missing version without erroring, and total=1 for PG-v4.3.3.

doom lint docs: 0 errors, 0 warnings.

* docs: cite the published advisory ASA-2026:00280 in the v4.3.4 security note

* docs: correct the v4.3.4 rewind claim and scope the security wording

Independent review (Codex) found two ship-blocking inaccuracies; both verified
against v4.3.4 source before changing the text.

1. The rewind warning. The notes said the operator warns "when a demotion can
   never rewind because both wal_log_hints and data checksums are disabled".
   pkg/repl/rewind.go does not and cannot do that: data checksums live in
   pg_controldata and are not visible there, so the code deliberately treats
   wal_log_hints alone as inconclusive and stays quiet. It warns only when
   Patroni reports use_pg_rewind=false. The closing sentence was also
   unconditional -- "deleting and recreating is no longer required" -- while the
   warning the code emits says the cluster "will need to be re-created from it
   by hand". Both now match shipped behaviour.

2. Security scope. "All PostgreSQL operand images were rebuilt" was false: the
   logical-backup image was not in this set. The rebuilt images are now named.
   672 and 100 are scan finding rows, not unique vulnerabilities, so they are
   described as reported findings, and the zero High/Critical statement is
   scoped to what the v4.3.4 scan reported.

Also softened the logical-backup known issue: the image can be mirrored or
overridden separately, so the failure is conditional rather than categorical.

doom lint docs: 0 errors, 0 warnings.

* docs: bound the v4.3.4 rejoin claim to what the code guarantees

Second independent review (Codex) on the previous fix commit: my correction
overcorrected into a new set of claims the source does not support.

1. "resolves peer information from the peer cluster" was too absolute.
   resolvePeerClusterInfo PREFERS the local copy and returns it directly when it
   is current and usable (pkg/repl/repl.go:555-604); it queries the peer only
   when the local copy errored, is stale, or cannot address the channel, and
   falls back to the local copy when the peer is unreachable.

2. Enabling the pg_rewind path is not a guarantee of rejoin. The text now says
   the cluster can rejoin via pg_rewind where its prerequisites hold, and states
   that other pg_rewind failures can still require manual recreation.

3. "the default" was unattributed. use_pg_rewind: true, wal_log_hints: on and
   initdb data-checksums are set by the SPILO image template
   (spilo v4.3.3 configure_spilo.py:200-206, 256-259), not guaranteed by the
   operator, so the sentence now attributes it to Spilo.

The staleness half of the sentence was verified accurate and is unchanged:
peerClusterInfoFromLocalDB compares against specOrRunning(c, pgSpec) precisely
because BeforeClusterUpdate runs before the new spec is installed
(pkg/repl/repl.go:498-520).

doom lint docs: 0 errors, 0 warnings.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants