mirror of
https://github.com/nspcc-dev/neo-go.git
synced 2024-12-23 03:41:34 +00:00
CHANGELOG: release 0.106.0
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
This commit is contained in:
parent
aceaabe9d6
commit
72161fe902
1 changed files with 99 additions and 0 deletions
99
CHANGELOG.md
99
CHANGELOG.md
|
@ -2,6 +2,105 @@
|
|||
|
||||
This document outlines major changes between releases.
|
||||
|
||||
## 0.106.0 "Zephyranthes" (21 May 2024)
|
||||
|
||||
We're rolling out a large set of updates including all of Neo 3.7.4 protocol changes:
|
||||
native contracts update functionality and extended native contract APIs united under
|
||||
the upcoming Cockatrice hardfork. For smart contract developers an ability to
|
||||
generate smart contract bindings with dynamic hash is supported as well as a number
|
||||
of useful extensions for `unwrap` package, compatible NNS smart contract RPC binding
|
||||
and a lot of other handy enhancements. This release also includes a couple of severe
|
||||
regression bug fixes affecting the node state. As a bonus of fixing a wide range of
|
||||
failing tests, we've refactored the node services start and shutdown procedures to
|
||||
make it more stable. This version drops support for Go 1.19 and requires 1.20+ to
|
||||
build (with Go 1.22 supported).
|
||||
|
||||
Notice that this release requires full node resynchronization for both mainnet
|
||||
and testnet nodes. Please pay a special attention to the Cockatrice hardfork schedule
|
||||
and check your configurations. It should be configured for 3967000 of T5 testnet and
|
||||
5450000 of mainnet. To ensure compatibility your node must be configured
|
||||
appropriately.
|
||||
|
||||
New features:
|
||||
* native contracts update functionality bound to hardforks (#3402, #3444)
|
||||
* Cockatrice hardfork planned for 5450000 block of mainnet and 3967000 block of T5
|
||||
testnet (#3402, #3448, #3402, #3446)
|
||||
* `CommitteeChanged` events are emitted by NeoToken native contract starting from
|
||||
Cockatrice hardfork (#3351, #3448)
|
||||
* `getCommitteeAddress` method of NeoToken native contract is available starting
|
||||
from Cockatrice hardfork (#3362, #3402)
|
||||
* `keccak256` method of CryptoLib native contract is available starting from
|
||||
Cockatrice hardfork (#3301, #3402)
|
||||
* dynamic contract hash support for smart contract bindings (#3405)
|
||||
* support `StringCompressed` API for `crypto.PublicKey` (#3408)
|
||||
* support `Copy` API for `transaction.Transaction` and `payload.P2PNotaryRequest`
|
||||
(#3407)
|
||||
* extend `verifyWithECDsa` method of native CryptoLib contract with Keccak256 hasher
|
||||
starting from Cockatrice and add an example of custom Koblitz-based and
|
||||
Keccak256-based transaction witness verification (#3425)
|
||||
* autogenerated `nativehashes` package (#3402, #3431)
|
||||
* introduce `unwrap.Exception` type for better RPC invocation result exceptions
|
||||
detection (#3438)
|
||||
|
||||
Behavior changes:
|
||||
* Neo Name Service smart contract RPC binding follows the official N3 implementation
|
||||
(#3291)
|
||||
* clear LastGasPerVote NeoToken account info on unvoting (#3349)
|
||||
* return fault exception (if any) in `unwrap` RPC client helpers (#3356)
|
||||
* move P2PNotary designation role out of P2PSigExtensions (#3452)
|
||||
|
||||
Improvements:
|
||||
* support `smartcontract.Convertible` interface as RPC Actor and Invoker call
|
||||
parameters (#3297)
|
||||
* allow to import multisignature account into wallet without WIF and password
|
||||
specified (#3293)
|
||||
* upgrade go-ordered-json dependency to avoid possible node state incompatibility
|
||||
issues caused by smart contract manifest marshalling (#3331, #3333)
|
||||
* Go 1.22 support, bump minimum required Go version up to Go 1.20 (#3336)
|
||||
* a number of dependent libraries are updated to the fresh versions (#3338, #3418)
|
||||
* improve error message of `System.Crypto.CheckMultisig` interop API handler (#3374)
|
||||
* upgrade dBFT library to v0.2.0 (#3371, #3413)
|
||||
* increase `ValidUntilBlock` value for transactions generated by CLI commands
|
||||
(#3376)
|
||||
* documentation updates (#3375, #3382)
|
||||
* let default Notary Actor options be customizable (#3394)
|
||||
* extend `getversion` RPC response with RPC server settings (#3386)
|
||||
* make errors related to wallet opening more detailed (#3389)
|
||||
* adjust error messages of `setExecFeeFactor` and `setStoragePrice` methods of
|
||||
native PolicyContract (#3406)
|
||||
* make neotest chain constructor options customizable (#3404)
|
||||
* format improvements for CLI commands description (#3410)
|
||||
* make state dumps comparator script more verbose (#3411)
|
||||
* refactor storage `Get` implementation for BoltDB (#3441)
|
||||
* add `updatecounter` field to the resulting items of `getnativecontracts` RPC API
|
||||
call (#3439)
|
||||
|
||||
Bugs fixed:
|
||||
* node panic on committee missing from node configuration (#3294)
|
||||
* autogenerated RPC bindings do not follow Go naming convention (#3299)
|
||||
* a batch of failing tests is fixed (#3306, #3313, #3321, #3332, #3337, #3335,
|
||||
#3344, #3340, #3350, #3355, #3364, #3368, #3377, #3393, #3397, #3392, #3398,
|
||||
#3400)
|
||||
* outdated minimum required Go version of boilerplate contract generated by
|
||||
`neo-go contract init` (#3318)
|
||||
* outdated address used as an example in RPC client documentation (#3327)
|
||||
* ungraceful node services shutdown procedure (#3307)
|
||||
* logging data race on node services shutdown (#3307)
|
||||
* Map parameter support is missing from RPC server handlers (#3329)
|
||||
* smart contract storage iterator prefix wasn't copied while iterating over values
|
||||
(#3336)
|
||||
* RPC error with -511 code (insufficient funds) returned on `sendrawtransaction` RPC
|
||||
request should cover multiple cases of sender's insufficient funds (#3360, #3361)
|
||||
* reentrancy possibility for Notary deposit withdrawal (#3357)
|
||||
* null `findstorage` RPC response in case of missing storage items (#3385)
|
||||
* uninitialized named return variables in compiler (#3401)
|
||||
* wrong debug sequence points after `JUMP*` instructions shortening by compiler
|
||||
(#3412)
|
||||
* corrupted genesis block record and application log caused by improper Conflicts
|
||||
attribute processing (#3437)
|
||||
* false positive DB-based blocked accounts detection in native PolicyContract leaded
|
||||
to invalid committee computations and reward distribution made by NeoToken (#3443)
|
||||
|
||||
## 0.105.1 "Enumeration" (12 Jan 2024)
|
||||
|
||||
This is another v3.6.2-compatible release that fixes mainnet state difference at
|
||||
|
|
Loading…
Reference in a new issue