diff --git a/CHANGELOG.md b/CHANGELOG.md
index f81cffb4..1ff6c7da 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,11 @@
# Changelog
+## v0.10.1 - 2026-08-12
+
+### Fixed
+
+- Fixed replication slot creation failing on Postgres 16.15, 17.11, 18.6, and newer minor versions by automatically setting `output_plugin_libraries` to allow `spock_output`.
+
## v0.10.0 - 2026-07-24
### Added
diff --git a/api/apiv1/gen/control_plane/service.go b/api/apiv1/gen/control_plane/service.go
index f9f6c622..ffda432b 100644
--- a/api/apiv1/gen/control_plane/service.go
+++ b/api/apiv1/gen/control_plane/service.go
@@ -86,7 +86,7 @@ type Service interface {
const APIName = "control-plane"
// APIVersion is the version of the API as defined in the design.
-const APIVersion = "v0.10.0"
+const APIVersion = "v0.10.1"
// ServiceName is the name of the service as defined in the design. This is the
// same value that is set in the endpoint request contexts under the ServiceKey
diff --git a/api/apiv1/gen/http/openapi.json b/api/apiv1/gen/http/openapi.json
index 75659d89..954bfbae 100644
--- a/api/apiv1/gen/http/openapi.json
+++ b/api/apiv1/gen/http/openapi.json
@@ -3,7 +3,7 @@
"info": {
"title": "pgEdge Control Plane v1 API",
"description": "A distributed application that provides a declarative API to deploy and manage Postgres databases.",
- "version": "v0.10.0"
+ "version": "v0.10.1"
},
"host": "localhost:3000",
"consumes": [
diff --git a/api/apiv1/gen/http/openapi.yaml b/api/apiv1/gen/http/openapi.yaml
index 2c04ffd2..099fe3a6 100644
--- a/api/apiv1/gen/http/openapi.yaml
+++ b/api/apiv1/gen/http/openapi.yaml
@@ -2,7 +2,7 @@ swagger: "2.0"
info:
title: pgEdge Control Plane v1 API
description: A distributed application that provides a declarative API to deploy and manage Postgres databases.
- version: v0.10.0
+ version: v0.10.1
host: localhost:3000
consumes:
- application/json
diff --git a/api/apiv1/gen/http/openapi3.json b/api/apiv1/gen/http/openapi3.json
index b8803dc6..b5f30f49 100644
--- a/api/apiv1/gen/http/openapi3.json
+++ b/api/apiv1/gen/http/openapi3.json
@@ -3,7 +3,7 @@
"info": {
"title": "pgEdge Control Plane v1 API",
"description": "A distributed application that provides a declarative API to deploy and manage Postgres databases.",
- "version": "v0.10.0"
+ "version": "v0.10.1"
},
"servers": [
{
diff --git a/api/apiv1/gen/http/openapi3.yaml b/api/apiv1/gen/http/openapi3.yaml
index f991894d..efa04d9a 100644
--- a/api/apiv1/gen/http/openapi3.yaml
+++ b/api/apiv1/gen/http/openapi3.yaml
@@ -2,7 +2,7 @@ openapi: 3.0.3
info:
title: pgEdge Control Plane v1 API
description: A distributed application that provides a declarative API to deploy and manage Postgres databases.
- version: v0.10.0
+ version: v0.10.1
servers:
- url: http://localhost:3000
paths:
diff --git a/api/version.txt b/api/version.txt
index f78dc365..aedc9ddc 100644
--- a/api/version.txt
+++ b/api/version.txt
@@ -1 +1 @@
-v0.10.0
\ No newline at end of file
+v0.10.1
\ No newline at end of file
diff --git a/changes/unreleased/Fixed-20260812-123144.yaml b/changes/unreleased/Fixed-20260812-123144.yaml
deleted file mode 100644
index 19646490..00000000
--- a/changes/unreleased/Fixed-20260812-123144.yaml
+++ /dev/null
@@ -1,3 +0,0 @@
-kind: Fixed
-body: Fixed replication slot creation failing on Postgres 16.15, 17.11, 18.6, and newer minor versions by automatically setting `output_plugin_libraries` to allow `spock_output`.
-time: 2026-08-12T12:31:44.954828+05:30
diff --git a/changes/v0.10.1.md b/changes/v0.10.1.md
new file mode 100644
index 00000000..ddf70a8e
--- /dev/null
+++ b/changes/v0.10.1.md
@@ -0,0 +1,5 @@
+## v0.10.1 - 2026-08-12
+
+### Fixed
+
+- Fixed replication slot creation failing on Postgres 16.15, 17.11, 18.6, and newer minor versions by automatically setting `output_plugin_libraries` to allow `spock_output`.
diff --git a/docs/api/openapi.md b/docs/api/openapi.md
index 64ceb812..4a7e49d2 100644
--- a/docs/api/openapi.md
+++ b/docs/api/openapi.md
@@ -7,7 +7,7 @@ The Control Plane server serves a JSON OpenAPI v3 specification from the
You can also access offline copies of the OpenAPI specification in the pgEdge Control Plane repository. We generate a few versions of the specification to accommodate different tools and use cases:
-- [OpenAPI v3 YAML](https://github.com/pgEdge/control-plane/blob/v0.10.0/api/apiv1/gen/http/openapi3.yaml)
-- [OpenAPI v3 JSON](https://github.com/pgEdge/control-plane/blob/v0.10.0/api/apiv1/gen/http/openapi3.json)
-- [OpenAPI v2 YAML](https://github.com/pgEdge/control-plane/blob/v0.10.0/api/apiv1/gen/http/openapi.yaml)
-- [OpenAPI v2 JSON](https://github.com/pgEdge/control-plane/blob/v0.10.0/api/apiv1/gen/http/openapi.json)
\ No newline at end of file
+- [OpenAPI v3 YAML](https://github.com/pgEdge/control-plane/blob/v0.10.1/api/apiv1/gen/http/openapi3.yaml)
+- [OpenAPI v3 JSON](https://github.com/pgEdge/control-plane/blob/v0.10.1/api/apiv1/gen/http/openapi3.json)
+- [OpenAPI v2 YAML](https://github.com/pgEdge/control-plane/blob/v0.10.1/api/apiv1/gen/http/openapi.yaml)
+- [OpenAPI v2 JSON](https://github.com/pgEdge/control-plane/blob/v0.10.1/api/apiv1/gen/http/openapi.json)
\ No newline at end of file
diff --git a/docs/api/reference.md b/docs/api/reference.md
index 78cf3841..528e0bd5 100644
--- a/docs/api/reference.md
+++ b/docs/api/reference.md
@@ -34,4 +34,4 @@ hide:
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/docs/changelog.md b/docs/changelog.md
index 474501b5..1ff6c7da 100644
--- a/docs/changelog.md
+++ b/docs/changelog.md
@@ -1,5 +1,11 @@
# Changelog
+## v0.10.1 - 2026-08-12
+
+### Fixed
+
+- Fixed replication slot creation failing on Postgres 16.15, 17.11, 18.6, and newer minor versions by automatically setting `output_plugin_libraries` to allow `spock_output`.
+
## v0.10.0 - 2026-07-24
### Added
@@ -23,6 +29,8 @@
- 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
diff --git a/docs/development/e2e-tests.md b/docs/development/e2e-tests.md
index 8826a5d5..08cda887 100644
--- a/docs/development/e2e-tests.md
+++ b/docs/development/e2e-tests.md
@@ -395,7 +395,7 @@ specifying `FIXTURE_CONTROL_PLANE_IMAGE` with the
`{deploy,update,reset}-{lima,ec2}-fixture` targets. For example:
```sh
-make update-lima-fixture FIXTURE_CONTROL_PLANE_IMAGE='ghcr.io/pgedge/control-plane:v0.10.0-rc.1'
+make update-lima-fixture FIXTURE_CONTROL_PLANE_IMAGE='ghcr.io/pgedge/control-plane:v0.10.1-rc.1'
```
### Fixture variants
diff --git a/docs/installation/mtls.md b/docs/installation/mtls.md
index ee3ef89e..665c45e8 100644
--- a/docs/installation/mtls.md
+++ b/docs/installation/mtls.md
@@ -65,7 +65,7 @@ For example, if you've placed the certificates in a `/opt/pgedge/control-plane`
```yaml
services:
host-1:
- image: ghcr.io/pgedge/control-plane:v0.10.0
+ image: ghcr.io/pgedge/control-plane:v0.10.1
command: run
environment:
- PGEDGE_HOST_ID=host-1
@@ -225,7 +225,7 @@ Now that our certificates are available on each machine, we can update our stack
```yaml
services:
host-1:
- image: ghcr.io/pgedge/control-plane:v0.10.0
+ image: ghcr.io/pgedge/control-plane:v0.10.1
command: run
environment:
- PGEDGE_HOST_ID=host-1
@@ -249,7 +249,7 @@ services:
constraints:
- node.id==81kw1zwmh9y8hk4rd7igylry0
host-2:
- image: ghcr.io/pgedge/control-plane:v0.10.0
+ image: ghcr.io/pgedge/control-plane:v0.10.1
command: run
environment:
- PGEDGE_HOST_ID=host-2
@@ -270,7 +270,7 @@ services:
constraints:
- node.id==xz7069ytbdq7uzd2tvrj2wlf2
host-3:
- image: ghcr.io/pgedge/control-plane:v0.10.0
+ image: ghcr.io/pgedge/control-plane:v0.10.1
command: run
environment:
- PGEDGE_HOST_ID=host-3
diff --git a/docs/installation/swarm-installation.md b/docs/installation/swarm-installation.md
index 60fb2f22..76b27012 100644
--- a/docs/installation/swarm-installation.md
+++ b/docs/installation/swarm-installation.md
@@ -103,7 +103,7 @@ Given that output, the following stack definition file will deploy a single Cont
```yaml
services:
host-1:
- image: ghcr.io/pgedge/control-plane:v0.10.0
+ image: ghcr.io/pgedge/control-plane:v0.10.1
command: run
environment:
- PGEDGE_HOST_ID=host-1
@@ -118,7 +118,7 @@ services:
constraints:
- node.id==vzou89zyd4n3xz6p6jvoohqxx
host-2:
- image: ghcr.io/pgedge/control-plane:v0.10.0
+ image: ghcr.io/pgedge/control-plane:v0.10.1
command: run
environment:
- PGEDGE_HOST_ID=host-2
@@ -133,7 +133,7 @@ services:
constraints:
- node.id==5sa7m11ub62t1n22feuhg0mbp
host-3:
- image: ghcr.io/pgedge/control-plane:v0.10.0
+ image: ghcr.io/pgedge/control-plane:v0.10.1
command: run
environment:
- PGEDGE_HOST_ID=host-3
@@ -196,7 +196,7 @@ For example:
```yaml
host-4:
- image: ghcr.io/pgedge/control-plane:v0.10.0
+ image: ghcr.io/pgedge/control-plane:v0.10.1
command: run
environment:
- PGEDGE_HOST_ID=host-4
@@ -232,7 +232,7 @@ Paste the output below and click "Generate Stack." This generator is fully local
-
+
``` yaml {#global-output}
# Once submitted, the generated stack will appear here.
@@ -261,7 +261,7 @@ mounted file:
```yaml
services:
control-plane-host-1:
- image: ghcr.io/pgedge/control-plane:v0.10.0
+ image: ghcr.io/pgedge/control-plane:v0.10.1
environment:
- PGEDGE_DOCKER_SWARM__MANIFEST_PATH=/etc/pgedge/version-manifest.json
volumes:
diff --git a/docs/installation/swarm-upgrading.md b/docs/installation/swarm-upgrading.md
index 33e8108c..1b16fe29 100644
--- a/docs/installation/swarm-upgrading.md
+++ b/docs/installation/swarm-upgrading.md
@@ -5,11 +5,11 @@ Plane. The Control Plane version is specified in the image property of the [stac
```yaml
services:
host-1:
- image: ghcr.io/pgedge/control-plane:v0.10.0
+ image: ghcr.io/pgedge/control-plane:v0.10.1
```
You can *pin* to a specific version by including a version in the `image`
-fields in your service specification, such as `ghcr.io/pgedge/control-plane:v0.10.0`.
+fields in your service specification, such as `ghcr.io/pgedge/control-plane:v0.10.1`.
If you do not include a version, Docker will pull the `ghcr.io/pgedge/control-plane:latest` tag by default.