Skip to content

Commit

Permalink
Merge pull request #6084 from IntersectMBO/nm/maint_10.2
Browse files Browse the repository at this point in the history
Prepare 10.2 release
  • Loading branch information
neilmayhew authored Jan 28, 2025
2 parents e3e74b0 + 81bc944 commit c4d675b
Show file tree
Hide file tree
Showing 41 changed files with 139 additions and 75 deletions.
2 changes: 1 addition & 1 deletion bench/cardano-topology/NOTICE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright 2021-2023 Input Output Global Inc (IOG), 2023-2024 Intersect.
Copyright 2021-2023 Input Output Global Inc (IOG), 2023-2025 Intersect.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion bench/cardano-topology/cardano-topology.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ synopsis: A cardano topology generator
description: A cardano topology generator.
category: Cardano,
Test,
copyright: 2021-2023 Input Output Global Inc (IOG), 2023-2024 Intersect.
copyright: 2021-2023 Input Output Global Inc (IOG), 2023-2025 Intersect.
author: IOHK
maintainer: [email protected]
license: Apache-2.0
Expand Down
2 changes: 1 addition & 1 deletion bench/locli/NOTICE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright 2021-2023 Input Output Global Inc (IOG), 2023-2024 Intersect.
Copyright 2021-2023 Input Output Global Inc (IOG), 2023-2025 Intersect.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion bench/locli/locli.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ synopsis: Cardano log analysis CLI
description: Cardano log analysis CLI.
category: Cardano,
Logging,
copyright: 2021-2023 Input Output Global Inc (IOG), 2023-2024 Intersect.
copyright: 2021-2023 Input Output Global Inc (IOG), 2023-2025 Intersect.
author: IOHK
maintainer: [email protected]
license: Apache-2.0
Expand Down
2 changes: 1 addition & 1 deletion bench/plutus-scripts-bench/NOTICE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright 2023 Input Output Global Inc (IOG), 2023-2024 Intersect.
Copyright 2023 Input Output Global Inc (IOG), 2023-2025 Intersect.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion bench/plutus-scripts-bench/plutus-scripts-bench.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ maintainer: [email protected]
license: Apache-2.0
license-files: LICENSE
NOTICE
copyright: 2023 Input Output Global Inc (IOG), 2023-2024 Intersect.
copyright: 2023 Input Output Global Inc (IOG), 2023-2025 Intersect.
build-type: Simple

flag unexpected_thunks
Expand Down
2 changes: 1 addition & 1 deletion bench/tx-generator/NOTICE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright 2019-2023 Input Output Global Inc (IOG), 2023-2024 Intersect.
Copyright 2019-2023 Input Output Global Inc (IOG), 2023-2025 Intersect.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
3 changes: 1 addition & 2 deletions bench/tx-generator/tx-generator.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ synopsis: A transaction workload generator for Cardano clusters
description: A transaction workload generator for Cardano clusters.
category: Cardano,
Test,
copyright: 2019-2023 Input Output Global Inc (IOG), 2023-2024 Intersect.
copyright: 2019-2023 Input Output Global Inc (IOG), 2023-2025 Intersect.
author: IOHK
maintainer: [email protected]
license: Apache-2.0
Expand Down Expand Up @@ -158,7 +158,6 @@ library
, transformers-except
, unordered-containers
, yaml
, microlens

default-language: Haskell2010
default-extensions: OverloadedStrings
Expand Down
2 changes: 1 addition & 1 deletion cabal.project
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ repository cardano-haskell-packages
-- you need to run if you change them
index-state:
, hackage.haskell.org 2025-01-01T23:24:19Z
, cardano-haskell-packages 2025-01-16T11:44:54Z
, cardano-haskell-packages 2025-01-22T16:50:05Z

