-
Notifications
You must be signed in to change notification settings - Fork 2
build(release): bump version to v0.10.0 #444
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
base: main
Are you sure you want to change the base?
Changes from 4 commits
64d96cd
e5c68fe
cb60852
d95ae68
b69d705
265e36a
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -64,17 +64,57 @@ nfpms: | |||||||||||
| scripts: | ||||||||||||
| postinstall: packaging/deb/postinstall.sh | ||||||||||||
| preremove: packaging/deb/preremove.sh | ||||||||||||
| # Every entry sets file_info.mode explicitly. Without it, nfpm stats the | ||||||||||||
| # source file as checked out on the builder and strips its own Umask | ||||||||||||
| # (defaults to 0o02) from that mode, so whatever mode the file happened to | ||||||||||||
| # have on the builder shipped in the packages (that's how group-writable | ||||||||||||
| # 0664 files ended up in prior builds). config.json is 0600 because it may | ||||||||||||
| # hold credentials and only the unit (which runs as root) needs to read it. | ||||||||||||
| contents: | ||||||||||||
| - src: packaging/pgedge-control-plane.service | ||||||||||||
| dst: /usr/lib/systemd/system/pgedge-control-plane.service | ||||||||||||
| type: config | ||||||||||||
| file_info: | ||||||||||||
| mode: 0644 | ||||||||||||
| - src: packaging/config.json | ||||||||||||
| dst: /etc/pgedge-control-plane/config.json | ||||||||||||
| type: config|noreplace | ||||||||||||
| file_info: | ||||||||||||
| mode: 0600 | ||||||||||||
| - src: .sbom/sbom.json | ||||||||||||
| dst: /usr/share/pgedge-control-plane/pgedge-control-plane-sbom.json | ||||||||||||
| file_info: | ||||||||||||
| mode: 0644 | ||||||||||||
| - src: ".sbom/sbom.{{ .Format }}.asc" | ||||||||||||
| dst: /usr/share/pgedge-control-plane/pgedge-control-plane-sbom.json.asc | ||||||||||||
| file_info: | ||||||||||||
| mode: 0644 | ||||||||||||
| # Docs and license, at the same paths for both formats. The 'doc' and | ||||||||||||
| # 'license' types add the %doc/%license markers to the rpm spec, but nfpm | ||||||||||||
| # drops content of those types from non-rpm packages, so the deb needs its | ||||||||||||
| # own plain-file entries (scoped with `packager` so each format gets | ||||||||||||
| # exactly one entry per path). | ||||||||||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I don't think this comment is correct. As CodeRabbit pointed out, Debian and RHEL have different conventional locations for licenses, and Goreleaser's nFPM docs don't mention
Suggested change
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Looks like the docs just haven't been updated — the actual
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Thanks for tracking that down! But the first part of the comment is now incorrect with your other changes:
It's not a big deal. We can just fix it in main and keep going with this release. |
||||||||||||
| - src: README.md | ||||||||||||
| dst: /usr/share/doc/pgedge-control-plane/README.md | ||||||||||||
| type: doc | ||||||||||||
|
jason-lynch marked this conversation as resolved.
|
||||||||||||
| packager: rpm | ||||||||||||
| file_info: | ||||||||||||
| mode: 0644 | ||||||||||||
| - src: README.md | ||||||||||||
| dst: /usr/share/doc/pgedge-control-plane/README.md | ||||||||||||
| packager: deb | ||||||||||||
| file_info: | ||||||||||||
| mode: 0644 | ||||||||||||
| - src: LICENSE.md | ||||||||||||
| dst: /usr/share/licenses/pgedge-control-plane/LICENSE.md | ||||||||||||
| type: license | ||||||||||||
|
jason-lynch marked this conversation as resolved.
|
||||||||||||
| packager: rpm | ||||||||||||
| file_info: | ||||||||||||
| mode: 0644 | ||||||||||||
| - src: LICENSE.md | ||||||||||||
| dst: /usr/share/doc/pgedge-control-plane/copyright | ||||||||||||
| packager: deb | ||||||||||||
| file_info: | ||||||||||||
| mode: 0644 | ||||||||||||
|
coderabbitai[bot] marked this conversation as resolved.
|
||||||||||||
| formats: [rpm] | ||||||||||||
| release: "1.el9" | ||||||||||||
| - <<: *nfpm_defaults | ||||||||||||
|
|
||||||||||||
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1 +1 @@ | ||
| v0.9.0 | ||
| v0.10.0 |
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,30 @@ | ||
| ## v0.10.0 - 2026-07-24 | ||
|
|
||
| ### Added | ||
|
|
||
| - The Control Plane now rejects database specs that remove `spock` from `postgresql_conf.shared_preload_libraries`, preventing accidental disabling of the replication extension. | ||
| - Added image upgrade support. Use `GET /v1/databases/{id}?include=available_upgrades` to list newer stable images within the same Postgres major and Spock major version bucket, and `POST /v1/databases/{id}/upgrade` to apply an upgrade without changing the Postgres major version. | ||
| - Added support for custom container image pinning per database or node via `orchestrator_opts.swarm.image`. pgEdge-formatted image tags are validated against the spec's declared versions; unrecognized tags are accepted without version checks. The Control Plane also persists the resolved image at creation time, preventing silent image changes during Control Plane upgrades. | ||
| - Version resolution is now fully manifest-driven. Supported versions update with manifest refreshes without requiring a Control Plane upgrade. | ||
| - The Control Plane now falls back to the first available IPv6 address when no IPv4 address is found during IP autodetection. | ||
| - Cancelling a task now propagates to any in-progress activities, interrupting long-running operations rather than waiting for them to complete. | ||
| - RPM and DEB packages are now published to the pgEdge dnf and apt repositories on every release, enabling installation via `dnf` and `apt-get` in addition to the existing Docker and binary distribution methods. | ||
| - Added support for Spock 5.0.10 on Postgres 16.14, 17.10, and 18.4. | ||
|
|
||
| ### Changed | ||
|
|
||
| - **Breaking:** Changed the default `password_encryption` from `md5` to `scram-sha-256`. If you're using the default password encryption, every role in a database's `database_users` will be automatically updated to `scram-sha-256` the next time you update that database. Roles created outside of `database_users` will need their passwords updated manually. To keep using `md5`, set `postgresql_conf.password_encryption` to `md5` in your database spec. | ||
|
|
||
| ### Fixed | ||
|
|
||
| - Fixed an issue where resources pending recreation were not correctly planned for creation in the right reconciliation phase, causing reconciliation errors. | ||
| - Fixed Patroni rejecting connections from IPv4 addresses presented as IPv4-mapped IPv6 addresses (e.g. `::ffff:192.168.1.1`) on dual-stack hosts. | ||
| - Fixed rolling updates failing on multi-node databases with replica instances due to replication slot timing during instance initialization. | ||
| - Fixed an issue where services configured with `"version": "latest"` failed at runtime because `"latest"` was not registered in the version map. | ||
| - The RPM and DEB packages now bundle the project documentation and license, installing `README.md` to `/usr/share/doc/pgedge-control-plane/` and `LICENSE.md` to `/usr/share/licenses/pgedge-control-plane/`. | ||
| - RPM and DEB packages now install files with explicit, deterministic permissions rather than inheriting the build machine's umask, which produced group-writable `0664` files. `/usr/lib/systemd/system/pgedge-control-plane.service` is now `0644` and `/etc/pgedge-control-plane/config.json` is now `0640`. | ||
|
|
||
| ### Security | ||
|
|
||
| - Update vulnerable dependencies (pgx v5.10.0, OpenTelemetry v1.44.0, golang.org/x/crypto v0.54.0, golang.org/x/net v0.57.0) and bump the Go toolchain to 1.26.5 to remediate Trivy-flagged CVEs in the control-plane image (PLAT-686). github.com/docker/docker CVE-2026-41567/CVE-2026-42306 have no fix in the v27.x line in use; risk-accepted in .trivy/pgedge-control-plane.trivyignore.yaml since the vulnerable docker-cp/archive-copy code paths are never invoked by this codebase. | ||
| - Fixed a SQL injection vulnerability in role attribute handling during database creation and updates. |
Uh oh!
There was an error while loading. Please reload this page.