Releases: casper-network/casper-node
Releases · casper-network/casper-node
v1.4.13
private-1.4.8
Integrating the 1.4.8 security fixes into private-chain.
v1.4.8
private-1.4.6
Support for Private Chain configuration of 1.4.6.
v1.4.6
v1.4.5
1.4.5
Added
- Add a temporary chainspec setting
max_stored_value_sizeto limit the size of individual values stored in global state. - Add a chainspec setting
minimum_delegation_amountto limit the minimal amount of motes that can be delegated by a first time delegator. - Add a chainspec setting
block_max_approval_countto limit the maximum number of approvals across all deploys in a single block. - Add a
finalized_approvalsfield to the GetDeploy RPC, which iftruecauses the response to include finalized approvals substituted for the originally-received ones.
Fixed
- Include deploy approvals in block payloads upon which consensus operates.
- Fixes a bug where historical auction data was unavailable via
get-auction-infoRPC.
v1.4.4
v1.4.3
Changelog
All notable changes to this project will be documented in this file. The format is based on Keep a Changelog.
[2.0.1] - 2021-11-4
Test Support (casper-node/execution_engine_testing/test_support)
Changed
- Change the path detection logic for compiled Wasm as used by the casper-node monorepo.
Deprecated
- Deprecate the
test-supportfeature. It had and continues to have no effect when enabled.
[2.0.0] - 2021-11-01
Test Support (casper-node/execution_engine_testing/test_support)
Added
- Provide fine-grained support for testing all aspects of smart contract execution, including:
WasmTestBuilderfor building and running a test to exercise a smart contractDeployItemBuilderfor building aDeployItemfrom a smart contractExecuteRequestBuilderfor building anExecuteRequestto execute a given smart contractAdditiveMapDiffto allow easy comparison of two AdditiveMapsStepRequestBuilderfor building aStepRequest(generally only used by the execution engine itself)UpgradeRequestBuilderfor building anUpgradeRequest(generally only used by the execution engine itself)- Provide
InMemoryWasmTestBuilderwhich will be suitable in most cases for testing a smart contract - Provide
LmdbWasmTestBuildercan be used where global state needs to be persisted after execution of a smart contract - Provide several helper functions in
utilsmodule - Provide several default consts and statics useful across many test scenarios
Removed
- Remove coarse-grained support and newtypes for testing smart contracts, including removal of:
AccountAccountHashErrorSessionSessionBuilderSessionTransferInfoTestContextTestContextBuilderValue
[1.4.4] - 2021-11-18
Casper Types (casper-node/types/)
Fixed
- Revert the accidental change to the
stdfeature causing a broken build when this feature is enabled.
1.4.3 - 2021-11-17
1.4.2 - 2021-11-11
Casper Node (casper-node/node/)
Changed
- There are now less false warnings/errors regarding dropped responders or closed channels during a shutdown, where they are expected and harmless.
- Execution transforms are ordered by insertion order.
Removed
- The config option
consensus.highway.unit_hashes_folderhas been removed.
Fixed
- The block proposer component now retains pending deploys and transfers across a restart.
Execution Engine (casper-node/execution_engine/)
Changed
- Execution transforms are returned in their insertion order.
Removed
- Removed
SystemContractCacheas it was not being used anymore
Casper Types (casper-node/types/)
Added
- Add checksummed hex encoding following a scheme similar to EIP-55.
v1.4.1
Changelog
[1.4.1] - 2021-10-19
Contract (casper-node/smart_contracts/contract)
Changed
- Correcting breaking incompatibilities with previous 1.3.x release
[1.4.0] - 2021-10-14
Casper Node (casper-node/node/)
Added
- Add
enable_manual_syncboolean option to[contract_runtime]in the config.toml which enables manual LMDB sync. - Add new event to the main SSE server stream accessed via
<IP:Port>/events/mainwhich emits hashes of expired deploys. - Add
contract_runtime_execute_blockhistogram tracking execution time of a whole block. - Long-running events now log their event type.
- Individual weights for traffic throttling can now be set through the configuration value
network.estimator_weights. - Add
consensus.highway.max_request_batch_sizeconfiguration parameter. Defaults to 20. - New histogram metrics
deploy_acceptor_accepted_deployanddeploy_acceptor_rejected_deploythat track how long the initial verification took. - Add gzip content negotiation (using accept-encoding header) to rpc endpoints.
- Add
state_get_trieJSON-RPC endpoint. - Add
info_get_validator_changesJSON-RPC endpoint and REST endpointvalidator-changesthat return the status changes of active validators.
Changed
- The following Highway timers are now separate, configurable, and optional (if the entry is not in the config, the timer is never called):
standstill_timeoutcauses the node to restart if no progress is made.request_state_intervalmakes the node periodically request the latest state from a peer.log_synchronizer_intervalperiodically logs the number of entries in the synchronizer queues.- Add support for providing node uptime via the addition of an
uptimeparameter in the response to the/statusendpoint and theinfo_get_statusJSON-RPC. - Support building and testing using stable Rust.
- Log chattiness in
debugor lower levels has been reduced and performance atinfoor higher slightly improved. - The following parameters in the
[gossip]section of the config has been renamed: [finished_entry_duration_secs]=>[finished_entry_duration][gossip_request_timeout_secs]=>[gossip_request_timeout][get_remainder_timeout_secs]=>[get_remainder_timeout]- The following parameters in config now follow the humantime convention ('30sec', '120min', etc.):
[network][gossip_interval][gossip][finished_entry_duration][gossip][gossip_request_timeout][gossip][get_remainder_timeout][fetcher][get_from_peer_timeout]
Removed
- The unofficial support for nix-related derivations and support tooling has been removed.
- Experimental, nix-based kubernetes testing support has been removed.
- Experimental support for libp2p has been removed.
- The
isolation_reconnect_delayconfiguration, which has been ignored since 1.3, has been removed. - The libp2p-exclusive metrics of
read_futures_in_flight,read_futures_total,write_futures_in_flight,write_futures_totalhave been removed.
Fixed
- Resolve an issue where
Deployswith payment amounts exceeding the block gas limit would not be rejected. - Resolve issue of duplicated config option
max_associated_keys.
Execution Engine (casper-node/execution_engine/)
Added
- Added genesis validation step to ensure there are more genesis validators than validator slots.
- Added a support for passing a public key as a
targetargument in native transfers. - Added a
max_associated_keysconfiguration option for a hard limit of associated keys under accounts.
Changed
- Documented
storagemodule and children. - Reduced visibility to
pub(crate)in several areas, allowing some dead code to be noticed and pruned. - Support building and testing using stable Rust.
- Increase price of
create_purseto 2.5CSPR. - Increase price of native transfer to 100 million motes (0.1 CSPR).
- Improve doc comments to clarify behavior of the bidding functionality.
- Document
coreandsharedmodules and their children. - Change parameters to
LmdbEnvironment's constructor enabling manual flushing to disk.
Fixed
- Fix a case where user could potentially supply a refund purse as a payment purse.
Node Macros (casper-node/node_macros/)
Changed
- Support building and testing using stable Rust.
Casper Types (casper-node/types/)
Added
- Add
json-schemafeature, disabled by default, to enable many types to be used to produce JSON-schema data. - Add implicit
datasizefeature, disabled by default, to enable many types to derive theDataSizetrait. - Add
StoredValuetypes to this crate.
Changed
- Support building and testing using stable Rust.
- Allow longer hex string to be presented in
jsonfiles. Current maximum is increased from 100 to 150 characters. - Improve documentation and
Debugimpls forApiError.
Deprecated
- Feature
stdis deprecated as it is now a no-op, since there is no benefit to linking the std lib via this crate.
Cargo Casper (casper-node/execution_engine_testing/cargo_casper)
Changed
- Support building and testing using stable Rust.
Removed
- Remove support for generating an ERC-20 contract.
Test Support (casper-node/execution_engine_testing/test_support)
Changed
- Support building and testing using stable Rust.
Contract (casper-node/smart_contracts/contract)
Added
- Add
no-std-helpersfeature, enabled by default, which provides no-std panic/oom handlers and a global allocator as a convenience. - Add new APIs for transferring tokens to the main purse associated with a public key:
transfer_to_public_keyandtransfer_from_purse_to_public_key.
Deprecated
- Feature
stdis deprecated as it is now a no-op, since there is no benefit to linking the std lib via this crate.
Contract AssemblyScript (casper-node/smart_contracts/contract_as)
Added
- Add function to create an account hash from a public key.
- Add getter for public key algorithm name.
- Add getter for raw bytes of public key.
- Export casper_blake2b.
- Add new APIs for transferring tokens to the main purse associated with a public key:
transferToPublicKeyandtransferFromPurseToPublicKey.
Fixed
- Fix instances of
return <T>unreachable()which is invalid code under the latest AssemblyScript compiler.
v1.4.0
Changelog
[1.4.0] - 2021-10-14
Casper Node (casper-node/node/)
Added
- Add
enable_manual_syncboolean option to[contract_runtime]in the config.toml which enables manual LMDB sync. - Add new event to the main SSE server stream accessed via
<IP:Port>/events/mainwhich emits hashes of expired deploys. - Add
contract_runtime_execute_blockhistogram tracking execution time of a whole block. - Long-running events now log their event type.
- Individual weights for traffic throttling can now be set through the configuration value
network.estimator_weights. - Add
consensus.highway.max_request_batch_sizeconfiguration parameter. Defaults to 20. - New histogram metrics
deploy_acceptor_accepted_deployanddeploy_acceptor_rejected_deploythat track how long the initial verification took. - Add gzip content negotiation (using accept-encoding header) to rpc endpoints.
- Add
state_get_trieJSON-RPC endpoint. - Add
info_get_validator_changesJSON-RPC endpoint and REST endpointvalidator-changesthat return the status changes of active validators.
Changed
- The following Highway timers are now separate, configurable, and optional (if the entry is not in the config, the timer is never called):
standstill_timeoutcauses the node to restart if no progress is made.request_state_intervalmakes the node periodically request the latest state from a peer.log_synchronizer_intervalperiodically logs the number of entries in the synchronizer queues.- Add support for providing node uptime via the addition of an
uptimeparameter in the response to the/statusendpoint and theinfo_get_statusJSON-RPC. - Support building and testing using stable Rust.
- Log chattiness in
debugor lower levels has been reduced and performance atinfoor higher slightly improved. - The following parameters in the
[gossip]section of the config has been renamed: [finished_entry_duration_secs]=>[finished_entry_duration][gossip_request_timeout_secs]=>[gossip_request_timeout][get_remainder_timeout_secs]=>[get_remainder_timeout]- The following parameters in config now follow the humantime convention ('30sec', '120min', etc.):
[network][gossip_interval][gossip][finished_entry_duration][gossip][gossip_request_timeout][gossip][get_remainder_timeout][fetcher][get_from_peer_timeout]
Removed
- The unofficial support for nix-related derivations and support tooling has been removed.
- Experimental, nix-based kubernetes testing support has been removed.
- Experimental support for libp2p has been removed.
- The
isolation_reconnect_delayconfiguration, which has been ignored since 1.3, has been removed. - The libp2p-exclusive metrics of
read_futures_in_flight,read_futures_total,write_futures_in_flight,write_futures_totalhave been removed.
Fixed
- Resolve an issue where
Deployswith payment amounts exceeding the block gas limit would not be rejected. - Resolve issue of duplicated config option
max_associated_keys.
Execution Engine (casper-node/execution_engine/)
Added
- Added genesis validation step to ensure there are more genesis validators than validator slots.
- Added a support for passing a public key as a
targetargument in native transfers. - Added a
max_associated_keysconfiguration option for a hard limit of associated keys under accounts.
Changed
- Documented
storagemodule and children. - Reduced visibility to
pub(crate)in several areas, allowing some dead code to be noticed and pruned. - Support building and testing using stable Rust.
- Increase price of
create_purseto 2.5CSPR. - Increase price of native transfer to 100 million motes (0.1 CSPR).
- Improve doc comments to clarify behavior of the bidding functionality.
- Document
coreandsharedmodules and their children. - Change parameters to
LmdbEnvironment's constructor enabling manual flushing to disk.
Fixed
- Fix a case where user could potentially supply a refund purse as a payment purse.
Node Macros (casper-node/node_macros/)
Changed
- Support building and testing using stable Rust.
Casper Types (casper-node/types/)
Added
- Add
json-schemafeature, disabled by default, to enable many types to be used to produce JSON-schema data. - Add implicit
datasizefeature, disabled by default, to enable many types to derive theDataSizetrait. - Add
StoredValuetypes to this crate.
Changed
- Support building and testing using stable Rust.
- Allow longer hex string to be presented in
jsonfiles. Current maximum is increased from 100 to 150 characters. - Improve documentation and
Debugimpls forApiError.
Deprecated
- Feature
stdis deprecated as it is now a no-op, since there is no benefit to linking the std lib via this crate.
Cargo Casper (casper-node/execution_engine_testing/cargo_casper)
Changed
- Support building and testing using stable Rust.
Removed
- Remove support for generating an ERC-20 contract.
Test Support (casper-node/execution_engine_testing/test_support)
Changed
- Support building and testing using stable Rust.
Contract (casper-node/smart_contracts/contract)
Added
- Add
no-std-helpersfeature, enabled by default, which provides no-std panic/oom handlers and a global allocator as a convenience. - Add new APIs for transferring tokens to the main purse associated with a public key:
transfer_to_public_keyandtransfer_from_purse_to_public_key.
Deprecated
- Feature
stdis deprecated as it is now a no-op, since there is no benefit to linking the std lib via this crate.
Contract AssemblyScript (casper-node/smart_contracts/contract_as)
Added
- Add function to create an account hash from a public key.
- Add getter for public key algorithm name.
- Add getter for raw bytes of public key.
- Export casper_blake2b.
- Add new APIs for transferring tokens to the main purse associated with a public key:
transferToPublicKeyandtransferFromPurseToPublicKey.
Fixed
- Fix instances of
return <T>unreachable()which is invalid code under the latest AssemblyScript compiler.