packages:
cardano-node
Expand Down
2 changes: 1 addition & 1 deletion cardano-node-capi/NOTICE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright 2021-2023 Input Output Global Inc (IOG), 2023-2024 Intersect.
Copyright 2021-2023 Input Output Global Inc (IOG), 2023-2025 Intersect.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion cardano-node-capi/cardano-node-capi.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ synopsis: FFI C library for Cardano
description: ffi c library around the full node.
category: Cardano,
FFI,
copyright: 2021-2023 Input Output Global Inc (IOG), 2023-2024 Intersect.
copyright: 2021-2023 Input Output Global Inc (IOG), 2023-2025 Intersect.
author: IOHK
maintainer: [email protected]
license: Apache-2.0
Expand Down
2 changes: 1 addition & 1 deletion cardano-node-chairman/NOTICE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright 2020-2023 Input Output Global Inc (IOG), 2023-2024 Intersect.
Copyright 2020-2023 Input Output Global Inc (IOG), 2023-2025 Intersect.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
4 changes: 2 additions & 2 deletions cardano-node-chairman/cardano-node-chairman.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ synopsis: The cardano full node
description: The cardano full node.
category: Cardano,
Test,
copyright: 2020-2023 Input Output Global Inc (IOG), 2023-2024 Intersect.
copyright: 2020-2023 Input Output Global Inc (IOG), 2023-2025 Intersect.
author: IOHK
maintainer: [email protected]
license: Apache-2.0
Expand Down Expand Up @@ -44,7 +44,7 @@ executable cardano-node-chairman
build-depends: cardano-api
, cardano-crypto-class
, cardano-git-rev ^>= 0.2.2
, cardano-node ^>= 10.1.1
, cardano-node ^>= 10.2
, cardano-prelude
, containers
, contra-tracer
Expand Down
39 changes: 38 additions & 1 deletion cardano-node/ChangeLog.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,59 @@
# Changelog for cardano-node

## Next version
## 10.2 -- January 2025

- Use p2p network stack by default, warn when using the legacy network stack.

- Deprecate some CLI flags corresponding to low-level consensus options. They are
still accepted but a warning is emitted on startup on stderr suggesting to set
them in the configuration file instead:
- `--mempool-capacity-override` and `--no-mempool-capacity-override` can be set in the configuration file via the key `MempoolCapacityBytesOverride`.
- `--snapshot-interval` can be set in the configuration file via the key `SnapshotInterval`.
- `--num-of-disk-snapshots` can be set in the configuration file via the key `NumOfDiskSnapshots`.

- Ledger peer snapshot path entry added to topology JSON parser,
which a new decoder function `readPeerSnapshotFile` processes
at startup and SIGHUP. Data is available to the diffusion layer
via TVar.

- Configuration changes:
- Add `ConsensusMode` and `MinBigLedgerPeersForTrustedState`
- Add Genesis config
- Add `diffusionMode` to local root peers group configuration
- Add `DoDiskSnapshotChecksum`

- Change fallback node name for trace forwarding from `host:port` to `host_port`

- Use metric names of old-tracing in new-tracing as well, and fix some metrics in new tracing.

- Tracing updates:
- Add support for `ChainSelStarvationEvent`, `ExtValidationError`
- Add support for `KeepAlive` protocol
- Add support for `LocalStateQuery` protocol
- Add support for `UsingBigLedgerPeerSnapshot`, `VerifyPeerSnapshot`
- Add support for `ConnectionError`
- Add support for `AddNewNodeIdMapping`
- Add support for `PeerFetch` and `PeerStarvedUs`
- Add support for `SnapshotMissingChecksum`
- Add support for stateful messages
- Add `maximumKesEvolutions` to `InvalidKesSignatureOCERT` event
- Rename kind field of all `MuxXxx` trace messages to be `Mux.Xxx`
- Rename fields in `RotatedDynamo` event to `oldPeer`, `newPeer`
- Rename `ConnectTo` to `Connect`
- Change format of `GenesisPoint`, `LabelPeer`, `DecisionEvent`
- Change format of `ConnectionManagerState`
- Change format of `AddedToCurrentChain`
- Drop support for `ClientAgency`, `ServerAgency`
- Drop support for `FetchDecision declined`, `FetchDecision results`
- Drop support for `StakeKeyInRewardsDELEG`
- Drop support for `ChainSelectionForFutureBlock`, `BlockInTheFuture`,
`CandidateContainsFutureBlocks`, `CandidateContainsFutureBlocksExceedingClockSkew`,
`InvalidBlockReason`

