Skip to content

Commit 628f047

Browse files
authored
Merge pull request #2840 from nspcc-dev/release-0.100.0
CHANGELOG: release 0.100.0
2 parents bbb35f5 + 31b8635 commit 628f047

File tree

2 files changed

+75
-28
lines changed

2 files changed

+75
-28
lines changed

CHANGELOG.md

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,79 @@
22

33
This document outlines major changes between releases.
44

5+
## 0.100.0 "Centuplication" (08 Dec 2022)
6+
7+
A 3.5.0-compatible version of NeoGo with all the appropriate protocol updates
8+
and a number of other changes. The most notable ones are configuration
9+
updates. New features and some long-standing inconsistencies required for some
10+
changes and this release brings them with it. Old configurations are still
11+
supported and will work the same way (except for one minor exception in
12+
VerifyBlocks that is only supposed to be used for tests/development), but we'd
13+
like to highlight that all of the old settings will be removed in ~6 months,
14+
so please review these updates and update your configurations. For public
15+
networks the best way to go is to take the new versions from the "config"
16+
directory and then adjust for particular scenario if needed.
17+
18+
This release requires a complete resynchronization due to native contract
19+
changes, so please schedule your updates appropriately.
20+
21+
New features:
22+
* System.Runtime.LoadScript syscall (and appropriate smart contract interops)
23+
allowing to load/run dynamic code (#2719)
24+
* PUSHT/PUSHF VM instructions allowing for simpler/cheaper booleans (#2770)
25+
* ContractManagement native contract was extended with ID->hash mappings and
26+
`getContractById` and `getContractHashes` methods (#2702, #2837)
27+
* LogLevel application configuration option that can be changed on SIGHUP
28+
(#2831)
29+
* additional type data generated by the compiler that then can be used by the
30+
RPC bindings (SDK/contract wrapper) generator, this allows for complex
31+
types (structures/arrays/maps) to be easily represented/handled in
32+
contract-specific RPC code (#2828)
33+
* multiaddress listeners for all services and P2P, this changes the old
34+
Address/Port (and AnnouncedPort for P2P) configuration scheme to more
35+
generic Addresses list, the old configuration is still supported, but is
36+
deprecated and will be removed in future node versions (#2827, #2839)
37+
38+
Behaviour changes:
39+
* Aspidochelone fork block for NeoFS sidechain mainnet configuration is
40+
rescheduled again (#2823, #2830)
41+
* Blockchain's GetHeaderHash() method now accepts uint32 for parameter
42+
(#2814)
43+
* pre-0.97.3 and pre-0.99.0 deprecated compatibility fields and logic were
44+
dropped from the result.Version (`getversion` RPC result) structure (#2786)
45+
* SecondsPerBlock protocol configuration variable was replaced with
46+
TimePerBlock allowing for sub-second precision, SecondsPerBlock is still
47+
supported, but will eventually be removed (#2829)
48+
* AttemptConnPeers, BroadcastFactor, DialTimeout, ExtensiblePoolSize,
49+
MaxPeers, MinPeers, PingInterval, PingTimeout, ProtoTickInterval settings
50+
were moved into the new P2P section, timing parameters now use Duration
51+
type allowing for more human-friendly values in many cases, old parameters
52+
are still supported, but will eventually be removed (#2827)
53+
* consensus (dBFT) is configured as a separate service now that can be
54+
enabled/disabled (and can work in "watch only" mode without a wallet), the
55+
old direct "UnlockWallet" specification in "ApplicationConfiguration" is
56+
still supported, but is deprecated and will be removed in future versions
57+
(#2832)
58+
* GarbageCollectionPeriod, KeepOnlyLatestState, RemoveUntraceableBlocks,
59+
SaveStorageBatch and VerifyBlocks settings were moved from
60+
ProtocolConfiguration to ApplicationConfiguration; old configurations are
61+
still supported, except for VerifyBlocks which is replaced by
62+
SkipBlockVerification with inverted meaning (and hence an inverted default)
63+
for security reasons; this also affects NewBlockchain and neotest APIs
64+
(#2833)
65+
66+
Improvements:
67+
* more user-friendly error and help messages in some cases (#2824, #2834)
68+
* faster node startup time and smaller memory footprint for networks with
69+
lots (1-2M+) of blocks (#2814)
70+
* minor documentation fixes (#2834, #2838)
71+
72+
Bugs fixed:
73+
* transactions with system fee or more than MaxBlockSystemFee are no longer
74+
accepted into the mempool, preventing a form a network-wide DoS (#2826)
75+
* deprecated WSClient subscription methods not working correctly when filters
76+
are being used (#2836)
77+
578
## 0.99.7 "Hyalinization" (23 Nov 2022)
679

780
Bugs, terrestrial arthropods with at least six legs. Sometimes we don't notice

ROADMAP.md

Lines changed: 2 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,8 @@ functionality.
77
## Versions 0.7X.Y (as needed)
88
* Neo 2.0 support (bug fixes, minor functionality additions)
99

10-
## Version 0.100.0 (aligned with C# node 3.5.0 release, ~December 2022)
11-
* 3.5.0 protocol changes
12-
* drop some deprecated code (see below)
13-
* RPC wrappers generator with extended type information
10+
## Version 0.100.1 (~January 2022)
11+
* extended data types for iterators to be used by RPC wrapper generator
1412

1513
## Version 1.0 (2023, TBD)
1614
* stable version
@@ -24,30 +22,6 @@ APIs/commands/configurations will be removed and here is a list of scheduled
2422
breaking changes. Consider changing your code/scripts/configurations if you're
2523
using anything mentioned here.
2624

27-
## getversion RPC reply Magic and StateRootInHeader fields
28-
29-
"getversion" RPC reply format was extended to contain "protocol" section in
30-
version 0.97.3. Since then we have deprecated Magic and StateRootInHeader
31-
fields in the Version structure that allows to decode replies from pre-0.97.3
32-
servers while RPC server implementation populates both old and new fields for
33-
compatibility with pre-0.97.3 clients.
34-
35-
Version 0.97.3 was released in October 2021 and can't really be used today on
36-
public networks, we expect at least 0.99.0+ to be used in production (0.99.2+
37-
for C# 3.4.0 compatibility). Therefore these old fields are scheduled to be
38-
removed in version 0.100.0 both client-side and server-side. If any of your
39-
code uses them, just use the Protocol section with the same data.
40-
41-
## InitialGasDistribution field of getversion RPC reply
42-
43-
An incompatibility with C# node's InitialGasDistribution representation was
44-
detected and fixed in version 0.99.0 of NeoGo (June 2022). Some compatibility
45-
code was added to handle pre-0.99.0 servers on the client side, however it was
46-
not possible to change pre-0.99.0 clients to work with newer servers.
47-
48-
We expect all servers to be migrated to 0.99.0+ by now, therefore
49-
compatibility code will be removed in version 0.100.0.
50-
5125
## Old RPC client APIs
5226

5327
A huge set of RPC client APIs was deprecated in versions 0.99.2 and 0.99.3

0 commit comments

Comments
 (0)