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.
|
||||
|
||||
## 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)
|
||||
|
||||
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
|
||||
functionality.
|
||||
|
||||
## Version 0.72.0 (end of January 2019)
|
||||
* wallet CLI functionality
|
||||
* completing P2P protocol implementation
|
||||
* fix remaining inconsistencies in mainnet transaction processing wrt C# implementation
|
||||
## Versions 0.7X.Y (as needed)
|
||||
* Neo 2.0 support (bug fixes, minor functionality additions)
|
||||
|
||||
## Version 0.90.0 (April 2020)
|
||||
* Neo 3.0 features preview
|
||||
|
||||
## Version 1.0 (2020, aligned with NEO 3.0 release)
|
||||
* full NEO 3.0 support
|
||||
|
|
Loading…
Reference in a new issue