- Drop NodeToClient versions 9 through 15, and add 19

- Increase minor protocol version to `10.3`

## 8.2.1 -- August 2023

- prevent SIGHUP from killing node during ledger replay
Expand Down
2 changes: 1 addition & 1 deletion cardano-node/NOTICE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright 2019-2023 Input Output Global Inc (IOG), 2023-2024 Intersect.
Copyright 2019-2023 Input Output Global Inc (IOG), 2023-2025 Intersect.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
8 changes: 4 additions & 4 deletions cardano-node/cardano-node.cabal
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
cabal-version: 3.0

name: cardano-node
version: 10.1.4
version: 10.2
synopsis: The cardano full node
description: The cardano full node.
category: Cardano,
Validator,
copyright: 2019-2023 Input Output Global Inc (IOG), 2023-2024 Intersect.
copyright: 2019-2023 Input Output Global Inc (IOG), 2023-2025 Intersect.
author: IOHK
maintainer: [email protected]
license: Apache-2.0
Expand Down Expand Up @@ -207,8 +207,8 @@ library
, strict-sop-core
, strict-stm
, time
, trace-dispatcher ^>= 2.7.0
, trace-forward ^>= 2.2.8
, trace-dispatcher ^>= 2.8.0
, trace-forward ^>= 2.2.9
, trace-resources ^>= 0.2.3
, tracer-transformers
, transformers
Expand Down
7 changes: 6 additions & 1 deletion cardano-node/src/Cardano/Node/Configuration/TopologyP2P.hs
Original file line number Diff line number Diff line change
Expand Up @@ -250,7 +250,12 @@ readTopologyFile nc tr = do
]
genesisIncompatible
= Text.pack $ "Cardano.Node.Configuration.Topology.readTopologyFile: "
<> "Bootstrap peers are not used in Genesis consensus mode."
<> "Bootstrap peers (field 'bootstrapPeers') are not compatible "
<> "with Genesis syncing mode, reverting to 'DontUseBootstrapPeers'. "
<> "Big ledger peers will be leveraged for decentralized syncing - it "
<> "is recommened to provide an up-to-date big ledger peer snapshot file "
<> "(field 'peerSnapshotFile' in topology configuration) to facilitate "
<> "this process."
handlerBootstrap :: Text
handlerBootstrap = mconcat
[ "You seem to have not configured any trustable peers. "
Expand Down
2 changes: 1 addition & 1 deletion cardano-node/src/Cardano/Node/Protocol/Cardano.hs
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ mkSomeConsensusProtocolCardano NodeByronProtocolConfiguration {
shelleyGenesisHash,
shelleyBasedLeaderCredentials = shelleyLeaderCredentials
}
, Consensus.cardanoProtocolVersion = ProtVer (natVersion @10) 2
, Consensus.cardanoProtocolVersion = ProtVer (natVersion @10) 3
-- The remaining arguments specify the parameters needed to transition between two eras
, Consensus.cardanoLedgerTransitionConfig =
Ledger.mkLatestTransitionConfig
Expand Down
7 changes: 5 additions & 2 deletions cardano-node/src/Cardano/Node/Run.hs
Original file line number Diff line number Diff line change
Expand Up @@ -930,7 +930,7 @@ mkP2PArguments NodeConfiguration {
, P2P.daMinBigLedgerPeersForTrustedState = ncMinBigLedgerPeersForTrustedState
}
where
deadlineTargets = Configuration.defaultDeadlineTargets {
deadlineTargets = PeerSelectionTargets {
targetNumberOfRootPeers = ncDeadlineTargetOfRootPeers,
targetNumberOfKnownPeers = ncDeadlineTargetOfKnownPeers,
targetNumberOfEstablishedPeers = ncDeadlineTargetOfEstablishedPeers,
Expand All @@ -939,7 +939,10 @@ mkP2PArguments NodeConfiguration {
targetNumberOfEstablishedBigLedgerPeers = ncDeadlineTargetOfEstablishedBigLedgerPeers,
targetNumberOfActiveBigLedgerPeers = ncDeadlineTargetOfActiveBigLedgerPeers
}
syncTargets = Configuration.defaultSyncTargets {
syncTargets = PeerSelectionTargets {
targetNumberOfRootPeers = 0,
targetNumberOfKnownPeers = 0,
targetNumberOfEstablishedPeers = 0,
targetNumberOfActivePeers = ncSyncTargetOfActivePeers,
targetNumberOfKnownBigLedgerPeers = ncSyncTargetOfKnownBigLedgerPeers,
targetNumberOfEstablishedBigLedgerPeers = ncSyncTargetOfEstablishedBigLedgerPeers,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ module Cardano.Node.Tracing.Tracers.BlockReplayProgress
import Cardano.Api (textShow)

import Cardano.Logging
import Ouroboros.Consensus.Block (realPointSlot)
import Ouroboros.Consensus.Block (SlotNo, realPointSlot)
import qualified Ouroboros.Consensus.Storage.ChainDB as ChainDB
import qualified Ouroboros.Consensus.Storage.LedgerDB as LedgerDB
import Ouroboros.Network.Block (pointSlot, unSlotNo)
Expand All @@ -20,12 +20,14 @@ import Data.Text (pack)

data ReplayBlockStats = ReplayBlockStats
{ rpsDisplay :: Bool
, rpsCurSlot :: SlotNo
, rpsGoalSlot :: SlotNo
, rpsProgress :: Double
, rpsLastProgress :: Double
}

emptyReplayBlockStats :: ReplayBlockStats
emptyReplayBlockStats = ReplayBlockStats False 0.0 0.0
emptyReplayBlockStats = ReplayBlockStats False 0 0 0.0 0.0

--------------------------------------------------------------------------------
-- ReplayBlockStats Tracer
Expand All @@ -37,7 +39,15 @@ instance LogFormatting ReplayBlockStats where
[ "kind" .= String "ReplayBlockStats"
, "progress" .= String (pack $ show rpsProgress)
]
forHuman ReplayBlockStats {..} = "Block replay progress " <> textShow rpsProgress <> "%"
forHuman ReplayBlockStats {..} = "Replayed block: slot " <> textShow (unSlotNo rpsCurSlot) <> " out of " <> textShow (unSlotNo rpsGoalSlot) <> ". Progress: " <> textShow (round2 rpsProgress) <> "%"
where
round2 :: Double -> Double
round2 num =
let
f :: Int
f = round $ num * 100
in fromIntegral f / 100

asMetrics ReplayBlockStats {..} =
[DoubleM "blockReplayProgress" rpsProgress]

Expand Down Expand Up @@ -75,12 +85,12 @@ replayBlockStats :: MonadIO m
-> m ReplayBlockStats
replayBlockStats ReplayBlockStats {..} _context
(ChainDB.TraceLedgerReplayEvent (LedgerDB.ReplayedBlock pt []
(LedgerDB.ReplayStart replayTo) _)) = do
let slotno = toInteger $ unSlotNo (realPointSlot pt)
endslot = toInteger $ withOrigin 0 unSlotNo (pointSlot replayTo)
progress' = (fromInteger slotno * 100.0) / fromInteger (max slotno endslot)
_ (LedgerDB.ReplayGoal replayTo))) = do
let slotno = realPointSlot pt
endslot = withOrigin 0 id $ pointSlot replayTo
progress' = (fromIntegral (unSlotNo slotno) * 100.0) / fromIntegral (unSlotNo $ max slotno endslot)
pure $ if (progress' == 0.0 && not rpsDisplay)
|| ((progress' - rpsLastProgress) > 1.0)
then ReplayBlockStats True progress' progress'
else ReplayBlockStats False progress' rpsLastProgress
|| ((progress' - rpsLastProgress) > 0.1)
then ReplayBlockStats True slotno endslot progress' progress'
else ReplayBlockStats False slotno endslot progress' rpsLastProgress
replayBlockStats st@ReplayBlockStats {} _context _ = pure st
4 changes: 2 additions & 2 deletions cardano-node/src/Cardano/Node/Tracing/Tracers/ChainDB.hs
Original file line number Diff line number Diff line change
Expand Up @@ -633,8 +633,8 @@ instance ( LogFormatting (Header blk)
, IntM "slotInEpoch" (fromIntegral slotInEpoch)
, IntM "epoch" (fromIntegral (unEpochNo epoch))
, PrometheusM "tipBlock" [("hash",tipBlockHash)
,("parent hash",tipBlockParentHash)
,("issuer verification key hash", tipBlockIssuerVkHashText)]
,("parent_hash",tipBlockParentHash)
,("issuer_verification_key_hash", tipBlockIssuerVkHashText)]
]
asMetrics _ = []

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -465,7 +465,6 @@ instance HasSeverityAnnotation (TracePeerSelection addr) where
TraceGovernorWakeup {} -> Info
TraceChurnWait {} -> Info
TraceChurnMode {} -> Info
-- TraceVerifyPeerSnapshot {} -> Info

TraceForgetBigLedgerPeers {} -> Info

Expand Down
2 changes: 1 addition & 1 deletion cardano-submit-api/NOTICE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright 2019-2023 Input Output Global Inc (IOG), 2023-2024 Intersect.
Copyright 2019-2023 Input Output Global Inc (IOG), 2023-2025 Intersect.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion cardano-submit-api/cardano-submit-api.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ bug-reports: https://github.com/intersectmbo/cardano-node/issues
license: Apache-2.0
license-files: LICENSE
NOTICE
copyright: 2019-2023 Input Output Global Inc (IOG), 2023-2024 Intersect.
copyright: 2019-2023 Input Output Global Inc (IOG), 2023-2025 Intersect.
author: IOHK Engineering Team
maintainer: [email protected]
category: Cardano,
Expand Down
2 changes: 1 addition & 1 deletion cardano-testnet/NOTICE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright 2021-2023 Input Output Global Inc (IOG), 2023-2024 Intersect.
Copyright 2021-2023 Input Output Global Inc (IOG), 2023-2025 Intersect.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion cardano-testnet/cardano-testnet.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ name: cardano-testnet
version: 10.0.0
synopsis: The cardano full node
description: The cardano full node.
copyright: 2021-2023 Input Output Global Inc (IOG), 2023-2024 Intersect.
copyright: 2021-2023 Input Output Global Inc (IOG), 2023-2025 Intersect.
author: IOHK
maintainer: [email protected]
category: Cardano,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,9 @@ hprop_ledger_events_propose_new_constitution = integrationWorkspace "propose-new
, "--tx-file", stakeCertTxSignedFp
]

-- make sure that stake registration cert gets into a block
H.noteShowM_ $ waitForBlocks epochStateView 1

-- Create constitution proposal
guardRailScriptFp <- H.note $ work </> "guard-rail-script.plutusV3"
H.writeFile guardRailScriptFp $ Text.unpack plutusV3Script
Expand Down
5 changes: 5 additions & 0 deletions cardano-tracer/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
# ChangeLog

## 0.3.1 (January 22, 2025)

* Fix race condition when querying `NodeInfo` data point, occasionally resulting in fallback `NodeName`s instead of proper ones.
* Updated to `typed-protocols-0.3`.

## 0.3 (September 26, 2024)

* Fix the creation of empty logs.
Expand Down
2 changes: 1 addition & 1 deletion cardano-tracer/NOTICE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright 2022-2023 Input Output Global Inc (IOG), 2023-2024 Intersect.
Copyright 2022-2023 Input Output Global Inc (IOG), 2023-2025 Intersect.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
Loading

0 comments on commit c4d675b

Please sign in to comment.