NOTE: THIS RELEASE IS ONLY RECOMMENDED FOR USE ON THE SANCHONET AND PUBLIC TEST ENVIRONMENTS (E.G. PREVIEW) AT THIS TIME. IT IS NOT RECOMMENDED FOR USE ON MAINNET.
Node 8.11.0-pre
introduces a number of changes that are needed to prepare for the Conway
era, as well as other improvements. The hardfork combinator (HFC) has been made more robust and governance actions have been limited for the bootstrap phase. The PlutusV3
cost model has been added to the Conway
genesis file. Network code includes further peer sharing improvements and changes that are related to inbound and outbound governors. Modifications have also been made to the Praos chain order. New API features include the possibility to query the account state, and to estimate and calculate balanced TxBody
s. Finally, two new CLI commands have been introduced: governance action create-hardfork
to generate a hard fork governance action, and transaction build-estimate
, to produce a balanced transaction body without requiring a connection to a live node.
Known Issues
Haskell Security Advisory
Haskell Security Advisory is a repository of security advisories filed against packages published via Hackage.
cabal-audit output:
Found advisories:
dependency "base" at version 4.19.1.0 is vulnerable for:
HSEC-2023-0007 "readFloat: memory exhaustion with large exponent"
published: 2024-05-04 20:52:44 +0200
https://haskell.github.io/security-advisories/advisory/HSEC-2023-0007
No fix version available
toml, parser, dos
dependency "process" at version 1.6.18.0 is vulnerable for:
HSEC-2024-0003 "process: command injection via argument list on Windows"
published: 2024-05-04 20:52:44 +0200
https://haskell.github.io/security-advisories/advisory/HSEC-2024-0003
Fix available since version 1.6.19.0
windows
Technical Specification
Minimum System Requirements
- An Intel or AMD x86 processor with two or more cores, at 1.6GHz or faster (2GHz or faster for a stake pool or relay)
- Or, for MacOS, an Apple Silicon (M1, M2 or M3) processor
- 24GB of RAM
- 200GB of free storage (250GB recommended for future growth)
Platforms
- Linux 64-bit (Ubuntu 18.04 LTS, 20.04 LTS; Mint 19.3, 20; Debian 10.3)
- Windows 64-bit (8.1, 10, 11)
- MacOS 10.13, 10.14, 10.15, 11
GHC/Cabal supported versions
- GHC 8.10.7/Cabal 3.8.1.0
Supported roles
Platform | Block Production | Relay | Client (Desktop) |
---|---|---|---|
Linux | 🟢 | 🟢 | 🟢 |
Windows | 🟥 | 🟥 | 🟢 |
MacOS | 🟥 | 🟥 | 🟢 |
Downloads
Documentation
- Cardano Node documentation
- Cardano CLI
- Internal API docs for ledger, consensus and network
- Compatibility matrix
Sign off
Role | Approval |
---|---|
Cardano Head of Engineering | 🟢 |
Cardano Head of Product | 🟢 |
Test Engineer | N/A for pre-release |
Performance Engineer | N/A for pre-release |
Site Reliability Engineer | N/A for pre-release |
Release Engineer | 🟢 |
Changelogs
Node
Consensus
- Restricted the VRF tiebreaker based on slot distance starting in the Conway era.
- Added GetAccountState query.
- Changed ShelleyLedgerUpdate by replacing
ShelleyUpdatedProtocolUpdates
withShelleyUpdatedPParams
. - Changed the Praos chain order such that for two blocks A and B by the same
issuer with the same block number, A is now preferred over B only if A
has a higher issue number and (new) A and B are in the same slot.
This is in line with the motivation for the issue number tiebreaker, and
fixes the transitivity of theOrd PraosChainSelectView
instance in a special
case. - Allowed to configure Praos chain order to restrict the VRF tiebreaker based on
slot distance. - Updated
BlockFetch
punishment logic forBlockSupportsDiffusionPipelining
. - Updated chainSel tentative header logic for
BlockSupportsDiffusionPipelining
. - Introduced new
ChainOrde
(withpreferCandidate
) class forSelectViews
,
and add necessary instances. AdaptedpreferAnchoredCandidate
to use
preferCandidate
instead of relying onpreferAnchoredFragment
. - Renamed
QueryLedger
class toBlockSupportsLedgerQuery
. VolatileDB
traces were tweakedVolatileDB.OpenedVolatileDB
trace message now includes the maximum slot seen.- Added
VolatileDB.ClosedDB
.
Ledger
-
Prepared changes for the bootstrap period by restricting government actions and by ignoring
DRep
thresholds. -
Added the ability to do a
HardForkInitiation
into a new era. -
Added
PlutusV3
cost model toConway
genesis. -
Stopped counting expired committee members in active committee size calculation.
-
Included rewards accounts in
DRep
distribution calculation. -
Added
AccountState
ledger state query. -
Bug fixes:
- Stopped embedding
UTXO
andUTXOS
predicate failures from previous eras. - Fixed predicate failure deserialisation bug when re-submitting a
Conway
transaction with an invalid plutus script.
- Stopped embedding
Network
- Refactored inbound governor error handling
- Synchronised churn with the outbound governor
- Peer sharing improvements
- New outbound governor counters included in EKG
- Outbound governor timeout improvements
Cardano-cli
- Introduces the
governance action create-hardfork
cmd. - Enable manual specification of execution units for plutus voting and proposing scripts
cardano-cli query stake-distribution
: add--output-{json,text}
flags- Introduce new
cardano-cli latest transaction build-estimate
command which will produce a balanced transaction body without requiring a connection to a live node - Add
minFeeRefScriptCostPerByte
tocreate-protocol-parameter-update
governance action command. - Fixed misunderstanding in generated README file by
genesis create-testnet-data
. cardano-cli conway governance committe key-hash
: support extended Constitutional Committee keys- Defaulted
calculate-min-fee --reference-script-size
's value to0
- Enable both
--cold-script-file
and--cold-script-hash
forgovernance committee create-hot-key-authorization-certificate
andcommittee create-cold-key-resignation-certificate
- Fixed
--include-stake
behavior inquery drep-state
Cardano-api
-
- Updated
conwayGenesisDefaults
andalonzoGenesisDefaults
. - Changed
CostModel
to useInt64
instead ofInteger
.
- Updated
- Update
estimateBalancedTxBody
to account for required deposits due to governance proposals and stake registration certificates - Adding
MinFeeRefScriptCostPerByte
to ConwayPParams
- Fixed the implementation of
toAlonzoPParams
function. - Sort metadata keys for no-schema json for canonical CBOR
- Implement
estimateBalancedTxBody
andestimateOrCalculateBalancedTxBody
- Add support for Constitutional Committee keys in the
SomeAddressVerificationKey
type
Submit-api
Plutus
Individual packages' changelogs
Package | Version | Changelog |
---|---|---|
Win32-network | 0.1.1.1 | ChangeLog.md |
base-deriving-via | 0.1.0.2 | CHANGELOG.md |
byron-spec-chain | 1.0.1.0 | CHANGELOG.md |
byron-spec-ledger | 1.0.1.0 | CHANGELOG.md |
cardano-api | 8.46.0.0 | CHANGELOG.md |
cardano-binary | 1.7.1.0 | CHANGELOG.md |
cardano-cli | 8.23.1.0 | CHANGELOG.md |
cardano-crypto | 1.1.2 | |
cardano-crypto-class | 2.1.4.0 | CHANGELOG.md |
cardano-crypto-praos | 2.1.2.0 | CHANGELOG.md |
cardano-crypto-test | 1.5.0.2 | |
cardano-crypto-tests | 2.1.2.0 | CHANGELOG.md |
cardano-crypto-wrapper | 1.5.1.2 | CHANGELOG.md |
cardano-data | 1.2.2.0 | CHANGELOG.md |
cardano-git-rev | 0.2.2.0 | |
cardano-ledger-allegra | 1.4.1.0 | CHANGELOG.md |
cardano-ledger-alonzo | 1.8.0.0 | CHANGELOG.md |
cardano-ledger-alonzo-test | 1.2.1.1 | CHANGELOG.md |
cardano-ledger-api | 1.9.1.0 | CHANGELOG.md |
cardano-ledger-babbage | 1.8.0.0 | CHANGELOG.md |
cardano-ledger-babbage-test | 1.2.0.2 | CHANGELOG.md |
cardano-ledger-binary | 1.3.2.0 | CHANGELOG.md |
cardano-ledger-byron | 1.0.1.0 | CHANGELOG.md |
cardano-ledger-byron-test | 1.5.1.0 | |
cardano-ledger-conway | 1.14.0.0 | CHANGELOG.md |
cardano-ledger-conway-test | 1.2.1.5 | CHANGELOG.md |
cardano-ledger-core | 1.12.0.0 | CHANGELOG.md |
cardano-ledger-mary | 1.6.0.0 | CHANGELOG.md |
cardano-ledger-shelley | 1.11.0.0 | CHANGELOG.md |
cardano-ledger-shelley-ma-test | 1.2.2.1 | CHANGELOG.md |
cardano-ledger-shelley-test | 1.4.0.1 | CHANGELOG.md |
cardano-ping | 0.2.0.13 | CHANGELOG.md |
cardano-prelude | 0.1.0.4 | ChangeLog.md |
cardano-prelude-test | 0.1.0.2 | |
cardano-protocol-tpraos | 1.2.0.0 | CHANGELOG.md |
cardano-slotting | 0.2.0.0 | CHANGELOG.md |
cardano-strict-containers | 0.1.3.0 | CHANGELOG.md |
contra-tracer | 0.1.0.2 | |
ekg | 0.4.0.15.0.0.0.0.2 | CHANGELOG.md |
ekg-core | 0.1.1.7.0.0.0.0.1 | CHANGELOG.md |
ekg-forward | 0.5 | CHANGELOG.md |
ekg-json | 0.1.0.7.0.0.0.0.2 | CHANGELOG.md |
fs-api | 0.2.0.1 | CHANGELOG.md |
fs-sim | 0.2.1.1 | CHANGELOG.md |
heapwords | 0.1.0.2 | CHANGELOG.md |
iohk-monitoring | 0.1.11.4 | |
libsystemd-journal | 1.4.5.0.0.0.0.1 | Changelog.md |
lobemo-backend-aggregation | 0.1.0.0 | |
lobemo-backend-ekg | 0.1.1.0 | |
lobemo-backend-monitoring | 0.1.0.0 | |
lobemo-backend-trace-forwarder | 0.1.0.0 | |
lobemo-scribe-systemd | 0.1.0.0 | |
measures | 0.1.0.2 | CHANGELOG.md |
monoidal-synchronisation | 0.1.0.5 | CHANGELOG.md |
network-mux | 0.4.5.1 | CHANGELOG.md |
non-integral | 1.0.0.0 | CHANGELOG.md |
optparse-applicative-fork | 0.18.1.0 | CHANGELOG.md |
ouroboros-consensus | 0.18.0.0 | CHANGELOG.md |
ouroboros-consensus-cardano | 0.16.0.0 | CHANGELOG.md |
ouroboros-consensus-diffusion | 0.16.0.0 | CHANGELOG.md |
ouroboros-consensus-protocol | 0.9.0.0 | CHANGELOG.md |
ouroboros-network | 0.16.0.0 | CHANGELOG.md |
ouroboros-network-api | 0.7.2.0 | CHANGELOG.md |
ouroboros-network-framework | 0.13.1.0 | CHANGELOG.md |
ouroboros-network-mock | 0.1.1.1 | CHANGELOG.md |
ouroboros-network-protocols | 0.8.1.0 | CHANGELOG.md |
ouroboros-network-testing | 0.6.1.0 | CHANGELOG.md |
plutus-core | 1.27.0.0 | CHANGELOG.md |
plutus-ledger-api | 1.27.0.0 | CHANGELOG.md |
plutus-tx | 1.27.0.0 | CHANGELOG.md |
prettyprinter-configurable | 1.27.0.0 | |
quickcheck-monoids | 0.1.0.0 | CHANGELOG.md |
set-algebra | 1.1.0.2 | CHANGELOG.md |
small-steps | 1.1.0.0 | CHANGELOG.md |
sop-extras | 0.2.0.0 | CHANGELOG.md |
strict-checked-vars | 0.2.0.0 | CHANGELOG.md |
strict-sop-core | 0.1.1.0 | CHANGELOG.md |
tracer-transformers | 0.1.0.4 | |
typed-protocols | 0.1.1.0 | CHANGELOG.md |
typed-protocols-cborg | 0.1.0.4 | CHANGELOG.md |
typed-protocols-examples | 0.2.0.2 | |
validation-selective | 0.2.0.0.0.0.0.0.1 | CHANGELOG.md |
vector-map | 1.1.0.0 | CHANGELOG.md |
Legend
-
🟢 - signed / agreed / supported
-
🟥 - not agreed / unsupported