All notable changes to this project will be documented in this file.
Exceptions are the API server and WASM bindings, which have their own changelogs.
The format is loosely based on Keep a Changelog.
-
Wallet RPC:
wallet_info: the structure of the returned fieldextra_infowas changed. -
The format of `PartiallySignedTransaction was changed again.
-
p2p: when a peer sends a message that can't be decoded, it will now be discouraged (which is what is normally done for misbehaving peers) and the node won't try connecting to it again.
Also, the peer will be sent an appropriateWillDisconnectmessage prior to disconnection. -
Wallet CLI and RPC: the commands
account-utxosandstandalone-multisig-utxosand their RPC counterparts now return correct decimal amounts for tokens with non-default number of decimals.
-
A Mainnet fork is scheduled at height 517700 with the same consensus changes that previously happened on Testnet, namely:
- Orders V1.
- Change in the token id generation.
- Transaction input commitments V1.
- Prohibit updating staker's destination in
ProduceBlockFromStakeoutputs.
See the changelog for v1.1.0 below for extra details.
-
Wallet:
-
Added a new
wallet-clicommand to undiscourage a previously discouraged peer -node-undiscourage-peer-address. -
Added a new
wallet-clicommand to return the account's extended public key -account-extended-public-key-as-hex. -
Added new
wallet-clicommandconfig-broadcast. Whenconfig-broadcast nois called, it prevents all commands that create transactions from automatically broadcasting them to the network. -
wallet-cligained a new option--no-qr, which disables QR code output for wallet commands. -
Added support for Trezor hardware wallets (beta).
Because of this,
wallet-cliandwallet-rpc-daemongained an additional parameter,--hardware-wallet, which must be used together with--wallet-fileto indicate that the wallet file being opened corresponds to a hardware wallet.
-
-
Wallet RPC:
- New methods:
account_extended_public_key,node_undiscourage_peer_address(similar to the corresponding commands inwallet-cli) andtoken_make_tx_to_send_with_intent.
- New methods:
-
Node RPC: new methods -
chainstate_pool_decommission_destination,p2p_undiscourage. -
node-guiandnode-daemonnow can store info-level logs to the data directory, regardless of what is printed to the console. This is controlled by the--log-to-fileoption, which is enabled by default fornode-gui.
-
A Testnet fork is scheduled at height 566060 with the following consensus changes:
-
Orders V1. The previous (V0) order inputs will no longer be supported, and the new (V1) ones will have to be used instead.
The main difference is that the new order commands don't use nonces. Also, an additional order-related input will be available -FreezeOrder. -
Change in the token id generation.
Previously, when a new token was being issued, its token id would be generated from the first input of the issuing transaction (which can be UTXO-based or account-based).
Now the token id will always be generated from the first UTXO input of the issuing transaction. -
Transaction input commitments V1.
Transaction signatures will now commit to additional information about the transaction (i.e. the information will become a part of what is being signed), namely:
- In transactions that decommission a pool the signatures will commit to the current staker balance.
- In transactions that fill or conclude an order the signatures will commit to the order balances.
-
Updating staker's destination in
ProduceBlockFromStakeoutputs will no longer be possible.
-
-
ChainstateStorageVersionwas increased, full node resync is required. -
Wallet CLI commands:
-
wallet-createwas split into 2 commands -wallet-createandwallet-recover. They both create a new wallet file and the difference is thatwallet-recoverrescans the blockchain upon creation andwallet-createdoesn't. -
wallet-create/wallet-recover/wallet-opennow have a mandatory subcommand, which can be eithersoftwareortrezor, which specifies the type of the wallet to operate on. -
staking-create-poolnow accepts two optional additional parameters - the staker address and the VRF public key. This allows to create a pool from a wallet other than the one that will be used for staking. -
transaction-list-by-addressandtransaction-list-pendingnow print their output in paginated mode. -
address-shownow has the option--include-change, which makes it include the change addresses in the output. The command will now also print the coin balances of shown addresses. -
address-sweep-spendablenow has the option--all, which makes it sweep all addresses of the selected account.
-
-
Wallet RPC:
-
Most of the methods that create transactions, such as
address_send, now accept an additional field in theiroptionsparameter -broadcast_to_mempool, which specifies whether the transaction should be sent to the mempool upon creation. The default istrue(which is the old behavior). -
Methods that create transactions now also return extra information in addition to the transaction id - the transaction itself (in the hex-encoded form), the info about fees paid by the transaction, whether it was broadcast to mempool or not.
-
address_sweep_spendablegained an additional boolean parameter -all, which may be used to force it to sweep all addresses from the given account. -
staking_create_poolgained additional optional parameters -staker_addressandvrf_public_key, same as the correspondingwallet-clicommand. -
wallet_createwas split intowallet_createandwallet_recover, same as the correspondingwallet-clicommand. -
wallet_create,wallet_recoverandwallet_opengained an additional optional parameter -hardware_wallet. This specifies the type of the hardware wallet to use (currently only trezor wallets are supported); if not set, the wallet is meant to be a software wallet.The results of
wallet_create,wallet_recoverandwallet_opennow may contain additional data, to indicate a situation when creating/recovering/opening a hardware wallet could not be completed due to multiple potentially suitable devices being available.Also,
wallet_createandwallet_recover's result will no longer include the passphrase. -
wallet_inforeturns an additional fieldextra_info, which specifies whether it's a software or hardware wallet; in the latter case the field will also contain additional information, such as the device name. -
address_showgained an additional parameter -include_change_addresses, similar to the corresponding command inwallet-cli.Also, the result of the call now contains additional info - the purpose of each address ("Receive" or "Change") and its coins balance.
-
-
The format of `PartiallySignedTransaction was changed.
Note that
PartiallySignedTransactionis returned or accepted in the hex-encoded form by certainwallet-clicommands and their wallet RPC counterparts, such astransaction-composeoraccount-sign-raw-transaction.
-
Fixed issues in the wallet related to a transaction with an outdated nonce not being marked as conflicted.
-
node-guino longer ignores the network type (i.e. "mainnet" ot "testnet") passed via the command line. -
Fixed an issue where
node-guiwould appear stuck when opening a wallet that wasn't synced in a long time. -
Fixed an issue in the wallet where a text summary for a token-issuing transaction would show its "freezable" status incorrectly.
-
Fixed issues with transaction fee calculation in the wallet.
-
Fixes related to standalone private keys in the wallet:
- Fixed encryption of standalone private keys when a new password is set or the existing one is changed.
- Fixed watching/scanning for relevant public key destinations belonging to standalone private keys (only public key hash destinations used to work before).
- Fixed wallet balance to show spendable UTXOs belonging to standalone private keys.
-
Various minor visual fixes in
node-gui. -
wallet-clihelp output was prettified.
No changes except for the API server, see the corresponding CHANGELOG.md.
- Fix erroneous peer discouragement after mempool reorg.
First major release.