mirror of
https://github.com/nspcc-dev/neo-go.git
synced 2024-12-25 13:56:35 +00:00
CHANGELOG: release 0.103.0
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
This commit is contained in:
parent
d89c8801d6
commit
a755a2be30
1 changed files with 69 additions and 0 deletions
69
CHANGELOG.md
69
CHANGELOG.md
|
@ -2,6 +2,75 @@
|
|||
|
||||
This document outlines major changes between releases.
|
||||
|
||||
## 0.103.0 "Backwardation" (20 Oct 2023)
|
||||
|
||||
A minor 3.6.0-compatible version of NeoGo with new salty ZKP-related
|
||||
functionality, a large batch of deprecated APIs removal and an experimental
|
||||
genesis block extension. Build Groth-16 circuits, generate proofs and deploy
|
||||
verification contracts easily with the new end-to-end ZKP example and `zkpbinding`
|
||||
NeoGo API. Setup node roles via the node configuration starting from the genesis
|
||||
block without any painful multisignature transaction forming and invoke any
|
||||
custom script in the genesis-level transaction with the new `Genesis` protocol
|
||||
configuration extension. And don't forget to move from deprecated RPC client
|
||||
APIs, as a lot of them have been removed.
|
||||
|
||||
New node configuration format is finally adapted and the deprecated configuration
|
||||
sections are permanently removed according to the schedule. Pay attention to the
|
||||
`SecondsPerBlock` protocol configuration section that was replaced by
|
||||
`TimePerBlock`, a set of node and services address- and port- related configuration
|
||||
section that were replaced by the new `Addresses` format, direct `UnlockWallet`
|
||||
consensus configuration that was replaced by a separate `Consensus` section and
|
||||
a set of node-specific protocol configurations that were moved under a separate
|
||||
`P2P` section.
|
||||
|
||||
This release fixes a set of bugs including a vulnerability introduced by changes
|
||||
in the transaction conflicts storage scheme implemented in #3061 (a part of
|
||||
0.102.0 release). With the patch presented, it's impossible to uncontrollably
|
||||
pollute the storage with malicious conflicting records.
|
||||
|
||||
This version is fully compatible with C# node 3.6.0. However, it requires
|
||||
complete resynchronization on upgrade due to the database storage scheme changes.
|
||||
|
||||
New features:
|
||||
* API for Groth-16 verification contracts autogeneration and end-to-end example for
|
||||
proving and verifying statements on NeoGo (#3043, #3146)
|
||||
* introduce genesis protocol extensions: default node roles designation and genesis
|
||||
transactions (#3168)
|
||||
|
||||
Behaviour changes:
|
||||
* a lot of deprecated functionality is dropped: RPC client old APIs, shared
|
||||
Notifications channel of WebSocket client, SecondsPerBlock protocol
|
||||
configuration, old way of services and node address and port configuration, old
|
||||
P2P related application settings configuration, direct UnlockWallet consensus
|
||||
configuration, direct node-specific protocol configuration (#3150)
|
||||
* database scheme is changed by new way of storing the transaction conflicting
|
||||
records (#3138)
|
||||
|
||||
Improvements:
|
||||
* NeoFS SDK dependency upgrade (#3129)
|
||||
* gnark and gnark-crypto dependencies upgrade (#3145, #3162, #3163)
|
||||
* introduce timeout restriction for BoltDB opening (#3148)
|
||||
* bump code coverage uploading action version (#3153)
|
||||
* Go 1.21 support, bump minimum required Go version up to Go 1.19 (#3157)
|
||||
* upgrade golang.org/x/net version (#3158)
|
||||
* add protocol hardforks configuration to the `getversion` RPC response (#3160)
|
||||
* format autogenerated smart contract bindings with accordance to standard `go fmt` rules (#3164)
|
||||
* add "DO NOT EDIT" warning to the autogenerated smart contract bindings (#3167)
|
||||
|
||||
Bugs fixed:
|
||||
* avoid race between `getnextblockvalidators` RPC call handler and blockchain's
|
||||
block handler routine, significantly refactor native validators caching scheme
|
||||
(#3110)
|
||||
* do not panic on failed NeoFS oracle requests (#3129)
|
||||
* enable Notary subsystem in NeoFS mainnet configuration (#3136)
|
||||
* reorganize storage scheme for transaction conflicting records to avoid possible attack (#3138)
|
||||
* properly deserialize wildcard trusts field of smart contract manifest (#3140)
|
||||
* use more strict GAS limit for transaction network fee calculation via RPC call (#3141)
|
||||
* avoid WebSocket client request blocking (#3142)
|
||||
* properly emit big uint64 constants during smart contract compilation (#3147)
|
||||
* avoid race access to the node version by tests (#3149)
|
||||
* make FindStorage* RPC client APIs to be always compatible with NeoC# RPC server (#3166)
|
||||
|
||||
## 0.102.0 "Aberration" (06 Sep 2023)
|
||||
|
||||
Long-awaited feature-packed 3.6.0-compatible version of NeoGo with all the
|
||||
|
|
Loading…
Reference in a new issue