diff --git a/CHANGELOG.md b/CHANGELOG.md index 31d5ca971..dfc315813 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,68 @@ 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) Bugfix and small refactoring release, though it's the first one to include