2019-01-25 17:41:43 +00:00
|
|
|
# Roadmap for neo-go
|
|
|
|
|
2019-09-18 09:06:10 +00:00
|
|
|
This defines approximate plan of neo-go releases and key features planned for
|
2022-04-20 18:30:09 +00:00
|
|
|
them. Things can change if there is a need to push a bugfix or some critical
|
2019-10-25 15:30:17 +00:00
|
|
|
functionality.
|
2019-09-18 09:06:10 +00:00
|
|
|
|
2020-02-06 18:35:43 +00:00
|
|
|
## Versions 0.7X.Y (as needed)
|
|
|
|
* Neo 2.0 support (bug fixes, minor functionality additions)
|
|
|
|
|
2023-09-06 17:32:27 +00:00
|
|
|
## Version 0.102.1 (~October 2023)
|
|
|
|
* bug fixes
|
2023-03-17 09:21:40 +00:00
|
|
|
|
2023-09-06 17:32:27 +00:00
|
|
|
## Version 0.103.0 (~November 2023)
|
2022-12-08 08:35:12 +00:00
|
|
|
* extended data types for iterators to be used by RPC wrapper generator
|
2023-09-06 17:32:27 +00:00
|
|
|
* RPC subscription extensions
|
2022-11-10 13:18:59 +00:00
|
|
|
|
|
|
|
## Version 1.0 (2023, TBD)
|
|
|
|
* stable version
|
|
|
|
|
|
|
|
# Deprecated functionality
|
|
|
|
|
|
|
|
As the node and the protocol evolve some external APIs can change. Usually we
|
|
|
|
try keeping backwards compatibility for some time (like half a year) unless
|
|
|
|
it's impossible to do for some reason. But eventually old
|
|
|
|
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.
|
|
|
|
|
2022-12-06 19:35:37 +00:00
|
|
|
## P2P application settings configuration
|
|
|
|
|
|
|
|
Version 0.100.0 of NeoGo marks the following P2P application settings as
|
|
|
|
deprecated: `AttemptConnPeers`, `BroadcastFactor`, `DialTimeout`,
|
|
|
|
`ExtensiblePoolSize`, `MaxPeers`, `MinPeers`, `PingInterval`, `PingTimeout`,
|
|
|
|
`ProtoTickInterval`. These settings are moved to a separate `P2P` section of
|
|
|
|
`ApplicationConfiguration`. The `DialTimeout`, `PingInterval`, `PingTimeout`,
|
|
|
|
`ProtoTickInterval` settings are converted to more precise `Duration` format
|
|
|
|
(allowing for subsecond time). Please, update your node configuration (all you
|
|
|
|
need is to move specified settings under the `P2P` section and convert
|
|
|
|
time-related settings to `Duration` format).
|
|
|
|
|
|
|
|
Removal of deprecated P2P related application settings is scheduled for May-June
|
2022-12-05 15:11:18 +00:00
|
|
|
2023 (~0.103.0 release).
|
|
|
|
|
|
|
|
## Direct UnlockWallet consensus configuration
|
|
|
|
|
|
|
|
Top-level UnlockWallet section in ApplicationConfiguration was used as an
|
|
|
|
implicit consensus service configuration, now this setting (with Enabled flag)
|
|
|
|
is moved into a section of its own (Consensus). Old configurations are still
|
|
|
|
supported, but this support will eventually be removed.
|
|
|
|
|
|
|
|
Removal of this compatibility code is scheduled for May-June 2023 (~0.103.0
|
|
|
|
release).
|
2022-12-06 13:34:38 +00:00
|
|
|
|
|
|
|
## Node-specific configuration moved from Protocol to Application
|
|
|
|
|
|
|
|
GarbageCollectionPeriod, KeepOnlyLatestState, RemoveUntraceableBlocks,
|
|
|
|
SaveStorageBatch and VerifyBlocks settings were moved from
|
|
|
|
ProtocolConfiguration to ApplicationConfiguration in version 0.100.0. Old
|
2022-12-06 15:13:40 +00:00
|
|
|
configurations are still supported, except for VerifyBlocks which is replaced
|
|
|
|
by SkipBlockVerification with inverted meaning (and hence an inverted default)
|
|
|
|
for security reasons.
|
2022-12-06 13:34:38 +00:00
|
|
|
|
|
|
|
Removal of these options from ProtocolConfiguration is scheduled for May-June
|
|
|
|
2023 (~0.103.0 release).
|
2023-04-06 16:33:09 +00:00
|
|
|
|
|
|
|
## GetPeers RPC server response type changes and RPC client support
|
|
|
|
|
|
|
|
GetPeers RPC command returns a list of Peers where the port type has changed from
|
|
|
|
string to uint16 to match C#. The RPC client currently supports unmarshalling both
|
|
|
|
formats.
|
|
|
|
|
|
|
|
Removal of Peer unmarshalling with string based ports is scheduled for ~September 2023
|
|
|
|
(~0.105.0 release).
|
2023-04-20 02:46:19 +00:00
|
|
|
|
|
|
|
## `NEOBalance` from stack item
|
|
|
|
|
|
|
|
We check struct items count before convert LastGasPerVote to let RPC client be compatible with
|
|
|
|
old versions.
|
|
|
|
|
2023-05-10 14:10:56 +00:00
|
|
|
Removal of this compatiblility code is scheduled for Sep-Oct 2023.
|
|
|
|
|
|
|
|
## `serv_node_version` Prometheus gauge metric
|
|
|
|
|
|
|
|
This metric is replaced by the new `neogo_version` and `server_id` Prometheus gauge
|
|
|
|
metrics with proper version formatting. `neogo_version` contains NeoGo version
|
|
|
|
hidden under `version` label and `server_id` contains network server ID hidden
|
|
|
|
under `server_id` label.
|
|
|
|
|
|
|
|
Removal of `serv_node_version` is scheduled for Sep-Oct 2023 (~0.105.0 release).
|
2023-08-15 20:53:29 +00:00
|
|
|
|
|
|
|
## RPC error codes returned by old versions and C#-nodes
|
|
|
|
|
|
|
|
NeoGo retains certain deprecated error codes: `neorpc.ErrCompatGeneric`,
|
|
|
|
`neorpc.ErrCompatNoOpenedWallet`. They returned by nodes not compliant with the
|
|
|
|
neo-project/proposals#156 (NeoGo pre-0.102.0 and all known C# versions).
|
|
|
|
|
|
|
|
Removal of the deprecated RPC error codes is planned once all nodes adopt the new error standard.
|