Cardano Node 1.14.0
This release delivers new and refined CLI commands, support for transaction metadata, the new ledger minimum pool cost feature, and enhancements to pool rankings. It also includes a new implementation of the VRF cryptography primitives, improvements in the KeepAlive
network mini-protocol, the Byron-to-Shelley hard-fork implementation, block fetch calculation, logging and reporting, and simplified Docker image usage.
There are Shelley breaking changes in this release including changes in the implementation of address hash and VRF cryptography primitives, and removal of the decaying deposit feature. The Shelley features have been pre-released for public testing and review on the re-spawn of Cardano Shelley Testnet. The Shelley changes are not available in the Byron mode.
Deployed on the Shelley testnet on 23 June 2020.
Shelley new features
- A minimum pool cost ledger feature as a protocol parameter
minPoolCost
(#1539, #1546) - New option for transaction metadata
--metadata-file
for transaction construction using thebuild-raw
command (#1038, #1233) - New flag for reward account withdrawals
--withdrawal
in transaction construction (#1117, #1237) - New command for pool metadata JSON validation and hashing
metadata-hash
(#1207, #1234, #1299) - New flags for pool metadata:
--pool-metadata-file
, used inmetadata-hash
command, and--metadata-url
,--metadata-hash
, used in the pool registration certificate commandregistration-certificate
(#1234) - New flags for pool relays
--multi-host-pool-relay
,--single-host-pool-relay
,--pool-relay-port
in pool registration certificate commandregistration-certificate
(#1282, #1296) - New command
convert-itn-key
to convert ITN keys (#1070, #1136) - New command
txid
to get the transaction id of a transaction body (#1231)
Improvements
- Adjusted logging verbosity defaults (#1225)
- Added logging of warnings and alerts for certificate expiry (#1228)
- Added reporting number of missed opportunities to make blocks in the live view (#1202)
- Allowed overriding the hostname using the environment variable
CARDANO_NODE_LOGGING_HOSTNAME
(#1278) - Changed timeouts for chain synchronisation to be drawn from a Praos-specific distribution (#2249)
- Improved
KeepAlive
network mini-protocol (#2230) for apps with scheduled stop - Added support for restarting mini-protocols (#2205, #2221, #2286)
- Adjusted and simplified the block fetch calculation for determining the current mode - deadline mode or bulk sync mode (#2267)
- Shelley ledger changes:
- Improved track of historical pool performance for pool ranking (#1565)
- Added support of pool ranking with hypothetical amount to delegate (#1543)
- Improved genesis JSON support in the ledger (#1534, #1536)
- Added genesis JSON support for initial stake pools and delegation (#1552)
- Added benchmarks and optimisations (#1527, #1566)
- Updated the formal specification to cover MIR certificates drawing from the treasury (#1526)
- Updated the design specification address terminology, and multi-sig (#1547, #1554)
- Updated the design specification on stake pool metadata (#1507)
- ⚠️ Simplified the Docker image usage:
cardano-node
is used now as the entry-point, aligning with the existing interface of the underlying service, and removing the convention of mounting volumes into specified directories. As a result, previously pre-set arguments including, but not limited to--config
or--socket-path
, now need to be passed at runtime based on user specific configuration. See the diff and inline description for more info. The quickstart mode of passing aNETWORK
environment is not impacted by this change" (#1317). This is a breaking change. Customised (other than testnet and mainnet) Docker image build may fail
Shelley breaking changes ⚠️
- Changed the ledger state dump query to return the whole state (#2288)
- Changed address hashes to be 224 bit, according to the design spec (#1549)
- Updated to the latest VRF API changes (#1527)
- Removed the decaying deposits feature. Deposits are returned in full (#1512)
- Removed unnecessary pool relay port number override in DNS SRV case (#1570)
Resolved issues
- Fixed a minor regression in the logging so all tracers are configurable (#1192)
- Fixed reporting of git revision in
cardano-node --version
command (#1263) - Fixed genesis JSON conversion of fractional values to preserve precision (#1569)
- Fixed the query stake-address-info to accept stake addresses (#1197, #1194)
- Fixed return exit code for transaction submission failures (#1226)
Known Issues
Shelley testnet-specific Issues
- Incorrect genesis settings may result in the node not connecting as expected
- There are still a number of performance issues that need to be addressed
- There are various issues with logging and monitoring
Documentation
- Cardano CLI
- Internal API docs for ledger, consensus and network
- Making a Shelley blockchain from scratch
- Shelley testnet tutorial
Platforms
- Linux 64-bit, Windows 64 bit
- Docker image
Sign off
Role | Approval |
---|---|
Technical Lead | ✔️ |
QA Engineer | ✔️ |
Ops | ✔️ |
Release Manager | ✔️ |