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.
8.8.0-pre
is a minor release of the Cardano node, with the main highlight being the ability to use Plutus V3 in Conway-era transactions. Plutus V3 brings several new capabilities such as a new Voting
script purpose for writing voting scripts, access to governance actions in the ScriptContext
, new cryptographic (BLS, Keccak256 and Blake2b-224) Plutus primitives, and more.
Breaking changes:
Known Issues
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
- Mempool: add reason for transaction removal to
TraceMempoolRemoveTxs
.
Consensus
- Mempool: add reason for transaction removal to
TraceMempoolRemoveTxs
. This can be used in the node to enrich the trace output.
Ledger
-
PlutusV3 support
-
Support for governance policy script
-
Remove the library
cardano-ledger-pretty
-
Ensure all sets are prefixed with tag 258 in CBOR serialization
-
Added DRep injections into the ledger state, thus allowing more complex testing and
benchmarking of Conway features -
Addition of new ledger events
-
Increasing the limit for Url in Anchors to 128 bytes
-
Provide accurate transaction fee estimation functionality for Haskell tools
-
Important bug fixes:
- missing
"protocolVersion"
field in JSON instance for Babbage and Conway protocol parameters - requiring witnesses for DRep registration
- new committee governance action ratification was implemented incorrectly
- guard against invalid protocol versions in hard fork initiation proposals
- failures during updates of Plutus CostModels were not retained
- fixed the types for some protocol parameters in order to prevent values that are too large
- serialization and CDDL fixes for transaction witnesses in the Conway Era
- missing
Network
- Peer Sharing bug fixes and improvements:
- Fixed Peer Sharing & light peer sharing bugs. Now peer sharing is more useful.
- Balance peer sharing timeout to 5min for newly connected peers
- Balance
policyPeerShareRetryTime
- Experimental
node-to-client
version 16, which comes with a new version oflocal-state-query
protocol.
Cardano-cli
transaction build
andtransaction build-raw
commands now parse optional Plutus script witnesses for votes and proposals- Committee, DRep and DRep extended keys are able to sign transactions
- The "tx body intermediate format" is now fully deprecated
- create-testnet-data: better UX for supply arguments: have a flag for total supply and delegated supply is a fraction of that.
- add support for registration of script DReps;
- Add --drep-keys flag to create-testnet-data
- Make queries that optionally filter their result by DRep keys more explicit:
cardano-cli conway query drep-state
cardano-cli conway query drep-stake-distribution
- In
transaction view
andgovernance action view
, replace:
--output-format json
by--output-json
--output-format yaml
by--output-yaml
- governance vote view: use
--output-format
, like other commands, instead of--yaml
- create-testnet-data: rename --stake-delegators to --transient-stake-delegators
- Make
query pool-state
default to returning information on all pools stake-address registration-certificate
: remove flag--key-reg-deposit-amt
from all eras except conway- Remove the
constitution-hash
option from the non-conway versions ofquery
Cardano-api
- Committee, DRep and DRep extended keys are able to sign transactions
- Fix bech32 prefixes for committee keys and key hashes
- Replace
PrevGovActionId
withGovPurposeId
- Implement
TxProposalProcedures
andTxVotingProcedures
which enables Plutus script witnessing of proposals and votes. - Remove support for intermediate tx body format.
- Add return value to `checkLedgerStateCondition
- Implement
checkLedgerStateConditions
. This new function gives direct access to theNewEpochState
which contains the ledger state. It also requires anEpochNo
upon which it will terminate if the supplied condition is not met. - Restore the inclusion of datum hashes in Alonzo era tx bodies
Submit-api
NONE
Plutus
- Plutus V3 support (governance scripts; BLS, Keccak256 and Blake2b-224 cryptographic primitives)
- Improve the performance of
eq
,geq
andleq
operations onValue
- Implement common subexpression elimination for UPLC
- Add some helper functions for working with Plutus V3
ScriptContext
Note that there is no support in this release for bitwise primitives integerToByteString
and byteStringToInteger
in Plutus V3. These primitives will be enabled in the near future, and additional bitwise primitives are planned further ahead.
Individual packages' changelogs
Package | Version | Changelog |
---|---|---|
Win32-network | 0.1.1.1 | ChangeLog.md |
base-deriving-via | 0.1.0.2 | CHANGELOG.md |
bech32 | 1.1.4.1 | ChangeLog.md |
byron-spec-chain | 1.0.0.2 | CHANGELOG.md |
byron-spec-ledger | 1.0.0.2 | CHANGELOG.md |
cardano-api | 8.38.0.1 | CHANGELOG.md |
cardano-binary | 1.7.1.0 | CHANGELOG.md |
cardano-cli | 8.20.0.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.1 | |
cardano-crypto-tests | 2.1.2.0 | CHANGELOG.md |
cardano-crypto-wrapper | 1.5.1.1 | CHANGELOG.md |
cardano-data | 1.2.0.0 | CHANGELOG.md |
cardano-ledger-allegra | 1.3.0.0 | CHANGELOG.md |
cardano-ledger-alonzo | 1.6.0.0 | CHANGELOG.md |
cardano-ledger-alonzo-test | 1.2.0.0 | CHANGELOG.md |
cardano-ledger-api | 1.8.0.0 | CHANGELOG.md |
cardano-ledger-babbage | 1.6.0.0 | CHANGELOG.md |
cardano-ledger-babbage-test | 1.2.0.0 | CHANGELOG.md |
cardano-ledger-binary | 1.3.0.0 | CHANGELOG.md |
cardano-ledger-byron | 1.0.0.4 | CHANGELOG.md |
cardano-ledger-byron-test | 1.5.0.1 | |
cardano-ledger-conway | 1.12.0.0 | CHANGELOG.md |
cardano-ledger-conway-test | 1.2.1.3 | CHANGELOG.md |
cardano-ledger-core | 1.10.0.0 | CHANGELOG.md |
cardano-ledger-mary | 1.5.0.0 | CHANGELOG.md |
cardano-ledger-shelley | 1.9.0.0 | CHANGELOG.md |
cardano-ledger-shelley-ma-test | 1.2.1.6 | CHANGELOG.md |
cardano-ledger-shelley-test | 1.3.0.1 | CHANGELOG.md |
cardano-ping | 0.2.0.11 | CHANGELOG.md |
cardano-prelude | 0.1.0.4 | ChangeLog.md |
cardano-prelude-test | 0.1.0.2 | |
cardano-protocol-tpraos | 1.1.0.0 | CHANGELOG.md |
cardano-slotting | 0.1.2.0 | CHANGELOG.md |
cardano-strict-containers | 0.1.2.1 | 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.4 | 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.0.1 | |
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.0 | CHANGELOG.md |
non-integral | 1.0.0.0 | CHANGELOG.md |
optparse-applicative-fork | 0.18.1.0 | CHANGELOG.md |
ouroboros-consensus | 0.15.0.0 | CHANGELOG.md |
ouroboros-consensus-cardano | 0.13.0.0 | CHANGELOG.md |
ouroboros-consensus-diffusion | 0.10.0.0 | CHANGELOG.md |
ouroboros-consensus-protocol | 0.7.0.0 | CHANGELOG.md |
ouroboros-network | 0.11.0.0 | CHANGELOG.md |
ouroboros-network-api | 0.6.3.0 | CHANGELOG.md |
ouroboros-network-framework | 0.11.0.0 | CHANGELOG.md |
ouroboros-network-mock | 0.1.1.1 | CHANGELOG.md |
ouroboros-network-protocols | 0.7.0.0 | CHANGELOG.md |
ouroboros-network-testing | 0.5.0.0 | CHANGELOG.md |
plutus-core | 1.21.0.0 | CHANGELOG.md |
plutus-ledger-api | 1.21.0.0 | CHANGELOG.md |
plutus-tx | 1.21.0.0 | CHANGELOG.md |
prettyprinter-configurable | 1.21.0.0 | |
set-algebra | 1.1.0.2 | CHANGELOG.md |
small-steps | 1.0.1.0 | CHANGELOG.md |
small-steps-test | 1.0.1.0 | CHANGELOG.md |
sop-extras | 0.1.0.0 | CHANGELOG.md |
strict-checked-vars | 0.2.0.0 | CHANGELOG.md |
strict-sop-core | 0.1.0.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 |