diff --git a/README.md b/README.md
index 91221e3dfd..d2544f5e42 100644
--- a/README.md
+++ b/README.md
@@ -1,12 +1,13 @@
# Ouroboros Consensus
-[![consensus](https://img.shields.io/badge/ouroboros--consensus-0.21.0.0-blue)](https://chap.intersectmbo.org/package/ouroboros-consensus-0.21.0.0/)
-[![diffusion](https://img.shields.io/badge/ouroboros--consensus--diffusion-0.18.0.0-blue)](https://chap.intersectmbo.org/package/ouroboros-consensus-diffusion-0.18.0.0/)
-[![protocol](https://img.shields.io/badge/ouroboros--consensus--protocol-0.9.0.2-blue)](https://chap.intersectmbo.org/package/ouroboros-consensus-protocol-0.9.0.2/)
-[![cardano](https://img.shields.io/badge/ouroboros--consensus--cardano-0.20.0.0-blue)](https://chap.intersectmbo.org/package/ouroboros-consensus-cardano-0.20.0.0/)
+[![consensus](https://img.shields.io/badge/ouroboros--consensus-0.22.0.0-blue)](https://chap.intersectmbo.org/package/ouroboros-consensus-0.22.0.0/)
+[![diffusion](https://img.shields.io/badge/ouroboros--consensus--diffusion-0.19.0.0-blue)](https://chap.intersectmbo.org/package/ouroboros-consensus-diffusion-0.19.0.0/)
+[![protocol](https://img.shields.io/badge/ouroboros--consensus--protocol-0.10.0.0-blue)](https://chap.intersectmbo.org/package/ouroboros-consensus-protocol-0.10.0.0/)
+[![cardano](https://img.shields.io/badge/ouroboros--consensus--cardano-0.21.0.0-blue)](https://chap.intersectmbo.org/package/ouroboros-consensus-cardano-0.21.0.0/)
[![sop-extras](https://img.shields.io/badge/sop--extras-0.2.1.0-blue)](https://chap.intersectmbo.org/package/sop-extras-0.2.1.0/)
[![strict-sop-core](https://img.shields.io/badge/strict--sop--core-0.1.2.0-blue)](https://chap.intersectmbo.org/package/strict-sop-core-0.1.2.0/)
+
[![docs](https://img.shields.io/badge/Documentation-yellow)][webpage]
Implementation of the Ouroboros family of consensus algorithms.
diff --git a/ouroboros-consensus-cardano/CHANGELOG.md b/ouroboros-consensus-cardano/CHANGELOG.md
index bada3bce7a..ef897d1754 100644
--- a/ouroboros-consensus-cardano/CHANGELOG.md
+++ b/ouroboros-consensus-cardano/CHANGELOG.md
@@ -2,6 +2,62 @@
# Changelog entries
+
+## 0.21.0.0 — 2025-01-08
+
+### Patch
+
+- Adapted to removed `PraosParams` fields.
+
+- fixup NodeToClientV_19 mapping to ShelleyNodeToClientVersion11
+
+- Fixed a bug where a valid tx with less than `4` bytes less than the max tx
+ size would be incorrectly rejected by the mempool.
+
+* Use [`resource-registry`](https://hackage.haskell.org/package/resource-registry).
+
+### Non-Breaking
+
+- Remove references to `Ouroboros.Consensus.Fragment.InFuture`.
+- Adapt the code to account for the removed `cdbFutureBlocks` and related fields.
+
+- Updated to `ouroboros-network-0.14`, and `typed-protocols-0.3.0.0` as a consequence.
+- Updated to `ouroboros-network-api-0.11`, which introduced `NodeToClientV_19`.
+
+- Removed now-redundant hack in Babbage→Conway translation.
+
+- Depend on `network-mux` and use its types.
+
+### Breaking
+
+- Remove `CheckInFuture m blk` from `openChainDB`.
+
+- Changed `CardanoHardTriggers` to contain `CardanoHardForkTrigger`s which are a
+ simpler version of the previous `TriggerHardForkAt`. In particular, this will
+ affect call sites of `protocolInfoCardano`.
+
+ Migration notes:
+
+ - Change `TriggerHardForkAtEpoch` to `CardanoTriggerHardForkAtEpoch`.
+ - Change `TriggerHardForkAtVersion` to `CardanoTriggerHardForkAtDefaultVersion`.
+
+ This constructor does not take a version argument, but rather defaults to
+ the corresponding first ledger protocol version. We are not aware of any
+ use case that requires a different value, but if there is, it is still
+ possible to manually modify the returned `LedgerConfig`s of
+ `protocolInfoCardano` directly.
+
+- Added ShelleyNodeToClientVersion11 for GetBigLedgerPeerSnapshot query
+
+- Removed legacy (pre-Conway) diffusion pipelining scheme.
+
+- Changed `Ouroboros.Consensus.Cardano.CanHardFork` to expose
+ `crossEraForecastAcrossShelley`, in particular for testing.
+
+- Change the type of the `mkKeyHashVrf` function to use the new `VRFVerKeyHash` ledger type.
+
+- Remove versions before `NodeToClientV_16` from the `supportedNodeToClientVersions`.
+
## 0.20.0.0 — 2024-10-14
diff --git a/ouroboros-consensus-cardano/changelog.d/20240927_125151_damian.nadales_1260_remove_cdbFutureBlocks.md b/ouroboros-consensus-cardano/changelog.d/20240927_125151_damian.nadales_1260_remove_cdbFutureBlocks.md
deleted file mode 100644
index a6ed3391fe..0000000000
--- a/ouroboros-consensus-cardano/changelog.d/20240927_125151_damian.nadales_1260_remove_cdbFutureBlocks.md
+++ /dev/null
@@ -1,8 +0,0 @@
-### Breaking
-
-- Remove `CheckInFuture m blk` from `openChainDB`.
-
-### Non-Breaking
-
-- Remove references to `Ouroboros.Consensus.Fragment.InFuture`.
-- Adapt the code to account for the removed `cdbFutureBlocks` and related fields.
diff --git a/ouroboros-consensus-cardano/changelog.d/20241014_170244_alexander.esgen_cardano_hf_trigger.md b/ouroboros-consensus-cardano/changelog.d/20241014_170244_alexander.esgen_cardano_hf_trigger.md
deleted file mode 100644
index 98b680ebc7..0000000000
--- a/ouroboros-consensus-cardano/changelog.d/20241014_170244_alexander.esgen_cardano_hf_trigger.md
+++ /dev/null
@@ -1,16 +0,0 @@
-### Breaking
-
-- Changed `CardanoHardTriggers` to contain `CardanoHardForkTrigger`s which are a
- simpler version of the previous `TriggerHardForkAt`. In particular, this will
- affect call sites of `protocolInfoCardano`.
-
- Migration notes:
-
- - Change `TriggerHardForkAtEpoch` to `CardanoTriggerHardForkAtEpoch`.
- - Change `TriggerHardForkAtVersion` to `CardanoTriggerHardForkAtDefaultVersion`.
-
- This constructor does not take a version argument, but rather defaults to
- the corresponding first ledger protocol version. We are not aware of any
- use case that requires a different value, but if there is, it is still
- possible to manually modify the returned `LedgerConfig`s of
- `protocolInfoCardano` directly.
diff --git a/ouroboros-consensus-cardano/changelog.d/20241021_094824_coot_typed_protocols_new_api.md b/ouroboros-consensus-cardano/changelog.d/20241021_094824_coot_typed_protocols_new_api.md
deleted file mode 100644
index 8dd7a26b29..0000000000
--- a/ouroboros-consensus-cardano/changelog.d/20241021_094824_coot_typed_protocols_new_api.md
+++ /dev/null
@@ -1,4 +0,0 @@
-### Non-Breaking
-
-- Updated to `ouroboros-network-0.14`, and `typed-protocols-0.3.0.0` as a consequence.
-- Updated to `ouroboros-network-api-0.11`, which introduced `NodeToClientV_19`.
diff --git a/ouroboros-consensus-cardano/changelog.d/20241022_125701_alexander.esgen_simplify_praos_params.md b/ouroboros-consensus-cardano/changelog.d/20241022_125701_alexander.esgen_simplify_praos_params.md
deleted file mode 100644
index e72a4462d0..0000000000
--- a/ouroboros-consensus-cardano/changelog.d/20241022_125701_alexander.esgen_simplify_praos_params.md
+++ /dev/null
@@ -1,3 +0,0 @@
-### Patch
-
-- Adapted to removed `PraosParams` fields.
diff --git a/ouroboros-consensus-cardano/changelog.d/20241023_102416_crocodile-dentist_ledger_query_peer_snapshot.md b/ouroboros-consensus-cardano/changelog.d/20241023_102416_crocodile-dentist_ledger_query_peer_snapshot.md
deleted file mode 100644
index 68cc55cdc4..0000000000
--- a/ouroboros-consensus-cardano/changelog.d/20241023_102416_crocodile-dentist_ledger_query_peer_snapshot.md
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
-### Breaking
-
-- Added ShelleyNodeToClientVersion11 for GetBigLedgerPeerSnapshot query
diff --git a/ouroboros-consensus-cardano/changelog.d/20241024_182059_alexander.esgen_remove_legacy_pipelining.md b/ouroboros-consensus-cardano/changelog.d/20241024_182059_alexander.esgen_remove_legacy_pipelining.md
deleted file mode 100644
index a013dea165..0000000000
--- a/ouroboros-consensus-cardano/changelog.d/20241024_182059_alexander.esgen_remove_legacy_pipelining.md
+++ /dev/null
@@ -1,3 +0,0 @@
-### Breaking
-
-- Removed legacy (pre-Conway) diffusion pipelining scheme.
diff --git a/ouroboros-consensus-cardano/changelog.d/20241028_153011_alexander.esgen_shelley_cross_era_forecasting_cleanup.md b/ouroboros-consensus-cardano/changelog.d/20241028_153011_alexander.esgen_shelley_cross_era_forecasting_cleanup.md
deleted file mode 100644
index cd7a10f271..0000000000
--- a/ouroboros-consensus-cardano/changelog.d/20241028_153011_alexander.esgen_shelley_cross_era_forecasting_cleanup.md
+++ /dev/null
@@ -1,4 +0,0 @@
-### Breaking
-
-- Changed `Ouroboros.Consensus.Cardano.CanHardFork` to expose
- `crossEraForecastAcrossShelley`, in particular for testing.
diff --git a/ouroboros-consensus-cardano/changelog.d/20241030_190550_alexander.esgen_remove_babbage_conway_hfc_tick_hack.md b/ouroboros-consensus-cardano/changelog.d/20241030_190550_alexander.esgen_remove_babbage_conway_hfc_tick_hack.md
deleted file mode 100644
index 92cd815402..0000000000
--- a/ouroboros-consensus-cardano/changelog.d/20241030_190550_alexander.esgen_remove_babbage_conway_hfc_tick_hack.md
+++ /dev/null
@@ -1,3 +0,0 @@
-### Non-Breaking
-
-- Removed now-redundant hack in Babbage→Conway translation.
diff --git a/ouroboros-consensus-cardano/changelog.d/20241114_150147_crocodile-dentist.md b/ouroboros-consensus-cardano/changelog.d/20241114_150147_crocodile-dentist.md
deleted file mode 100644
index 1c03201edc..0000000000
--- a/ouroboros-consensus-cardano/changelog.d/20241114_150147_crocodile-dentist.md
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-### Patch
-
-- fixup NodeToClientV_19 mapping to ShelleyNodeToClientVersion11
-
-
-
diff --git a/ouroboros-consensus-cardano/changelog.d/20241128_174448_neilmayhew_release_srp.md b/ouroboros-consensus-cardano/changelog.d/20241128_174448_neilmayhew_release_srp.md
deleted file mode 100644
index 460c2a2c40..0000000000
--- a/ouroboros-consensus-cardano/changelog.d/20241128_174448_neilmayhew_release_srp.md
+++ /dev/null
@@ -1,3 +0,0 @@
-### Breaking
-
-- Change the type of the `mkKeyHashVrf` function to use the new `VRFVerKeyHash` ledger type.
diff --git a/ouroboros-consensus-cardano/changelog.d/20250107_124744_alexander.esgen_shelley_mempool_txsize_check.md b/ouroboros-consensus-cardano/changelog.d/20250107_124744_alexander.esgen_shelley_mempool_txsize_check.md
deleted file mode 100644
index ecbfd60025..0000000000
--- a/ouroboros-consensus-cardano/changelog.d/20250107_124744_alexander.esgen_shelley_mempool_txsize_check.md
+++ /dev/null
@@ -1,4 +0,0 @@
-### Patch
-
-- Fixed a bug where a valid tx with less than `4` bytes less than the max tx
- size would be incorrectly rejected by the mempool.
diff --git a/ouroboros-consensus-cardano/changelog.d/js-resourcereg.md b/ouroboros-consensus-cardano/changelog.d/js-resourcereg.md
deleted file mode 100644
index dce8a32365..0000000000
--- a/ouroboros-consensus-cardano/changelog.d/js-resourcereg.md
+++ /dev/null
@@ -1,3 +0,0 @@
-## Patch
-
-* Use [`resource-registry`](https://hackage.haskell.org/package/resource-registry).
diff --git a/ouroboros-consensus-cardano/changelog.d/js-versions.md b/ouroboros-consensus-cardano/changelog.d/js-versions.md
deleted file mode 100644
index f0ece4356d..0000000000
--- a/ouroboros-consensus-cardano/changelog.d/js-versions.md
+++ /dev/null
@@ -1,7 +0,0 @@
-### Breaking
-
-- Remove versions before `NodeToClientV_16` from the `supportedNodeToClientVersions`.
-
-### Non-Breaking
-
-- Depend on `network-mux` and use its types.
diff --git a/ouroboros-consensus-cardano/ouroboros-consensus-cardano.cabal b/ouroboros-consensus-cardano/ouroboros-consensus-cardano.cabal
index 38c9a0335c..a17cbf9f11 100644
--- a/ouroboros-consensus-cardano/ouroboros-consensus-cardano.cabal
+++ b/ouroboros-consensus-cardano/ouroboros-consensus-cardano.cabal
@@ -1,6 +1,6 @@
cabal-version: 3.0
name: ouroboros-consensus-cardano
-version: 0.20.0.0
+version: 0.21.0.0
synopsis:
The instantation of the Ouroboros consensus layer used by Cardano
@@ -157,8 +157,8 @@ library
microlens,
mtl,
nothunks,
- ouroboros-consensus ^>=0.21,
- ouroboros-consensus-protocol ^>=0.9,
+ ouroboros-consensus ^>=0.22,
+ ouroboros-consensus-protocol ^>=0.10,
ouroboros-network-api ^>=0.12,
serialise ^>=0.2,
small-steps,
@@ -201,7 +201,7 @@ library unstable-byronspec
containers >=0.5 && <0.8,
mtl,
nothunks,
- ouroboros-consensus ^>=0.21,
+ ouroboros-consensus ^>=0.22,
serialise ^>=0.2,
small-steps,
transformers,
@@ -551,11 +551,11 @@ library unstable-cardano-tools
network,
network-mux,
nothunks,
- ouroboros-consensus ^>=0.21,
+ ouroboros-consensus ^>=0.22,
ouroboros-consensus-cardano,
- ouroboros-consensus-diffusion ^>=0.18,
+ ouroboros-consensus-diffusion ^>=0.19,
ouroboros-consensus-protocol:unstable-protocol-testlib,
- ouroboros-consensus-protocol ^>=0.9,
+ ouroboros-consensus-protocol ^>=0.10,
ouroboros-network,
ouroboros-network-api,
ouroboros-network-framework ^>=0.15,
diff --git a/ouroboros-consensus-diffusion/CHANGELOG.md b/ouroboros-consensus-diffusion/CHANGELOG.md
index ae57dde8f7..456ed6eaee 100644
--- a/ouroboros-consensus-diffusion/CHANGELOG.md
+++ b/ouroboros-consensus-diffusion/CHANGELOG.md
@@ -2,6 +2,26 @@
# Changelog entries
+
+## 0.19.0.0 — 2025-01-08
+
+### Patch
+
+- Remove references to `Ouroboros.Consensus.Fragment.InFuture`.
+
+- Depend on `network-mux` from `ouroboros-network` and use its types.
+
+* Use [`resource-registry`](https://hackage.haskell.org/package/resource-registry).
+
+### Breaking
+
+- Adapted to Genesis-related changes in `ouroboros-consensus` ([#1179](https://github.com/IntersectMBO/ouroboros-consensus/pull/1179)).
+
+- Remove `CheckInFuture m blk` argument from `openChainDB`.
+
+- Updated to `typed-protocols-0.3.0.0`
+- Added `KeepAlive` tracer to `Tracers'` data type.
+
## 0.18.0.0 — 2024-10-14
diff --git a/ouroboros-consensus-diffusion/changelog.d/20240807_100458_alexander.esgen_milestone_1.md b/ouroboros-consensus-diffusion/changelog.d/20240807_100458_alexander.esgen_milestone_1.md
deleted file mode 100644
index 05f1db55a7..0000000000
--- a/ouroboros-consensus-diffusion/changelog.d/20240807_100458_alexander.esgen_milestone_1.md
+++ /dev/null
@@ -1,3 +0,0 @@
-### Breaking
-
-- Adapted to Genesis-related changes in `ouroboros-consensus` ([#1179](https://github.com/IntersectMBO/ouroboros-consensus/pull/1179)).
diff --git a/ouroboros-consensus-diffusion/changelog.d/20240927_131047_damian.nadales_1260_remove_cdbFutureBlocks.md b/ouroboros-consensus-diffusion/changelog.d/20240927_131047_damian.nadales_1260_remove_cdbFutureBlocks.md
deleted file mode 100644
index d490d9ba11..0000000000
--- a/ouroboros-consensus-diffusion/changelog.d/20240927_131047_damian.nadales_1260_remove_cdbFutureBlocks.md
+++ /dev/null
@@ -1,7 +0,0 @@
-### Breaking
-
-- Remove `CheckInFuture m blk` argument from `openChainDB`.
-
-### Patch
-
-- Remove references to `Ouroboros.Consensus.Fragment.InFuture`.
diff --git a/ouroboros-consensus-diffusion/changelog.d/20241021_094154_coot_typed_protocols_new_api.md b/ouroboros-consensus-diffusion/changelog.d/20241021_094154_coot_typed_protocols_new_api.md
deleted file mode 100644
index 8a1d194861..0000000000
--- a/ouroboros-consensus-diffusion/changelog.d/20241021_094154_coot_typed_protocols_new_api.md
+++ /dev/null
@@ -1,4 +0,0 @@
-### Breaking
-
-- Updated to `typed-protocols-0.3.0.0`
-- Added `KeepAlive` tracer to `Tracers'` data type.
diff --git a/ouroboros-consensus-diffusion/changelog.d/20241120_160052_neilmayhew_release_srp.md b/ouroboros-consensus-diffusion/changelog.d/20241120_160052_neilmayhew_release_srp.md
deleted file mode 100644
index 12d1820d4c..0000000000
--- a/ouroboros-consensus-diffusion/changelog.d/20241120_160052_neilmayhew_release_srp.md
+++ /dev/null
@@ -1,3 +0,0 @@
-### Patch
-
-- Depend on `network-mux` from `ouroboros-network` and use its types.
diff --git a/ouroboros-consensus-diffusion/changelog.d/js-resourcereg.md b/ouroboros-consensus-diffusion/changelog.d/js-resourcereg.md
deleted file mode 100644
index dce8a32365..0000000000
--- a/ouroboros-consensus-diffusion/changelog.d/js-resourcereg.md
+++ /dev/null
@@ -1,3 +0,0 @@
-## Patch
-
-* Use [`resource-registry`](https://hackage.haskell.org/package/resource-registry).
diff --git a/ouroboros-consensus-diffusion/ouroboros-consensus-diffusion.cabal b/ouroboros-consensus-diffusion/ouroboros-consensus-diffusion.cabal
index cc467a980e..c246d94044 100644
--- a/ouroboros-consensus-diffusion/ouroboros-consensus-diffusion.cabal
+++ b/ouroboros-consensus-diffusion/ouroboros-consensus-diffusion.cabal
@@ -1,6 +1,6 @@
cabal-version: 3.0
name: ouroboros-consensus-diffusion
-version: 0.18.0.0
+version: 0.19.0.0
synopsis: Integration for the Ouroboros Network layer
description:
Top level integration for consensus & network layers of the Ouroboros blockchain protocol.
@@ -90,7 +90,7 @@ library
io-classes ^>=1.5,
mtl,
network-mux ^>=0.6,
- ouroboros-consensus ^>=0.21,
+ ouroboros-consensus ^>=0.22,
ouroboros-network ^>=0.19,
ouroboros-network-api ^>=0.12,
ouroboros-network-framework ^>=0.15,
diff --git a/ouroboros-consensus-protocol/CHANGELOG.md b/ouroboros-consensus-protocol/CHANGELOG.md
index 2ab473fd75..dccb8280fb 100644
--- a/ouroboros-consensus-protocol/CHANGELOG.md
+++ b/ouroboros-consensus-protocol/CHANGELOG.md
@@ -2,6 +2,20 @@
# Changelog entries
+
+## 0.10.0.0 — 2025-01-08
+
+### Patch
+
+- Expose functions to simplify thorough testing of header validation
+ logic, and introduce generators and properties to actually test it.
+
+* Use the `VRFVerKeyHash` type from `cardano-ledger-core-1.16`
+
+### Breaking
+
+- Removed unused fields from `PraosParams`.
+
## 0.9.0.2 — 2024-10-14
diff --git a/ouroboros-consensus-protocol/changelog.d/20241022_125606_alexander.esgen_simplify_praos_params.md b/ouroboros-consensus-protocol/changelog.d/20241022_125606_alexander.esgen_simplify_praos_params.md
deleted file mode 100644
index 4dbe83a0b8..0000000000
--- a/ouroboros-consensus-protocol/changelog.d/20241022_125606_alexander.esgen_simplify_praos_params.md
+++ /dev/null
@@ -1,3 +0,0 @@
-### Breaking
-
-- Removed unused fields from `PraosParams`.
diff --git a/ouroboros-consensus-protocol/changelog.d/20241029_062000_abailly_header_validation_test.md b/ouroboros-consensus-protocol/changelog.d/20241029_062000_abailly_header_validation_test.md
deleted file mode 100644
index 17497d3350..0000000000
--- a/ouroboros-consensus-protocol/changelog.d/20241029_062000_abailly_header_validation_test.md
+++ /dev/null
@@ -1,4 +0,0 @@
-### Patch
-
-- Expose functions to simplify thorough testing of header validation
- logic, and introduce generators and properties to actually test it.
diff --git a/ouroboros-consensus-protocol/changelog.d/20241218_141944_neilmayhew_integrate_ledger.md b/ouroboros-consensus-protocol/changelog.d/20241218_141944_neilmayhew_integrate_ledger.md
deleted file mode 100644
index bdaf678e9f..0000000000
--- a/ouroboros-consensus-protocol/changelog.d/20241218_141944_neilmayhew_integrate_ledger.md
+++ /dev/null
@@ -1,3 +0,0 @@
-### Patch
-
-* Use the `VRFVerKeyHash` type from `cardano-ledger-core-1.16`
diff --git a/ouroboros-consensus-protocol/ouroboros-consensus-protocol.cabal b/ouroboros-consensus-protocol/ouroboros-consensus-protocol.cabal
index b14f45cf0e..9725c76e0b 100644
--- a/ouroboros-consensus-protocol/ouroboros-consensus-protocol.cabal
+++ b/ouroboros-consensus-protocol/ouroboros-consensus-protocol.cabal
@@ -1,6 +1,6 @@
cabal-version: 3.0
name: ouroboros-consensus-protocol
-version: 0.9.0.2
+version: 0.10.0.0
synopsis: Cardano consensus protocols
description: Cardano consensus protocols.
license: Apache-2.0
@@ -76,7 +76,7 @@ library
containers,
mtl,
nothunks,
- ouroboros-consensus ^>=0.21,
+ ouroboros-consensus ^>=0.22,
serialise,
text,
diff --git a/ouroboros-consensus/CHANGELOG.md b/ouroboros-consensus/CHANGELOG.md
index f6c6c350b8..1f20f77aec 100644
--- a/ouroboros-consensus/CHANGELOG.md
+++ b/ouroboros-consensus/CHANGELOG.md
@@ -2,6 +2,58 @@
# Changelog entries
+
+## 0.22.0.0 — 2025-01-08
+
+### Patch
+
+* Remove upper bound on `cardano-ledger-core`
+
+* Use [`resource-registry`](https://hackage.haskell.org/package/resource-registry).
+
+### Breaking
+
+- Integrated new bulk sync BlockFetch logic.
+
+- CSJ: implemented rotation of dynamos.
+
+- ChainDB: let the BlockFetch client add blocks asynchronously
+
+- GDD: added rate limit
+
+- Tweaked certain edge cases in the GDD and ChainSync client ([#1179](https://github.com/IntersectMBO/ouroboros-consensus/pull/1179))
+
+- Remove `cdbFutureBlocks` from `ChainDbEnv`.
+- Remove `BlockInTheFuture`, `ChainSelectionForFutureBlock`, `CandidateContainsFutureBlocks`, and `CandidateContainsFutureBlocksExceedingClockSkew` from `TraceAddBlockEvent`.
+- Remove `cdbCheckInFuture` from `CBD`.
+- Remove `cdbsCheckInFuture` from `ChainDbSpecificArgs`.
+- Remove `CheckInFuture m blk` argument from `completeChainDbArgs`.
+- Remove `CheckInFuture m blk` argument from `initialChainSelection`.
+- Remove `cdbsCheckInFuture` from `ChainDbSpecificArgs`.
+- Delete module `Ouroboros.Consensus.Fragment.InFuture`. `ClockSkew` functions live now in `Ouroboros.Consensus.MiniProtocol.ChainSync.Client.InFutureCheck`.
+* Remove ``InvalidBlockReason`, since it was now simply wrapping up `ExtValidationError`.
+
+- Updated to `typed-protocols-0.3.0.0`.
+- The `ChainSync` client now requires `MoandLabelledSTM` constraint.
+- `NodeToClientV_19` was added in `ouroboros-network-api-0.11`.
+
+- Drop NodeToClient versions < 16.
+
+- When writing a ledger state snapshot to disk, calculate the state's CRC32 checksum and write it to a separate file, which is named the same as the snapshot file, plus the `.checksum` extension.
+- When reading a snapshot file in `readSnapshot`, calculate its checksum and compare it to the value in the corresponding `.checksum` file. Return an error if the checksum is different or invalid. Issue a warning if the checksum file does not exist, but still initialise the ledger DB.
+- To support the previous item, change the error type of the `readSnapshot` from `ReadIncrementalErr` to the extended `ReadSnaphotErr`.
+- Checksumming the snapshots is controlled via the `doChecksum :: Flag "DoDiskSnapshotChecksum"` parameter of `initFromSnapshot`. Ultimately, this parameter comes from the Node's configuration file via the `DiskPolicy` data type.
+- Extend the `DiskPolicyArgs` data type to enable the node to pass `Flag "DoDiskSnapshotChecksum"` to Consensus.
+
+* Use [`rawlock`](https://hackage.haskell.org/package/rawlock) instead of the in-tree implementation.
+
+### Non-breaking
+
+- Make `Ouroboros.Consensus.Util.CBOR.readIncremental` optionally compute the checksum of the data as it is read.
+- Introduce an explicit `Ord` instance for `DiskSnapshot` that compares the values on `dsNumber`.
+- Introduce a new utility newtype `Flag` to represent type-safe boolean flags. See ouroboros-consensus/src/ouroboros-consensus/Ouroboros/Consensus/Util.hs.
+- Use `Flag "DoDiskSnapshotChecksum"` to control the check of the snapshot checksum file in `takeSnapshot`, `readSnapshot` and `writeSnapshot`.
+
## 0.21.0.0 — 2024-10-14
diff --git a/ouroboros-consensus/changelog.d/20240807_095933_alexander.esgen_milestone_1.md b/ouroboros-consensus/changelog.d/20240807_095933_alexander.esgen_milestone_1.md
deleted file mode 100644
index bca96bf61b..0000000000
--- a/ouroboros-consensus/changelog.d/20240807_095933_alexander.esgen_milestone_1.md
+++ /dev/null
@@ -1,11 +0,0 @@
-### Breaking
-
-- Integrated new bulk sync BlockFetch logic.
-
-- CSJ: implemented rotation of dynamos.
-
-- ChainDB: let the BlockFetch client add blocks asynchronously
-
-- GDD: added rate limit
-
-- Tweaked certain edge cases in the GDD and ChainSync client ([#1179](https://github.com/IntersectMBO/ouroboros-consensus/pull/1179))
diff --git a/ouroboros-consensus/changelog.d/20240927_125606_damian.nadales_1260_remove_cdbFutureBlocks.md b/ouroboros-consensus/changelog.d/20240927_125606_damian.nadales_1260_remove_cdbFutureBlocks.md
deleted file mode 100644
index 930a57bc66..0000000000
--- a/ouroboros-consensus/changelog.d/20240927_125606_damian.nadales_1260_remove_cdbFutureBlocks.md
+++ /dev/null
@@ -1,11 +0,0 @@
-### Breaking
-
-- Remove `cdbFutureBlocks` from `ChainDbEnv`.
-- Remove `BlockInTheFuture`, `ChainSelectionForFutureBlock`, `CandidateContainsFutureBlocks`, and `CandidateContainsFutureBlocksExceedingClockSkew` from `TraceAddBlockEvent`.
-- Remove `cdbCheckInFuture` from `CBD`.
-- Remove `cdbsCheckInFuture` from `ChainDbSpecificArgs`.
-- Remove `CheckInFuture m blk` argument from `completeChainDbArgs`.
-- Remove `CheckInFuture m blk` argument from `initialChainSelection`.
-- Remove `cdbsCheckInFuture` from `ChainDbSpecificArgs`.
-- Delete module `Ouroboros.Consensus.Fragment.InFuture`. `ClockSkew` functions live now in `Ouroboros.Consensus.MiniProtocol.ChainSync.Client.InFutureCheck`.
-* Remove ``InvalidBlockReason`, since it was now simply wrapping up `ExtValidationError`.
diff --git a/ouroboros-consensus/changelog.d/20241021_094516_coot_typed_protocols_new_api.md b/ouroboros-consensus/changelog.d/20241021_094516_coot_typed_protocols_new_api.md
deleted file mode 100644
index bf8f9bd34b..0000000000
--- a/ouroboros-consensus/changelog.d/20241021_094516_coot_typed_protocols_new_api.md
+++ /dev/null
@@ -1,6 +0,0 @@
-### Breaking
-
-- Updated to `typed-protocols-0.3.0.0`.
-- The `ChainSync` client now requires `MoandLabelledSTM` constraint.
-- `NodeToClientV_19` was added in `ouroboros-network-api-0.11`.
-
diff --git a/ouroboros-consensus/changelog.d/20241120_160044_neilmayhew_release_srp.md b/ouroboros-consensus/changelog.d/20241120_160044_neilmayhew_release_srp.md
deleted file mode 100644
index 8719c73339..0000000000
--- a/ouroboros-consensus/changelog.d/20241120_160044_neilmayhew_release_srp.md
+++ /dev/null
@@ -1,3 +0,0 @@
-### Breaking
-
-- Drop NodeToClient versions < 16.
diff --git a/ouroboros-consensus/changelog.d/20241128_084625_georgy.lukyanov_892_checksum_snaphot_file.md b/ouroboros-consensus/changelog.d/20241128_084625_georgy.lukyanov_892_checksum_snaphot_file.md
deleted file mode 100644
index bdb249bed3..0000000000
--- a/ouroboros-consensus/changelog.d/20241128_084625_georgy.lukyanov_892_checksum_snaphot_file.md
+++ /dev/null
@@ -1,14 +0,0 @@
-### Breaking
-
-- When writing a ledger state snapshot to disk, calculate the state's CRC32 checksum and write it to a separate file, which is named the same as the snapshot file, plus the `.checksum` extension.
-- When reading a snapshot file in `readSnapshot`, calculate its checksum and compare it to the value in the corresponding `.checksum` file. Return an error if the checksum is different or invalid. Issue a warning if the checksum file does not exist, but still initialise the ledger DB.
-- To support the previous item, change the error type of the `readSnapshot` from `ReadIncrementalErr` to the extended `ReadSnaphotErr`.
-- Checksumming the snapshots is controlled via the `doChecksum :: Flag "DoDiskSnapshotChecksum"` parameter of `initFromSnapshot`. Ultimately, this parameter comes from the Node's configuration file via the `DiskPolicy` data type.
-- Extend the `DiskPolicyArgs` data type to enable the node to pass `Flag "DoDiskSnapshotChecksum"` to Consensus.
-
-### Non-breaking
-
-- Make `Ouroboros.Consensus.Util.CBOR.readIncremental` optionally compute the checksum of the data as it is read.
-- Introduce an explicit `Ord` instance for `DiskSnapshot` that compares the values on `dsNumber`.
-- Introduce a new utility newtype `Flag` to represent type-safe boolean flags. See ouroboros-consensus/src/ouroboros-consensus/Ouroboros/Consensus/Util.hs.
-- Use `Flag "DoDiskSnapshotChecksum"` to control the check of the snapshot checksum file in `takeSnapshot`, `readSnapshot` and `writeSnapshot`.
diff --git a/ouroboros-consensus/changelog.d/20241218_154808_neilmayhew_HEAD.md b/ouroboros-consensus/changelog.d/20241218_154808_neilmayhew_HEAD.md
deleted file mode 100644
index 803ab3d940..0000000000
--- a/ouroboros-consensus/changelog.d/20241218_154808_neilmayhew_HEAD.md
+++ /dev/null
@@ -1,3 +0,0 @@
-### Patch
-
-* Remove upper bound on `cardano-ledger-core`
diff --git a/ouroboros-consensus/changelog.d/js-rawlock.md b/ouroboros-consensus/changelog.d/js-rawlock.md
deleted file mode 100644
index f23cd8b779..0000000000
--- a/ouroboros-consensus/changelog.d/js-rawlock.md
+++ /dev/null
@@ -1,3 +0,0 @@
-## Breaking
-
-* Use [`rawlock`](https://hackage.haskell.org/package/rawlock) instead of the in-tree implementation.
diff --git a/ouroboros-consensus/changelog.d/js-resourcereg.md b/ouroboros-consensus/changelog.d/js-resourcereg.md
deleted file mode 100644
index dce8a32365..0000000000
--- a/ouroboros-consensus/changelog.d/js-resourcereg.md
+++ /dev/null
@@ -1,3 +0,0 @@
-## Patch
-
-* Use [`resource-registry`](https://hackage.haskell.org/package/resource-registry).
diff --git a/ouroboros-consensus/ouroboros-consensus.cabal b/ouroboros-consensus/ouroboros-consensus.cabal
index 85d2205889..21eaeb875e 100644
--- a/ouroboros-consensus/ouroboros-consensus.cabal
+++ b/ouroboros-consensus/ouroboros-consensus.cabal
@@ -1,6 +1,6 @@
cabal-version: 3.0
name: ouroboros-consensus
-version: 0.21.0.0
+version: 0.22.0.0
synopsis: Consensus layer for the Ouroboros blockchain protocol
description: Consensus layer for the Ouroboros blockchain protocol.
license: Apache-2.0