mirror of
https://github.com/nspcc-dev/neo-go.git
synced 2024-11-26 09:42:22 +00:00
Merge pull request #2840 from nspcc-dev/release-0.100.0
CHANGELOG: release 0.100.0
This commit is contained in:
commit
628f04769b
2 changed files with 75 additions and 28 deletions
73
CHANGELOG.md
73
CHANGELOG.md
|
@ -2,6 +2,79 @@
|
||||||
|
|
||||||
This document outlines major changes between releases.
|
This document outlines major changes between releases.
|
||||||
|
|
||||||
|
## 0.100.0 "Centuplication" (08 Dec 2022)
|
||||||
|
|
||||||
|
A 3.5.0-compatible version of NeoGo with all the appropriate protocol updates
|
||||||
|
and a number of other changes. The most notable ones are configuration
|
||||||
|
updates. New features and some long-standing inconsistencies required for some
|
||||||
|
changes and this release brings them with it. Old configurations are still
|
||||||
|
supported and will work the same way (except for one minor exception in
|
||||||
|
VerifyBlocks that is only supposed to be used for tests/development), but we'd
|
||||||
|
like to highlight that all of the old settings will be removed in ~6 months,
|
||||||
|
so please review these updates and update your configurations. For public
|
||||||
|
networks the best way to go is to take the new versions from the "config"
|
||||||
|
directory and then adjust for particular scenario if needed.
|
||||||
|
|
||||||
|
This release requires a complete resynchronization due to native contract
|
||||||
|
changes, so please schedule your updates appropriately.
|
||||||
|
|
||||||
|
New features:
|
||||||
|
* System.Runtime.LoadScript syscall (and appropriate smart contract interops)
|
||||||
|
allowing to load/run dynamic code (#2719)
|
||||||
|
* PUSHT/PUSHF VM instructions allowing for simpler/cheaper booleans (#2770)
|
||||||
|
* ContractManagement native contract was extended with ID->hash mappings and
|
||||||
|
`getContractById` and `getContractHashes` methods (#2702, #2837)
|
||||||
|
* LogLevel application configuration option that can be changed on SIGHUP
|
||||||
|
(#2831)
|
||||||
|
* additional type data generated by the compiler that then can be used by the
|
||||||
|
RPC bindings (SDK/contract wrapper) generator, this allows for complex
|
||||||
|
types (structures/arrays/maps) to be easily represented/handled in
|
||||||
|
contract-specific RPC code (#2828)
|
||||||
|
* multiaddress listeners for all services and P2P, this changes the old
|
||||||
|
Address/Port (and AnnouncedPort for P2P) configuration scheme to more
|
||||||
|
generic Addresses list, the old configuration is still supported, but is
|
||||||
|
deprecated and will be removed in future node versions (#2827, #2839)
|
||||||
|
|
||||||
|
Behaviour changes:
|
||||||
|
* Aspidochelone fork block for NeoFS sidechain mainnet configuration is
|
||||||
|
rescheduled again (#2823, #2830)
|
||||||
|
* Blockchain's GetHeaderHash() method now accepts uint32 for parameter
|
||||||
|
(#2814)
|
||||||
|
* pre-0.97.3 and pre-0.99.0 deprecated compatibility fields and logic were
|
||||||
|
dropped from the result.Version (`getversion` RPC result) structure (#2786)
|
||||||
|
* SecondsPerBlock protocol configuration variable was replaced with
|
||||||
|
TimePerBlock allowing for sub-second precision, SecondsPerBlock is still
|
||||||
|
supported, but will eventually be removed (#2829)
|
||||||
|
* AttemptConnPeers, BroadcastFactor, DialTimeout, ExtensiblePoolSize,
|
||||||
|
MaxPeers, MinPeers, PingInterval, PingTimeout, ProtoTickInterval settings
|
||||||
|
were moved into the new P2P section, timing parameters now use Duration
|
||||||
|
type allowing for more human-friendly values in many cases, old parameters
|
||||||
|
are still supported, but will eventually be removed (#2827)
|
||||||
|
* consensus (dBFT) is configured as a separate service now that can be
|
||||||
|
enabled/disabled (and can work in "watch only" mode without a wallet), the
|
||||||
|
old direct "UnlockWallet" specification in "ApplicationConfiguration" is
|
||||||
|
still supported, but is deprecated and will be removed in future versions
|
||||||
|
(#2832)
|
||||||
|
* GarbageCollectionPeriod, KeepOnlyLatestState, RemoveUntraceableBlocks,
|
||||||
|
SaveStorageBatch and VerifyBlocks settings were moved from
|
||||||
|
ProtocolConfiguration to ApplicationConfiguration; old configurations are
|
||||||
|
still supported, except for VerifyBlocks which is replaced by
|
||||||
|
SkipBlockVerification with inverted meaning (and hence an inverted default)
|
||||||
|
for security reasons; this also affects NewBlockchain and neotest APIs
|
||||||
|
(#2833)
|
||||||
|
|
||||||
|
Improvements:
|
||||||
|
* more user-friendly error and help messages in some cases (#2824, #2834)
|
||||||
|
* faster node startup time and smaller memory footprint for networks with
|
||||||
|
lots (1-2M+) of blocks (#2814)
|
||||||
|
* minor documentation fixes (#2834, #2838)
|
||||||
|
|
||||||
|
Bugs fixed:
|
||||||
|
* transactions with system fee or more than MaxBlockSystemFee are no longer
|
||||||
|
accepted into the mempool, preventing a form a network-wide DoS (#2826)
|
||||||
|
* deprecated WSClient subscription methods not working correctly when filters
|
||||||
|
are being used (#2836)
|
||||||
|
|
||||||
## 0.99.7 "Hyalinization" (23 Nov 2022)
|
## 0.99.7 "Hyalinization" (23 Nov 2022)
|
||||||
|
|
||||||
Bugs, terrestrial arthropods with at least six legs. Sometimes we don't notice
|
Bugs, terrestrial arthropods with at least six legs. Sometimes we don't notice
|
||||||
|
|
30
ROADMAP.md
30
ROADMAP.md
|
@ -7,10 +7,8 @@ functionality.
|
||||||
## Versions 0.7X.Y (as needed)
|
## Versions 0.7X.Y (as needed)
|
||||||
* Neo 2.0 support (bug fixes, minor functionality additions)
|
* Neo 2.0 support (bug fixes, minor functionality additions)
|
||||||
|
|
||||||
## Version 0.100.0 (aligned with C# node 3.5.0 release, ~December 2022)
|
## Version 0.100.1 (~January 2022)
|
||||||
* 3.5.0 protocol changes
|
* extended data types for iterators to be used by RPC wrapper generator
|
||||||
* drop some deprecated code (see below)
|
|
||||||
* RPC wrappers generator with extended type information
|
|
||||||
|
|
||||||
## Version 1.0 (2023, TBD)
|
## Version 1.0 (2023, TBD)
|
||||||
* stable version
|
* stable version
|
||||||
|
@ -24,30 +22,6 @@ APIs/commands/configurations will be removed and here is a list of scheduled
|
||||||
breaking changes. Consider changing your code/scripts/configurations if you're
|
breaking changes. Consider changing your code/scripts/configurations if you're
|
||||||
using anything mentioned here.
|
using anything mentioned here.
|
||||||
|
|
||||||
## getversion RPC reply Magic and StateRootInHeader fields
|
|
||||||
|
|
||||||
"getversion" RPC reply format was extended to contain "protocol" section in
|
|
||||||
version 0.97.3. Since then we have deprecated Magic and StateRootInHeader
|
|
||||||
fields in the Version structure that allows to decode replies from pre-0.97.3
|
|
||||||
servers while RPC server implementation populates both old and new fields for
|
|
||||||
compatibility with pre-0.97.3 clients.
|
|
||||||
|
|
||||||
Version 0.97.3 was released in October 2021 and can't really be used today on
|
|
||||||
public networks, we expect at least 0.99.0+ to be used in production (0.99.2+
|
|
||||||
for C# 3.4.0 compatibility). Therefore these old fields are scheduled to be
|
|
||||||
removed in version 0.100.0 both client-side and server-side. If any of your
|
|
||||||
code uses them, just use the Protocol section with the same data.
|
|
||||||
|
|
||||||
## InitialGasDistribution field of getversion RPC reply
|
|
||||||
|
|
||||||
An incompatibility with C# node's InitialGasDistribution representation was
|
|
||||||
detected and fixed in version 0.99.0 of NeoGo (June 2022). Some compatibility
|
|
||||||
code was added to handle pre-0.99.0 servers on the client side, however it was
|
|
||||||
not possible to change pre-0.99.0 clients to work with newer servers.
|
|
||||||
|
|
||||||
We expect all servers to be migrated to 0.99.0+ by now, therefore
|
|
||||||
compatibility code will be removed in version 0.100.0.
|
|
||||||
|
|
||||||
## Old RPC client APIs
|
## Old RPC client APIs
|
||||||
|
|
||||||
A huge set of RPC client APIs was deprecated in versions 0.99.2 and 0.99.3
|
A huge set of RPC client APIs was deprecated in versions 0.99.2 and 0.99.3
|
||||||
|
|
Loading…
Reference in a new issue