commit
9de9320d55
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.
|
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)
|
## 0.102.0 "Aberration" (06 Sep 2023)
|
||||||
|
|
||||||
Long-awaited feature-packed 3.6.0-compatible version of NeoGo with all the
|
Long-awaited feature-packed 3.6.0-compatible version of NeoGo with all the
|
||||||
|
|
Loading…
Reference in a new issue