mirror of
https://github.com/nspcc-dev/neo-go.git
synced 2024-11-22 19:29:39 +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.
|
||||
|
||||
## 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)
|
||||
|
||||
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)
|
||||
* Neo 2.0 support (bug fixes, minor functionality additions)
|
||||
|
||||
## Version 0.100.0 (aligned with C# node 3.5.0 release, ~December 2022)
|
||||
* 3.5.0 protocol changes
|
||||
* drop some deprecated code (see below)
|
||||
* RPC wrappers generator with extended type information
|
||||
## Version 0.100.1 (~January 2022)
|
||||
* extended data types for iterators to be used by RPC wrapper generator
|
||||
|
||||
## Version 1.0 (2023, TBD)
|
||||
* 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
|
||||
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
|
||||
|
||||
A huge set of RPC client APIs was deprecated in versions 0.99.2 and 0.99.3
|
||||
|
|
Loading…
Reference in a new issue