neo-go/CHANGELOG.md

67 lines
2.6 KiB
Markdown
Raw Normal View History

# Changelog
This document outlines major changes between releases.
2020-07-14 15:47:33 +00:00
## 0.90.0 "Tantalization" (14 July 2020)
The first Neo 3 compatible release of neo-go! We've targeted to make it
compatible with preview2 release of Neo 3, so it only contains features
available there, but at the same time this makes the node more useful until we
have some more up to date reference version. It's a completely different
network, so almost everything has changed and it's hard to describe it with
the same level of details we usually do (but we'll provide them for subsequent
releases where the changeset is going to be lower in size). Please note that
this is a preview-level release and there won't be long-term support provided
for it, Neo 3 is evolving and the next release won't be compatible with this
one.
Main Neo 3 features in this release:
* no UTXO
* native contracts
* new VM
* scoped witnesses for transaction
* updated interop/syscalls set
* contract manifests
* more efficient P2P protocol
Things that have also changed:
* transaction format
* block format
* address format
* wallets
* RPC protocol
* notification subsystem
* executable format output for compiler
Compatibility level of this neo-go release:
* identical storage changes compared to C# node for 378K blocks of preview2
testnet
* debugging info produced is compatible with preview2-compatible neo-debugger
* running consensus nodes in heterogeneous setup is possible (2 neo-go CNs
with 2 C# CNs, for example)
Changes specific to neo-go:
* some CLI parameters like wallet path or RPC endpoint URL have been unified
across all commands and thus have changed in some of them (refer to CLI
help for details)
* as an extension we support post-preview2 cosigners parameter for
invokefunction RPC calls (see neo-project/neo-modules#260)
* Go compiler now supports comparisons with nil properly
* we no longer provide bootstrapping 6k block dump for private networks, you
have 30000000 GAS right in the genesis block and it's not hard to make use
of it (see
[neo-go-sc-wrkshp](https://github.com/nspcc-dev/neo-go-sc-wrkshp) for an
example of how to use it)
* we have a conversion tool for your old Neo 2 wallets (`wallet convert`
command), so you can reuse keys on Neo 3 networks
* util.Equals interop function may not function the way you expect it to due
to Neo VM changes, it still is an EQUAL opcode though. This interop may be
removed in the future.
## Older versions
Please refer to the [master-2.x branch
CHANGELOG](https://github.com/nspcc-dev/neo-go/tree/master-2.x/CHANGELOG.md)
for versions prior to 0.90.0 (that are Neo 2 compatible, unlike 0.90.0+ that
are Neo 3 compatible).