diff --git a/ouroboros-consensus-cardano/changelog.d/20230612_125709_armandoifsantos_dynamic_block_forging.md b/ouroboros-consensus-cardano/changelog.d/20230612_125709_armandoifsantos_dynamic_block_forging.md new file mode 100644 index 0000000000..fd464c8b6c --- /dev/null +++ b/ouroboros-consensus-cardano/changelog.d/20230612_125709_armandoifsantos_dynamic_block_forging.md @@ -0,0 +1,24 @@ + + + + +### Non-Breaking + +- Refactor code because block forging credentials got extracted out of + `ProtocolInfo` type. + +### Breaking + +- Change the return type of numerous functions to include block forging credentials since + they got extracted out of `ProtocolInfo` type. + - Refactor the type signatures to accommodate the fact that `ProtocolInfo` does not + need monad type variable. diff --git a/ouroboros-consensus-diffusion/changelog.d/20230612_124926_armandoifsantos_dynamic_block_forging.md b/ouroboros-consensus-diffusion/changelog.d/20230612_124926_armandoifsantos_dynamic_block_forging.md new file mode 100644 index 0000000000..7713d12e42 --- /dev/null +++ b/ouroboros-consensus-diffusion/changelog.d/20230612_124926_armandoifsantos_dynamic_block_forging.md @@ -0,0 +1,35 @@ + + + + +### Non-Breaking + +- Change how diffusion initializes block forging credentials: now there's a `TMVar` that + monitors so we can enable/disable block forging dynamically. + - There's also a `blockForgingController` that keeps an eye at this `TMVar`. + +- Adds new trace `TraceAdoptionThreadDied SlotNo blk` to `TraceForgeEvent` + +### Breaking + +- Add a new argument to `RekeyM` type, due to the extraction of the block forging + credentials over at `ouroboros-consensus`. + - Refactor to accommodate this change + +- Add block forging credentials to `TestNodeInitialization` + +- Change the type signature of most functions to receive the block forging credentials as + an argument, since it now doesn't come in the usual bundle. + +- Add `setBlockForging` to `NodeKernel` which must be used to set / control + block forging of the consensus layer. + diff --git a/ouroboros-consensus/changelog.d/20230612_112138_armandoifsantos_dynamic_block_forging.md b/ouroboros-consensus/changelog.d/20230612_112138_armandoifsantos_dynamic_block_forging.md new file mode 100644 index 0000000000..0bdcbb3492 --- /dev/null +++ b/ouroboros-consensus/changelog.d/20230612_112138_armandoifsantos_dynamic_block_forging.md @@ -0,0 +1,31 @@ + + + +### Non-Breaking + +- Change the behaviour of `addBlockRunner` so that it notifies all blocked threads if interrupted. + +- Add `closeBlocksToAdd` function + +### Breaking + +- Remove the `pInfoBlockForging` record field from the `ProtocolInfo` type. + +- Remove `ProtocolInfo` monad parameter + +- Change `AddBlockPromise` API + - `blockProcessed` now wraps the return value in a new `Processed` type. This is needed + for improving the async exception safety. + +- Change `BlockToAdd` API + - `varBlockProcessed` now wraps the return value in a new `Processed` type. This is needed + for improving the async exception safety.