diff --git a/CHANGELOG.md b/CHANGELOG.md
index fc756aee..c6953a72 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -9,6 +9,25 @@ Changes for the upcoming release can be found in [changelog.d](https://github.co
+
+## 6.0.0 (2024-06-10)
+
+### Backwards-incompatible changes
+
+- Drop `safir.database.create_sync_session`. This was only used by services that used Dramatiq for task management, since Dramatiq is sync-only. Services based on Safir should switch to arq and use only async database connections.
+- Drop `DatabaseSessionDependency.override_engine`. This was used for Gafaelfawr to share a database engine across all tests for speed, but this technique breaks with current versions of pytest-asyncio and is no longer used or safe to use.
+
+### New features
+
+- Allow the database password to be passed to `create_database_engine`, `create_sync_session`, and `DatabaseSessionDependency.initialize` as a Pydantic `SecretStr`.
+- Add new function `safir.datetime.parse_timedelta`, which parses a human-friendly syntax for specifying time durations into a Python `datetime.timedelta`.
+- Add support for `gs` URLs to `safir.gcs.SignedURLService`.
+- Support pickling of `SlackException` so that subclasses of it can be thrown by arq workers and unpickled correctly when retrieving results.
+
+### Bug fixes
+
+- Correctly honor the `default_queue_name` argument to `RedisArqQueue.initialize`.
+
## 5.2.2 (2024-03-15)
diff --git a/changelog.d/20240520_163147_rra_DM_44444.md b/changelog.d/20240520_163147_rra_DM_44444.md
deleted file mode 100644
index c863b37d..00000000
--- a/changelog.d/20240520_163147_rra_DM_44444.md
+++ /dev/null
@@ -1,3 +0,0 @@
-### New features
-
-- Allow the database password to be passed to `create_database_engine`, `create_sync_session`, and `DatabaseSessionDependency.initialize` as a Pydantic `SecretStr`.
diff --git a/changelog.d/20240521_152707_rra_DM_44444.md b/changelog.d/20240521_152707_rra_DM_44444.md
deleted file mode 100644
index 491a8bb4..00000000
--- a/changelog.d/20240521_152707_rra_DM_44444.md
+++ /dev/null
@@ -1,3 +0,0 @@
-### New features
-
-- Add new function `safir.datetime.parse_timedelta`, which parses a human-friendly syntax for specifying time durations into a Python `datetime.timedelta`.
diff --git a/changelog.d/20240530_173040_rra_DM_44606.md b/changelog.d/20240530_173040_rra_DM_44606.md
deleted file mode 100644
index d937a79c..00000000
--- a/changelog.d/20240530_173040_rra_DM_44606.md
+++ /dev/null
@@ -1,3 +0,0 @@
-### Backwards-incompatible changes
-
-- Drop `DatabaseSessionDependency.override_engine`. This was used for Gafaelfawr to share a database engine across all tests for speed, but this technique breaks with current versions of pytest-asyncio and is no longer used or safe to use.
diff --git a/changelog.d/20240605_152335_rra_DM_44606_queue.md b/changelog.d/20240605_152335_rra_DM_44606_queue.md
deleted file mode 100644
index 737f20ea..00000000
--- a/changelog.d/20240605_152335_rra_DM_44606_queue.md
+++ /dev/null
@@ -1,3 +0,0 @@
-### New features
-
-- Add support for `gs` URLs to `safir.gcs.SignedURLService`.
diff --git a/changelog.d/20240605_173149_rra_DM_44606_queue.md b/changelog.d/20240605_173149_rra_DM_44606_queue.md
deleted file mode 100644
index 923a7c5a..00000000
--- a/changelog.d/20240605_173149_rra_DM_44606_queue.md
+++ /dev/null
@@ -1,3 +0,0 @@
-### Bug fixes
-
-- Correctly honor the `default_queue_name` argument to `RedisArqQueue.initialize`.
diff --git a/changelog.d/20240607_112935_rra_DM_44720.md b/changelog.d/20240607_112935_rra_DM_44720.md
deleted file mode 100644
index acd8312c..00000000
--- a/changelog.d/20240607_112935_rra_DM_44720.md
+++ /dev/null
@@ -1,3 +0,0 @@
-### New features
-
-- Support pickling of `SlackException` so that subclasses of it can be thrown by arq workers and unpickled correctly when retrieving results.
diff --git a/changelog.d/20240610_113548_rra_DM_44758.md b/changelog.d/20240610_113548_rra_DM_44758.md
deleted file mode 100644
index b9669e01..00000000
--- a/changelog.d/20240610_113548_rra_DM_44758.md
+++ /dev/null
@@ -1,3 +0,0 @@
-### Backwards-incompatible changes
-
-- Drop `safir.database.create_sync_session`. This was only used by services that used Dramatiq for task management, since Dramatiq is sync-only. Services based on Safir should switch to arq and use only async database connections.