|
2 | 2 |
|
3 | 3 | This document outlines major changes between releases.
|
4 | 4 |
|
| 5 | +## 0.70.0 "Constellation" (29 Nov 2019) |
| 6 | + |
| 7 | +This is a long-awaited and exciting release implementing a full Neo |
| 8 | +consensus node that you can run your own neo-go private net with! It also |
| 9 | +brings with it serious improvements in contract handling, you can now not |
| 10 | +only compile, but also deploy and invoke contracts with neo-go. |
| 11 | + |
| 12 | +New features: |
| 13 | + * systemd unit file for deployment (#326) |
| 14 | + * claim transactions processing was added (#489) |
| 15 | + * Consensus payloads decoding/encoding (#431) |
| 16 | + * `getunspents` method is RPC server (#473) |
| 17 | + * updated docker-compose environment for privnet setup (#497, #529) |
| 18 | + * client-side `getunspents` RPC method support (#511) |
| 19 | + * contract deployment from the CLI (#474) |
| 20 | + * enrollment and state transactions processing (#508) |
| 21 | + * `Neo.Blockchain.GetValidators` interop support (#420) |
| 22 | + * `invokefunction` RPC method support in the server (#347) |
| 23 | + * `testinvokefunction` command in the CLI to do test invocations via |
| 24 | + `invokefunction` RPC method (#521) |
| 25 | + * consensus node support (#507, #525) |
| 26 | + * server-side `invoke` RPC method support (#346) |
| 27 | + * `testinvoke` CLI command to invoke contracts via `invoke` RPC method (#527) |
| 28 | + * `getheaders` P2P message processing (#529) |
| 29 | + * relaying was added for transactions coming from P2P network (#529) |
| 30 | + * `invoke` and `invokefunction` commands to invoke deployed script and send an |
| 31 | + invocation transaction to the network (#531) |
| 32 | + |
| 33 | +Behavior changes: |
| 34 | + * db dump/restore format is now compatible with NGD chain dumps (#466) |
| 35 | + * smart contracts now have a new configuration format that is used to deploy |
| 36 | + them (#511) |
| 37 | + * `testinvoke` CLI command was renamed to `testinvokescript` (#521) |
| 38 | + |
| 39 | +Improvements: |
| 40 | + * `core.Blockchainer` interface now has a `Close` method (#485) |
| 41 | + * `util.Uint256Size` is now public (#490) |
| 42 | + * `io` package now has generic functions for array |
| 43 | + serialization/deserialization (#490) |
| 44 | + * `util.Uint256` now supports `io.Serializable` interface (#495) |
| 45 | + * `smartcontract.ParamType` type now supports `io.Serializable` interface |
| 46 | + (#495) |
| 47 | + * `vm.ByteArrayItem` now uses hex representation when being marshalled into |
| 48 | + JSON (#499) |
| 49 | + * `io` serialization/deserialization for arrays is now restricted in elements |
| 50 | + count (#503, #505) |
| 51 | + * `core.AccountState` now stores all UTXOs for the account (#504) |
| 52 | + * interop functions got some testing coverage (#492) |
| 53 | + * rpc client now implements `CalculateInputs` method via `getunspents` call |
| 54 | + for transaction building (#511) |
| 55 | + * `transaction.NewInvocationTX` now accepts a gas parameter for the |
| 56 | + corresponding transaction field (#511) |
| 57 | + * `rpc.StackParamType` now supports YAML marshaling/unmarshaling |
| 58 | + * `rpc` package now has more fine-grained methods for transaction building |
| 59 | + (#511, #531) |
| 60 | + * `Blockchain` now stores and updates validators list (#508) |
| 61 | + * blockchain state management refactored (#508) |
| 62 | + * `rpc` invocation parameter management reworked (#513) |
| 63 | + * `util` test coverage improved (#515) |
| 64 | + * `invokescript` tests were added to the `rpc` package (#521) |
| 65 | + * `crypto/keys` and `crypto/hash` packages test coverage improved (#516) |
| 66 | + |
| 67 | +Bugs fixed: |
| 68 | + * blockchain not persisting the latest changes on exit (#485) |
| 69 | + * db dump/restore commands incorrectly handled `skip` parameter (#486) |
| 70 | + * vm failed to serialize duplicating non-reference elements (#496) |
| 71 | + * improper smartcontract notifications handling (#453) |
| 72 | + * nondeterministic `GetReferences` interop behaviour leading to contract |
| 73 | + failures (#454) |
| 74 | + * writing message to the peer could be interleaved with other messages |
| 75 | + leading to garbage being sent (#503, #506) |
| 76 | + * inability to process block with previously relayed transaction (#511) |
| 77 | + * decoding transaction with invalid type didn't return an error (#522) |
| 78 | + * attempts to reconnect to the node with the same ID (#507) |
| 79 | + * peer disconnects during handshake because or code race (#529) |
| 80 | + * useless header requests from peers with low height (#529) |
| 81 | + * wrong header hashes initialization from the DB in case there are 2000*N + 1 |
| 82 | + blocks in the chain (#529) |
| 83 | + |
5 | 84 | ## 0.62.0 "Commotion" (07 Nov 2019)
|
6 | 85 |
|
7 | 86 | Release 0.62.0 finishes one very important work some pieces of which were
|
|
0 commit comments