CHANGELOG: release 0.73.0

This commit is contained in:
Roman Khimov 2020-02-19 16:21:09 +03:00
parent 36773816d5
commit 0fe9b632db

View file

@ -2,6 +2,68 @@
This document outlines major changes between releases. This document outlines major changes between releases.
## 0.73.0 "Cotransduction" (19 Feb 2020)
This is the first release than can successfully operate as a Testnet CN
bringing with it fixed voting system implementation, policying support and
other related fixes. It also contains RPC improvements and updates to the
compiler.
New features:
* Go smart contracts can now use variables for struct fields initialization
(#656)
* for range loops support in the compiler (#658)
* subslicing support for `[]byte` type (#654)
* block's storage changes dump support similar to NeoResearch's storage audit
(#649)
* `gettxout` RPC method support (#345)
* `getcontractstate` RPC method support (#342)
* `getstorage` RPC method support (#343)
* GetChangeAddress function in the wallet (#682)
* basic policying was implemented allowing to configure
MaxTransactionsPerBlock, MaxFreeTransactionsPerBlock,
MaxFreeTransactionSize and FeePerExtraByte (#682)
Behaviour changes:
* consensus process now only start when server sees itself synchronized with
the rest of the network (see (*Server).IsInSync method, #682)
* default testnet and mainnet configurations now contain policer settings
identical to default SimplePolicy C# plugin (#682), privnet is not changed
Improvements:
* keys.PublicKey now has Cmp method available (#661)
* core now exports UtilityTokenID and GoverningTokenID functions (#682)
* miner transactions generated by consensus process now properly set outputs
based on block's transactions fees (#682)
* (*Blockchain).`IsLowPriority` now takes fee (Fixed8) as an input (#682)
* mempool's GetVerifiedTransactions and TryGetValue now also return
transaction's fee
* DBFT logging was improved
* keys package no longer has Signature methods, they were replaced with more
useful GetScriptHash (#682)
Bugs fixed:
* compiler produced wrong code if there was some data containing byte 0x62 in
the program (#630)
* answer to the `getblock` RPC method was not following the specification in
multiple places (#659)
* State transaction's descriptors were not encoded/decoded correctly (#661)
* keys.PublicKeys slice was not decoded properly (#661)
* 'Registered' descriptor of State transaction was not decoded correctly
(#661)
* voting processing and validators election was fixed to follow C#
implementation (#661, #512, #664, #682)
* deadlock in network subsystem on disconnect (#663)
* RPC answers with transactions were not following the specification in fields
names (#666)
* segmentation fault when checking references of bad transactions (#671)
* `getassetstate` and `getrawtransaction` RPC methods were not returning
error properly when missing asset or transaction (#675)
* consensus RecoveryMessage encoding/decoding wasn't correct (#679)
* DBFT was not reinitialized after successful chain update with the new block
received from other peers (#673)
* DBFT timer was extended too much, not following the C# implementation (#682)
## 0.72.2 "Confabulation" (11 Feb 2020) ## 0.72.2 "Confabulation" (11 Feb 2020)
Bugfix and small refactoring release, though it's the first one to include Bugfix and small refactoring release, though it's the first one to include