diff --git a/README.md b/README.md index 1819cee7af..91221e3dfd 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ # Ouroboros Consensus -[![consensus](https://img.shields.io/badge/ouroboros--consensus-0.20.1.0-blue)](https://chap.intersectmbo.org/package/ouroboros-consensus-0.20.1.0/) -[![diffusion](https://img.shields.io/badge/ouroboros--consensus--diffusion-0.17.1.0-blue)](https://chap.intersectmbo.org/package/ouroboros-consensus-diffusion-0.17.1.0/) -[![protocol](https://img.shields.io/badge/ouroboros--consensus--protocol-0.9.0.1-blue)](https://chap.intersectmbo.org/package/ouroboros-consensus-protocol-0.9.0.1/) -[![cardano](https://img.shields.io/badge/ouroboros--consensus--cardano-0.19.0.0-blue)](https://chap.intersectmbo.org/package/ouroboros-consensus-cardano-0.19.0.0/) +[![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/) [![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/) diff --git a/ouroboros-consensus-cardano/CHANGELOG.md b/ouroboros-consensus-cardano/CHANGELOG.md index 29827864aa..bada3bce7a 100644 --- a/ouroboros-consensus-cardano/CHANGELOG.md +++ b/ouroboros-consensus-cardano/CHANGELOG.md @@ -2,6 +2,30 @@ # Changelog entries + +## 0.20.0.0 — 2024-10-14 + +### Patch + +- Updates for the `TxLimits` mempool consolidation. + +### Non-Breaking + +- Do not check transaction sizes in the forging functions; simply include all + given transactions. + +- Remove the hotfix Babbage mempool checks. + +- Dropped `NodeToNodeV_12` and below from `supportedNodeToNodeVersion` as they were + removed from o-n-api. +- Added `NodeToNodeV_14` to `supportedNodeToNodeVersions` + +### Breaking + +- Added a `blockBytes` column to the output of --benchmark-ledger-ops and --show-header-size. + +- Add `GetFuturePParams` query. + ## 0.18.0.0 — 2024-08-26 diff --git a/ouroboros-consensus-cardano/changelog.d/20240711_064942_nick.frisby_consolidate_txlimits.md b/ouroboros-consensus-cardano/changelog.d/20240711_064942_nick.frisby_consolidate_txlimits.md deleted file mode 100644 index ada8df1474..0000000000 --- a/ouroboros-consensus-cardano/changelog.d/20240711_064942_nick.frisby_consolidate_txlimits.md +++ /dev/null @@ -1,23 +0,0 @@ - - -### Patch - -- Updates for the `TxLimits` mempool consolidation. - -### Non-Breaking - -- Do not check transaction sizes in the forging functions; simply include all - given transactions. - -- Remove the hotfix Babbage mempool checks. - - diff --git a/ouroboros-consensus-cardano/changelog.d/20240906_081159_nick.frisby_db_analyser_add_blocksize.md b/ouroboros-consensus-cardano/changelog.d/20240906_081159_nick.frisby_db_analyser_add_blocksize.md deleted file mode 100644 index be35a7c285..0000000000 --- a/ouroboros-consensus-cardano/changelog.d/20240906_081159_nick.frisby_db_analyser_add_blocksize.md +++ /dev/null @@ -1,22 +0,0 @@ - - - - - -### Breaking - -- Added a `blockBytes` column to the output of --benchmark-ledger-ops and --show-header-size. diff --git a/ouroboros-consensus-cardano/changelog.d/20240917_143437_damian.nadales.md b/ouroboros-consensus-cardano/changelog.d/20240917_143437_damian.nadales.md deleted file mode 100644 index fc973af7a1..0000000000 --- a/ouroboros-consensus-cardano/changelog.d/20240917_143437_damian.nadales.md +++ /dev/null @@ -1,3 +0,0 @@ -### Breaking - -- Add `GetFuturePParams` query. diff --git a/ouroboros-consensus-cardano/changelog.d/20241014_135603_crocodile-dentist_integrate_latest_ledger.md b/ouroboros-consensus-cardano/changelog.d/20241014_135603_crocodile-dentist_integrate_latest_ledger.md deleted file mode 100644 index 482ba3395b..0000000000 --- a/ouroboros-consensus-cardano/changelog.d/20241014_135603_crocodile-dentist_integrate_latest_ledger.md +++ /dev/null @@ -1,5 +0,0 @@ -### Non-Breaking - -- Dropped `NodeToNodeV_12` and below from `supportedNodeToNodeVersion` as they were - removed from o-n-api. -- Added `NodeToNodeV_14` to `supportedNodeToNodeVersions` diff --git a/ouroboros-consensus-cardano/ouroboros-consensus-cardano.cabal b/ouroboros-consensus-cardano/ouroboros-consensus-cardano.cabal index dc34428d78..7dfce765e0 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.19.0.0 +version: 0.20.0.0 synopsis: The instantation of the Ouroboros consensus layer used by Cardano @@ -157,7 +157,7 @@ library microlens, mtl, nothunks, - ouroboros-consensus ^>=0.20, + ouroboros-consensus ^>=0.21, ouroboros-consensus-protocol ^>=0.9, ouroboros-network-api ^>=0.10, serialise ^>=0.2, @@ -201,7 +201,7 @@ library unstable-byronspec containers >=0.5 && <0.8, mtl, nothunks, - ouroboros-consensus ^>=0.20, + ouroboros-consensus ^>=0.21, serialise ^>=0.2, small-steps, transformers, @@ -549,9 +549,9 @@ library unstable-cardano-tools mtl, network, nothunks, - ouroboros-consensus ^>=0.20, + ouroboros-consensus ^>=0.21, ouroboros-consensus-cardano, - ouroboros-consensus-diffusion ^>=0.17, + ouroboros-consensus-diffusion ^>=0.18, ouroboros-consensus-protocol ^>=0.9, ouroboros-network, ouroboros-network-api, diff --git a/ouroboros-consensus-diffusion/CHANGELOG.md b/ouroboros-consensus-diffusion/CHANGELOG.md index ea29385c5a..ae57dde8f7 100644 --- a/ouroboros-consensus-diffusion/CHANGELOG.md +++ b/ouroboros-consensus-diffusion/CHANGELOG.md @@ -2,6 +2,21 @@ # Changelog entries + +## 0.18.0.0 — 2024-10-14 + +### Patch + +- Updates for the `TxLimits` mempool consolidation. + +### Breaking + +- Adapted to ChainSync client changes due to new message historicity check. + +- `getDiffusionPipeliningSupport` :: `DiffusionPipeliningSupport` was added to `NodeKernelArgs` + and `NodeKernel` to enable gracefully handling some types of protocol errors when diffusion + is ran with pipelining enabled. + ## 0.17.1.0 — 2024-08-26 diff --git a/ouroboros-consensus-diffusion/changelog.d/20240711_064938_nick.frisby_consolidate_txlimits.md b/ouroboros-consensus-diffusion/changelog.d/20240711_064938_nick.frisby_consolidate_txlimits.md deleted file mode 100644 index f5b93fa410..0000000000 --- a/ouroboros-consensus-diffusion/changelog.d/20240711_064938_nick.frisby_consolidate_txlimits.md +++ /dev/null @@ -1,23 +0,0 @@ - - - -### Patch - -- Updates for the `TxLimits` mempool consolidation. - - - diff --git a/ouroboros-consensus-diffusion/changelog.d/20240722_170436_alexander.esgen_historical_rollbacks.md b/ouroboros-consensus-diffusion/changelog.d/20240722_170436_alexander.esgen_historical_rollbacks.md deleted file mode 100644 index 93115de3ae..0000000000 --- a/ouroboros-consensus-diffusion/changelog.d/20240722_170436_alexander.esgen_historical_rollbacks.md +++ /dev/null @@ -1,3 +0,0 @@ -### Breaking - -- Adapted to ChainSync client changes due to new message historicity check. diff --git a/ouroboros-consensus-diffusion/changelog.d/20240912_105915_alexander.esgen_gdd_disconnect_trace.md b/ouroboros-consensus-diffusion/changelog.d/20240912_105915_alexander.esgen_gdd_disconnect_trace.md deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/ouroboros-consensus-diffusion/changelog.d/20241014_135044_crocodile-dentist_integrate_latest_ledger.md b/ouroboros-consensus-diffusion/changelog.d/20241014_135044_crocodile-dentist_integrate_latest_ledger.md deleted file mode 100644 index a068fab916..0000000000 --- a/ouroboros-consensus-diffusion/changelog.d/20241014_135044_crocodile-dentist_integrate_latest_ledger.md +++ /dev/null @@ -1,5 +0,0 @@ -### Breaking - -- `getDiffusionPipeliningSupport` :: `DiffusionPipeliningSupport` was added to `NodeKernelArgs` - and `NodeKernel` to enable gracefully handling some types of protocol errors when diffusion - is ran with pipelining enabled. diff --git a/ouroboros-consensus-diffusion/ouroboros-consensus-diffusion.cabal b/ouroboros-consensus-diffusion/ouroboros-consensus-diffusion.cabal index 214ea701d4..c4cc4af077 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.17.1.0 +version: 0.18.0.0 synopsis: Integration for the Ouroboros Network layer description: Top level integration for consensus & network layers of the Ouroboros blockchain protocol. @@ -89,7 +89,7 @@ library hashable, io-classes ^>=1.5, mtl, - ouroboros-consensus ^>=0.20, + ouroboros-consensus ^>=0.21, ouroboros-network ^>=0.17.1, ouroboros-network-api ^>=0.10, ouroboros-network-framework ^>=0.13.2, diff --git a/ouroboros-consensus-protocol/CHANGELOG.md b/ouroboros-consensus-protocol/CHANGELOG.md index 3ee3ddc83d..2ab473fd75 100644 --- a/ouroboros-consensus-protocol/CHANGELOG.md +++ b/ouroboros-consensus-protocol/CHANGELOG.md @@ -2,6 +2,13 @@ # Changelog entries + +## 0.9.0.2 — 2024-10-14 + +### Patch + +- Updated dependencies, but no changes to the interface. + ## 0.9.0.1 — 2024-06-19 diff --git a/ouroboros-consensus-protocol/changelog.d/20241014_141111_crocodile-dentist_integrate_latest_ledger.md b/ouroboros-consensus-protocol/changelog.d/20241014_141111_crocodile-dentist_integrate_latest_ledger.md deleted file mode 100644 index 29a814e8ee..0000000000 --- a/ouroboros-consensus-protocol/changelog.d/20241014_141111_crocodile-dentist_integrate_latest_ledger.md +++ /dev/null @@ -1,24 +0,0 @@ - - - - - diff --git a/ouroboros-consensus-protocol/ouroboros-consensus-protocol.cabal b/ouroboros-consensus-protocol/ouroboros-consensus-protocol.cabal index 106fda375f..45fc293847 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.1 +version: 0.9.0.2 synopsis: Cardano consensus protocols description: Cardano consensus protocols. license: Apache-2.0 @@ -76,7 +76,7 @@ library containers, mtl, nothunks, - ouroboros-consensus ^>=0.20, + ouroboros-consensus ^>=0.21, serialise, text, diff --git a/ouroboros-consensus/CHANGELOG.md b/ouroboros-consensus/CHANGELOG.md index 8614a503eb..f6c6c350b8 100644 --- a/ouroboros-consensus/CHANGELOG.md +++ b/ouroboros-consensus/CHANGELOG.md @@ -2,6 +2,63 @@ # Changelog entries + +## 0.21.0.0 — 2024-10-14 + +### Patch + +- Used new `AF.splitAtSlot` function in GDD. + +- Replace `bracketOnError` with `modifyMVar` in the Cached Index implementation. + +### Non-Breaking + +- Added a `Serialise ByteSize32` instance. + +- Decrease the maximum permissible clock skew from 5s to 2s. + +- Implement `Monad(LabelledSTM,InspectSTM,TraceSTM,Say)` instances for `WithEarlyExit`. + +### Breaking + +- Consolidate `TxLimits` in the mempool. + - Remove `Mempool.`getTxSize`; the snapshot interface contains byte sizes + now. + + - Transaction size, block capacity, and mempool capacity are + multi-dimensional vectors (`ExUnits`, etc), instead of merely bytes: + `TxMeasure`. + + - A transaction cannot be added if it would push any component of the size + over that component of the mempool capacity. + + - The mempool capacity override is still specified in terms of bytes, but + the magnitude is interpreted via division as a block count, rounded up. + +- Pass a correctly-sized prefix of the mempool to the forging functions, + instead of its entire contents. The mempool's finger tree is best way to find + that cutoff. + +- Added functionality to disallow historical `MsgRollBackward`s and + `MsgAwaitReply`s in the ChainSync client. + +- ChainDB: allow to trigger chain selection synchronously + +- Removed `RealPoint` argument from `ReplayFromSnapshot`. Use the `ReplayStart` + field instead. + +- Made `TraceGDDEvent` into a sum type, added a new terse constructor for when + we disconnect from peers (this is supposed to get a high severity in the + tracing system). + +- Add TraceMempoolSynced to TraceEventMempool for tracing mempool sync time. + +- Added `DiffusionPipeliningSupport` to Config module. Since o-network does not track + any longer whether pipelining support is enabled for a particular `NodeToNodeVersion` + this capability was moved into the consensus layer to preserve generality. + - mkBlockFetchConsensusInterface and bracketChainSyncClient signatures were adapted + to leverage the new type. + ## 0.20.1.0 — 2024-08-26 diff --git a/ouroboros-consensus/changelog.d/20240711_064934_nick.frisby_consolidate_txlimits.md b/ouroboros-consensus/changelog.d/20240711_064934_nick.frisby_consolidate_txlimits.md deleted file mode 100644 index b5ff7cbaee..0000000000 --- a/ouroboros-consensus/changelog.d/20240711_064934_nick.frisby_consolidate_txlimits.md +++ /dev/null @@ -1,38 +0,0 @@ - - - - - -### Breaking - -- Consolidate `TxLimits` in the mempool. - - Remove `Mempool.`getTxSize`; the snapshot interface contains byte sizes - now. - - - Transaction size, block capacity, and mempool capacity are - multi-dimensional vectors (`ExUnits`, etc), instead of merely bytes: - `TxMeasure`. - - - A transaction cannot be added if it would push any component of the size - over that component of the mempool capacity. - - - The mempool capacity override is still specified in terms of bytes, but - the magnitude is interpreted via division as a block count, rounded up. - -- Pass a correctly-sized prefix of the mempool to the forging functions, - instead of its entire contents. The mempool's finger tree is best way to find - that cutoff. diff --git a/ouroboros-consensus/changelog.d/20240722_170344_alexander.esgen_historical_rollbacks.md b/ouroboros-consensus/changelog.d/20240722_170344_alexander.esgen_historical_rollbacks.md deleted file mode 100644 index 3d30a79877..0000000000 --- a/ouroboros-consensus/changelog.d/20240722_170344_alexander.esgen_historical_rollbacks.md +++ /dev/null @@ -1,4 +0,0 @@ -### Breaking - -- Added functionality to disallow historical `MsgRollBackward`s and - `MsgAwaitReply`s in the ChainSync client. diff --git a/ouroboros-consensus/changelog.d/20240724_170351_alexander.esgen_loe_chaindb_qsm.md b/ouroboros-consensus/changelog.d/20240724_170351_alexander.esgen_loe_chaindb_qsm.md deleted file mode 100644 index 8579b70a80..0000000000 --- a/ouroboros-consensus/changelog.d/20240724_170351_alexander.esgen_loe_chaindb_qsm.md +++ /dev/null @@ -1,3 +0,0 @@ -### Breaking - -- ChainDB: allow to trigger chain selection synchronously diff --git a/ouroboros-consensus/changelog.d/20240827_160651_alexander.esgen_test_empty_mempool_nonblocking.md b/ouroboros-consensus/changelog.d/20240827_160651_alexander.esgen_test_empty_mempool_nonblocking.md deleted file mode 100644 index 23b2652749..0000000000 --- a/ouroboros-consensus/changelog.d/20240827_160651_alexander.esgen_test_empty_mempool_nonblocking.md +++ /dev/null @@ -1,3 +0,0 @@ -### Non-Breaking - -- Added a `Serialise ByteSize32` instance. diff --git a/ouroboros-consensus/changelog.d/20240829_095937_alexander.esgen_gdd_splitAtSlot.md b/ouroboros-consensus/changelog.d/20240829_095937_alexander.esgen_gdd_splitAtSlot.md deleted file mode 100644 index ab905699d0..0000000000 --- a/ouroboros-consensus/changelog.d/20240829_095937_alexander.esgen_gdd_splitAtSlot.md +++ /dev/null @@ -1,3 +0,0 @@ -### Patch - -- Used new `AF.splitAtSlot` function in GDD. diff --git a/ouroboros-consensus/changelog.d/20240903_154122_alexander.esgen_replay_snapshot_tracing_tweak.md b/ouroboros-consensus/changelog.d/20240903_154122_alexander.esgen_replay_snapshot_tracing_tweak.md deleted file mode 100644 index f3d6e54055..0000000000 --- a/ouroboros-consensus/changelog.d/20240903_154122_alexander.esgen_replay_snapshot_tracing_tweak.md +++ /dev/null @@ -1,4 +0,0 @@ -### Breaking - -- Removed `RealPoint` argument from `ReplayFromSnapshot`. Use the `ReplayStart` - field instead. diff --git a/ouroboros-consensus/changelog.d/20240912_105038_alexander.esgen_gdd_disconnect_trace.md b/ouroboros-consensus/changelog.d/20240912_105038_alexander.esgen_gdd_disconnect_trace.md deleted file mode 100644 index f0a4c8df90..0000000000 --- a/ouroboros-consensus/changelog.d/20240912_105038_alexander.esgen_gdd_disconnect_trace.md +++ /dev/null @@ -1,5 +0,0 @@ -### Breaking - -- Made `TraceGDDEvent` into a sum type, added a new terse constructor for when - we disconnect from peers (this is supposed to get a high severity in the - tracing system). diff --git a/ouroboros-consensus/changelog.d/20241008_190347_alexander.esgen_clock_skew_2_secs.md b/ouroboros-consensus/changelog.d/20241008_190347_alexander.esgen_clock_skew_2_secs.md deleted file mode 100644 index 8799a91e8c..0000000000 --- a/ouroboros-consensus/changelog.d/20241008_190347_alexander.esgen_clock_skew_2_secs.md +++ /dev/null @@ -1,3 +0,0 @@ -### Non-Breaking - -- Decrease the maximum permissible clock skew from 5s to 2s. diff --git a/ouroboros-consensus/changelog.d/20241011_091242_karl.fb.knutsson_sync_tracing.md b/ouroboros-consensus/changelog.d/20241011_091242_karl.fb.knutsson_sync_tracing.md deleted file mode 100644 index 5f03960fff..0000000000 --- a/ouroboros-consensus/changelog.d/20241011_091242_karl.fb.knutsson_sync_tracing.md +++ /dev/null @@ -1,4 +0,0 @@ -### Breaking - -- Add TraceMempoolSynced to TraceEventMempool for tracing mempool sync time. - diff --git a/ouroboros-consensus/changelog.d/20241014_134104_crocodile-dentist_integrate_latest_ledger.md b/ouroboros-consensus/changelog.d/20241014_134104_crocodile-dentist_integrate_latest_ledger.md deleted file mode 100644 index 49f7ecb7bc..0000000000 --- a/ouroboros-consensus/changelog.d/20241014_134104_crocodile-dentist_integrate_latest_ledger.md +++ /dev/null @@ -1,7 +0,0 @@ -### Breaking - -- Added `DiffusionPipeliningSupport` to Config module. Since o-network does not track - any longer whether pipelining support is enabled for a particular `NodeToNodeVersion` - this capability was moved into the consensus layer to preserve generality. - - mkBlockFetchConsensusInterface and bracketChainSyncClient signatures were adapted - to leverage the new type. diff --git a/ouroboros-consensus/changelog.d/js-cache-modifymvar.md b/ouroboros-consensus/changelog.d/js-cache-modifymvar.md deleted file mode 100644 index 9f85260d19..0000000000 --- a/ouroboros-consensus/changelog.d/js-cache-modifymvar.md +++ /dev/null @@ -1,3 +0,0 @@ -### Patch - -- Replace `bracketOnError` with `modifyMVar` in the Cached Index implementation. diff --git a/ouroboros-consensus/changelog.d/js-earlyexit.md b/ouroboros-consensus/changelog.d/js-earlyexit.md deleted file mode 100644 index a44c1f16a6..0000000000 --- a/ouroboros-consensus/changelog.d/js-earlyexit.md +++ /dev/null @@ -1,3 +0,0 @@ -### Non-Breaking - -- Implement `Monad(LabelledSTM,InspectSTM,TraceSTM,Say)` instances for `WithEarlyExit`. diff --git a/ouroboros-consensus/ouroboros-consensus.cabal b/ouroboros-consensus/ouroboros-consensus.cabal index 43510a85a6..ddafe8f16c 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.20.1.0 +version: 0.21.0.0 synopsis: Consensus layer for the Ouroboros blockchain protocol description: Consensus layer for the Ouroboros blockchain protocol. license: Apache-2.0