Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prepare 10.2 release #6084

Merged
merged 13 commits into from
Jan 28, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
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
Loading