- Propagate
ouroboros-network
typesNumTxIdsToAck
andSizeInBytes
- Add trivial
txRefScriptSize
definitions
- Updated dependencies; no local changes required.
- Implemented a first version of CSJ (ChainSync Jumping). (disabled by default)
- Internal changes in tests.
-
Implemented the Honest Availability Assumption properly (both for Praos/"Genesis Lite" and Genesis) based on newly exposed state by the diffusion layer.
-
Upgraded to
ouroboros-network-0.16
-
Accounted for a refactoring of the ChainSync client parameters.
-
ChainDbArgs
re-exported byOuroboros.Consensus.Node
had breaking changes upstream. Seeouroboros-consensus
' changelog for details. -
Removed
mkChainDbArgs
. -
New
llrnMkHasFS
field inLowLevelRunNodeArgs
-
Removed
llrnRunDataDiffusion
's unusedResourceRegistry
argument.
NOTE: version jumps from 0.13.0.0
to 0.15.0.0
because 0.14.0.0
was created in a branch containing backported fixes for Node 8.9.
- Updated
ouroboros-consensus-diffusion
to useouroboros-network-0.14.0.0
.LowLevelRounNodeArgs
andNodeKernel
records holdPublicPeerSelectionState
variable.
NOTE: version jumps from 0.11.0.0
to 0.13.0.0
because 0.12.0.0
was created in a branch containing backported fixes for Node 8.9.
-
Bugfix: DiskPolicyArgs were not being passed down to the ChainDB which resulted in default values for SnapshotInterval.
-
Start using
safe-wild-cards
internally. -
LoP: run the ChainSync client against a leaky bucket.
-
Integrate changes for lightweight checkpointing #449, which required adding a field to
TopLevelConfig
. -
Added
PeerSharingAPI
toNodeKernel
-
Added
peerSharingRng
toNodeKernelArgs
-
Refactored some diffusion functions to remove
computePeers
callback
- Update network packages
ouroboros-network
:^>=0.13
ouroboros-network-framework
:^>=0.12
-
Added
getImmTipSlot
toNodeKernel
exports. -
Integrate with network-packages and io-sim 1.4.1 packages
-
Bump dependencies version bounds
-
The field
srnSnapshotInterval :: SnapshotInterval
ofStdRunNodeArgs
is replaced bysrnDiskPolicyArgs :: DiskPolicyArgs
.DiskPolicyArgs
is a product ofSnapshotInterval
andNumOfDiskSnapshots
. To maintain current behavior the default valueDefaultNumOfDiskSnapshots
can be provided for the latter. -
Added the Genesis State Machine (GSM), though for now it is merely the simpler Bootstrap Peers State Machine.
-
Added
rnGetUseBootstrapPeers
toRunNodeArgs
, for dynamically enabling/disabling the GSM. The proper GSM must always be running, despite the TVar it owns being ignored when it's disabled, since it may be enabled at any time. -
Added
llrnMaxCaughtUpAge
to the low-level args; defaults to 20min. -
Added
gsmTracer
to the node's tracers. -
Added
getNodeIdlers
to theNodeKernel
interface; tracking peers that have last sentMsgAwaitReply
.
-
Fix imports and type mismatches caused by
ouroboros-consensus
bumpingstrict-checked-vars
to^>= 0.2
. -
Removed
EraNodeToNodeVersion
, replacing it withWrapNodeToNodeVersion
. -
Updated to GHC 9.8.1.
-
Updated
ouroboros-network
dependencies:ouroboros-network
0.10.2 -> 0.11ouroboros-network-frameworks
0.10 -> 0.11ouroboros-network-protocols
0.6.1 -> 0.7
- Update network packages
ouroboros-network
:^>=0.10.2
ouroboros-network-api
:^>=0.6.2
ouroboros-network-protocols
:^>=0.6.1
-
Integrate the new
InFutureCheck
in the ChainSync client, which requires new fields inNodeKernalArgs
. -
The upstream ChainSync client refactoring required changes to NodeKernelArgs and Handlers.
-
Adds
NodeToNodeVersion
to the arguments ofdefaultCodecs
andrunWith
functions. -
Adds
srnChainSyncTimeout
argument toStdRunNodeArgs
.
- In tests only: replace all occurrences of
WrapTickedLedgerView
andTickedTrivial
withWrapLedgerView
and()
.
- Update bound on
ouroboros-consensus
to account for changes in unstable test libraries.
- Use
io-classes-1.2
.
- Use
ouroboros-network-0.9.0.0
. Types of some of functions changed:Ouroboros.Consensus.Network.NodeToClient.responder
Ouroboros.Consensus.Network.NodeToNode.Handlers
:hChainSynClient
acceptsIsBigLedgerPeer
argument;hPeerSharingClient
andhPeerSharingServer
useConnectionId addr
instead ofaddr
.
Ouroboros.Consensus.Network.NodeToNode.{Client,Server}App
: receive network context which contains things like address, whether the peer is a big ledger peer, etc. These changes propagate to theApps
type within the same module.Ouroboros.Consensus.Node.runWith
requires additional constraints, seeNetworkIO
andNetworkAddr
type aliases within the module.
- Removed the
expose-sublibs
cabal flag, since Cabal/Nix handled it poorly. - Instead, added a
unstable-
prefix to the name of each sublibrary, to strongly indicate that we ignore them when evolving the package's version.
- Update
fs-api
dependency to^>=0.2
- Update to
ouroboros-network-framework
0.7.0.0
-
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 thisTMVar
.
- There's also a
-
Adds new trace
TraceAdoptionThreadDied SlotNo blk
toTraceForgeEvent
-
Add a new argument to
RekeyM
type, due to the extraction of the block forging credentials over atouroboros-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
toNodeKernel
which must be used to set / control block forging of the consensus layer.
-
Add lower bound on graphviz
-
Allow ouroboros-network-0.8.0.0
-
Require
fs-sim >= 0.2
in test libraries.
- Update a comment in Ouroboros.Consensus.NodeKernel.forkBlockForging
- Increase the minimum reconnection delay from 0s to 10s.
consensusStartupErrorTracer
field ofTracers'
data type was renamed toconsensusErrorTracer
.chainSyncServerHeaderTracer
field ofTracers
was changed to useTraceLabelPeer
.blockFetchServerTracer
field ofTracers
was changed to useTraceLabelPeer
.
-
Update
io-sim
dependency to 1.1.0.0. -
Update
ouroboros-network
dependency.
- Apply new organization of Consensus packages. Absorb the ThreadNet tests and the ledger-agnostic test-suites that use them.
-
Peer Sharing Integration:
- Monomorphized
Handlers
client field types toConnectionId addr
; and added PeerSharing handlers. - Changed
mkHandlers
function to receive a function to compute peer sharing addresses; - Changed
Codecs
type and propagated changes to relevant functions (e.g.defaultCodecs
); - Changed
Apps
type and propagated changes to relevant functions (e.g.mkApps
); initiatorAndResponder
receives PeerSharing value;- Added PeerSharing field to
RunNodeArgs
; - Changed
runWith
to receive necessary parameters; NodeKernel
changes to incorporate PeerSharing miniprotocol (addsPeerSharingRegistry
);
- Monomorphized
-
Extract
ouroboros-consensus-diffusion
from the bundle of packages.
-
Renamed address type variables to more consistent naming
-
Update chainsync timeout: Increase the minimum timeout from 90s to 135s and switch from picking from an array of 5 values to a range of timeouts. This change reduces the risk of synchronisation among nodes in the network.
ouroboros-consensus-diffusion
:ouroboros-network
packages version bumps.
Before this version, ouroboros-consensus-diffusion
lived in a bundle of
packages with ouroboros-consensus
, thus the changelog was the same.
Before following a more structured release process, we tracked most significant changes affecting downstream users in the interface-CHANGELOG.md.