diff --git a/CHANGELOG.md b/CHANGELOG.md
index d0ce9a2b..f73c2680 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -9,6 +9,20 @@ Changes for the upcoming release can be found in [changelog.d](https://github.co
+
+## 4.5.0 (2023-09-12)
+
+### New features
+
+- Add `list_namespaced_custom_object` with watch support to the Kubernetes mock.
+- Add watch, field selector, and label selector support to `list_namespace` in the Kubernetes mock.
+
+### Bug fixes
+
+- The Kubernetes mock now correctly maintains the resource version of `Ingress`, `Job`, and `Service` objects, since they support watches which rely on resource versions.
+- When creating a `Pod` from a `Job` in the Kubernetes mock using `generateName`, randomize the `Pod` name like Kubernetes does rather than using a fixed name. This forces tests to scan correctly for pods associated with a job. If the `Pod` `name` or `generateName` was explicitly configured in the `Job` template, honor it.
+- `read_namespace` and `list_namespace` in the Kubernetes mock now only return namespace objects that have been explicitly created, not implicit namespaces created by creating another object without making a namespace first. This more closely matches the behavior of Kubernetes while still making it easy to use the mock in a test environment simulating a pre-existing namespace.
+
## 4.4.0 (2023-09-07)
diff --git a/changelog.d/20230908_143247_rra_DM_40691.md b/changelog.d/20230908_143247_rra_DM_40691.md
deleted file mode 100644
index 4c55b850..00000000
--- a/changelog.d/20230908_143247_rra_DM_40691.md
+++ /dev/null
@@ -1,3 +0,0 @@
-### New features
-
-- Add `list_namespaced_custom_object` with watch support to the Kubernetes mock.
diff --git a/changelog.d/20230908_150940_rra_DM_40691.md b/changelog.d/20230908_150940_rra_DM_40691.md
deleted file mode 100644
index 92109f9a..00000000
--- a/changelog.d/20230908_150940_rra_DM_40691.md
+++ /dev/null
@@ -1,3 +0,0 @@
-### Bug fixes
-
-- The Kubernetes mock now correctly maintains the resource version of `Ingress`, `Job`, and `Service` objects, since they support watches which rely on resource versions.
diff --git a/changelog.d/20230908_152325_rra_DM_40691_queue.md b/changelog.d/20230908_152325_rra_DM_40691_queue.md
deleted file mode 100644
index a48b6165..00000000
--- a/changelog.d/20230908_152325_rra_DM_40691_queue.md
+++ /dev/null
@@ -1,3 +0,0 @@
-### Bug fixes
-
-- When creating a `Pod` from a `Job` in the Kubernetes mock using `generateName`, randomize the `Pod` name like Kubernetes does rather than using a fixed name. This forces tests to scan correctly for pods associated with a job. If the `Pod` `name` or `generateName` was explicitly configured in the `Job` template, honor it.
diff --git a/changelog.d/20230912_145508_rra_DM_40691.md b/changelog.d/20230912_145508_rra_DM_40691.md
deleted file mode 100644
index 3bdbcf5f..00000000
--- a/changelog.d/20230912_145508_rra_DM_40691.md
+++ /dev/null
@@ -1,7 +0,0 @@
-### New features
-
-- Add watch, field selector, and label selector support to `list_namespace` in the Kubernetes mock.
-
-### Bug fixes
-
-- `read_namespace` and `list_namespace` in the Kubernetes mock now only return namespace objects that have been explicitly created, not implicit namespaces created by creating another object without making a namespace first. This more closely matches the behavior of Kubernetes while still making it easy to use the mock in a test environment simulating a pre-existing namespace.