mirror of
https://github.com/nspcc-dev/neo-go.git
synced 2024-12-23 03:41:34 +00:00
update CHANGELOG and ROADMAP, release 0.72.0
This commit is contained in:
parent
ab14a4619d
commit
6677678520
2 changed files with 110 additions and 4 deletions
105
CHANGELOG.md
105
CHANGELOG.md
|
@ -2,6 +2,111 @@
|
||||||
|
|
||||||
This document outlines major changes between releases.
|
This document outlines major changes between releases.
|
||||||
|
|
||||||
|
## 0.72.0 "Crystallization" (06 Feb 2020)
|
||||||
|
|
||||||
|
Starting at the end of the year 2019 we've spent a lot of effort to
|
||||||
|
stress-test our node with transaction load and this allowed us to uncover
|
||||||
|
some problems in various parts of the system. This release addresses all of
|
||||||
|
them and brings with it updated networking, consensus and mempool components
|
||||||
|
that can handle quite substantial transaction traffic and successfully produce
|
||||||
|
new blocks while being stressed. There are also important updates in VM that
|
||||||
|
fix incompatibilities with C# node and interesting improvements in compiler
|
||||||
|
based on our experience porting neofs smart contract to Go.
|
||||||
|
|
||||||
|
New features:
|
||||||
|
* `dump` command for wallet to dump it (replaced non-functional `open`
|
||||||
|
command, #589)
|
||||||
|
* support for single-node consensus setup (#595)
|
||||||
|
* ping/pong P2P messages are now supported with PingInterval and PingTimeout
|
||||||
|
configuration options (#430, #610, #627, #639)
|
||||||
|
* VM now fully supports calculating GAS spent during execution (#424, #648)
|
||||||
|
* Fixed8 type now supports YAML marshalling (#609)
|
||||||
|
* RPC invoke* calls can now be GAS-limited with MaxGasInvoke configuration
|
||||||
|
option (#609)
|
||||||
|
* gas limit for free invocation transactions can now be configured with
|
||||||
|
FreeGasLimit option which default to 10.0 for mainnet and testnet (#609)
|
||||||
|
* new compiler interop VerifySignature to verify ECDSA signatures (#617)
|
||||||
|
* compiler now supports loops with single condition (no init/post, #618)
|
||||||
|
* memory pool size is now configurable with MemPoolSize option which defaults
|
||||||
|
to 50000 for all configurations (#614)
|
||||||
|
* support for variables in slice literals in the compiler (#619)
|
||||||
|
* support for map literals in the compiler (#620)
|
||||||
|
* AppCall interop function (#621)
|
||||||
|
* `string` to `[]byte` conversion was implemented in the compiler (#622)
|
||||||
|
* Docker images now contain a dump of 1600 blocks for single-node setups and
|
||||||
|
one can choose which dump to use for restore with ACC environment variable
|
||||||
|
(#625)
|
||||||
|
* switch statement support in the compiler (#626)
|
||||||
|
* panic support in the compiler (#629)
|
||||||
|
|
||||||
|
Behaviour changes:
|
||||||
|
* NEP2Decrypt function in keys package now returns a pointer to PrivateKey
|
||||||
|
rather than a WIF-encoded string (#589)
|
||||||
|
* DecryptAccount function in wallet package was moved to Decrypt method of
|
||||||
|
Account (#589)
|
||||||
|
* logging was moved from logrus to zap which changed messages format a little
|
||||||
|
(#284, #598)
|
||||||
|
* Block, BlockBase and Header structures were moved into their own `block`
|
||||||
|
package (#597)
|
||||||
|
* MemPool was moved into its own `mempool` package (#597)
|
||||||
|
* Sign method of PrivateKey no longer returns an error (#604)
|
||||||
|
* wallet is now compatible with C# node wallets (#603)
|
||||||
|
* consensus service now gets its keys from the wallet file instead of
|
||||||
|
plain-text WIF in the configuration (#588)
|
||||||
|
* `image` Makefile target was updated to nspccdev repo (#625)
|
||||||
|
* serializing invalid Transaction structures (that have no Data) is now
|
||||||
|
forbidden (#640)
|
||||||
|
* Item is no longer exposed by the mempool package (#647)
|
||||||
|
|
||||||
|
Improvements:
|
||||||
|
* better testing of keys, wallet, compiler and mempool packages (#589, #568,
|
||||||
|
#647)
|
||||||
|
* smart use of previous proposal for block generation after dBFT's ChangeView
|
||||||
|
(#591)
|
||||||
|
* peer-server interaction refactored (#606)
|
||||||
|
* peer message queues were introduced with different priorities reducing
|
||||||
|
delays in consensus messages delivery and improving unicast communication
|
||||||
|
(#590, #615, #639)
|
||||||
|
* more efficient code generated by the compiler in some cases (#626, #629,
|
||||||
|
#637)
|
||||||
|
* mempool redesign leading to better performance (#647), it also doesn't
|
||||||
|
store unverified transactions now
|
||||||
|
|
||||||
|
Bugs fixed:
|
||||||
|
* consensus service was not really requesting transactions from peers when it
|
||||||
|
was missing some locally (#602)
|
||||||
|
* build failing with newer rfc6979 package (#592)
|
||||||
|
* wrong integer serialization/deserialization in VM leading to
|
||||||
|
inconsistencies in state with C# node (#501/#605)
|
||||||
|
* consensus service was not processing node election results to
|
||||||
|
enable/disable dBFT (#603)
|
||||||
|
* in some cases peers were not unregistered after disconnect (#606)
|
||||||
|
* different execution results with C# node because of missing invocation fee
|
||||||
|
calculations (#607)
|
||||||
|
* RPC server now properly returns the amount of gas spent during execution
|
||||||
|
for invoke* calls (#609)
|
||||||
|
* FromAddress interop was translated improperly by the compiler (#621)
|
||||||
|
* compiler emitting wrong integers (#624)
|
||||||
|
* EOF errors on recovery consensus messages decoding (#632)
|
||||||
|
* wrong handling of assignments to underscore variable in the compiler (#631)
|
||||||
|
* wrong answers to getunspents/getaccountstate RPC requests for unknown
|
||||||
|
addresses (#633)
|
||||||
|
* multiple dBFT issues leading to consensus stalls, attempts to add wrong
|
||||||
|
block to the chain, message processing using wrong height and other
|
||||||
|
problems (#635, #641)
|
||||||
|
* duplicate connections were not detected before the handshake completion
|
||||||
|
which can happen too late (#639)
|
||||||
|
* attempts to connect to peer that has already connected to node (#639)
|
||||||
|
* unregistration of connected addresses (#639)
|
||||||
|
* ArrayReverse function was not copying arrays of size 1 (#644)
|
||||||
|
* race in transaction verification/addition to the mempool leading to
|
||||||
|
potential double spends (#647)
|
||||||
|
* wrong concurrent attempts to add new block to the chain (#647)
|
||||||
|
* blocks were not relayed properly by non-consensus nodes (#647)
|
||||||
|
* mempool memory leak (#647)
|
||||||
|
* missing reverification after block acceptance for transactions in mempool
|
||||||
|
(#647)
|
||||||
|
|
||||||
## 0.71.0 "Celebration" (30 Dec 2019)
|
## 0.71.0 "Celebration" (30 Dec 2019)
|
||||||
|
|
||||||
Version 0.71.0 ends the year 2019 of neo-go development with a solid release
|
Version 0.71.0 ends the year 2019 of neo-go development with a solid release
|
||||||
|
|
|
@ -4,10 +4,11 @@ This defines approximate plan of neo-go releases and key features planned for
|
||||||
them. Things can change if there a need to push a bugfix or some critical
|
them. Things can change if there a need to push a bugfix or some critical
|
||||||
functionality.
|
functionality.
|
||||||
|
|
||||||
## Version 0.72.0 (end of January 2019)
|
## Versions 0.7X.Y (as needed)
|
||||||
* wallet CLI functionality
|
* Neo 2.0 support (bug fixes, minor functionality additions)
|
||||||
* completing P2P protocol implementation
|
|
||||||
* fix remaining inconsistencies in mainnet transaction processing wrt C# implementation
|
## Version 0.90.0 (April 2020)
|
||||||
|
* Neo 3.0 features preview
|
||||||
|
|
||||||
## Version 1.0 (2020, aligned with NEO 3.0 release)
|
## Version 1.0 (2020, aligned with NEO 3.0 release)
|
||||||
* full NEO 3.0 support
|
* full NEO 3.0 support
|
||||||
|
|
Loading…
Reference in a new issue