Merge pull request #3806 from nspcc-dev/rel-0.108.0

Release 0.108.0
This commit is contained in:
Roman Khimov 2025-02-11 18:17:35 +03:00 committed by GitHub
commit 62972ebc14
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 52 additions and 39 deletions

View file

@ -2,6 +2,56 @@
This document outlines major changes between releases.
## 0.108.0 "Participation" (11 Feb 2025)
This version is compatible with the C# node 3.7.6, but also contains some
Echidna changes preview. Additional RPC extensions are introduced with this
release as well as some important fixes and improvements.
We recommend to check your configurations wrt NeoFS synchronization options,
a new set of containers was introduced recently, old ones will eventually be
deleted (which won't break syncrhonization, but can delay it a bit). No DB
resync is required unless you want to use the new "SaveInvocations" option.
New features:
* "Designation" event in RoleManagement native contract starting from Echidna
HF (#3761)
* base64Url encoding and decoding support in StdLib native contract starting
from Echidna HF (#3761)
* NEO candidate registration via NEP-27 payment starting from Echidna HF (#3700)
* ArchivalNode P2P capability (#3778)
* NEP-26 and NEP-27 support everywhere (#3792)
* "SaveInvocations" node parameter that allows to store more detailed
contract invocation data and retrieve it via RPC (#3569)
* "getblocknotifications" RPC API allowing to fetch filtered notifications
from all block execution contexts (#3805)
Behavior changes:
* updated "upload-bin" command defaults (#3760)
* updated NeoFS containers for all networks (#3759)
* additional AllowNotify call flag for some NEO methods starting from Echidna
HF (#3761)
* Dump*Slot methods removed from vm.Context (#3806)
Improvements:
* golang.org/x/crypto update from 0.26.0 to 0.31.0 (#3765)
* neotest can load contracts from NEF/manifest files now (#3771)
* more accurate memory management in persisting/processing cycles preventing
OOM conditions in most cases (#3787)
* RPC bindings now have ToStackItem and ToSCParameter methods for structures
(#3794, #3796, #3804)
* dBFT 0.3.2 with improved timers (#3799)
* github.com/consensys/gnark update from 0.11.0 to 0.12.0 (#3800)
* ability to fetch headers from NeoFS (#3789)
Bugs fixed:
* potentially incorrect handling of misconfigured NeoFS endpoints (#3758)
* duplicate index objects are no longer an error for "upload-bin" (#3763)
* old transfer data removal problem in RemoveUntraceableBlocks configuration,
0.107.2 regression (#3787)
* zkpbinding module producing code that can't be compiled, 0.107.0 regression
(#3802)
## 0.107.2 "Obliteration" (13 Dec 2024)
One more compatible patch-release that introduces `RemoveUntraceableHeaders`

View file

@ -7,10 +7,10 @@ functionality.
## Versions 0.7X.Y (as needed)
* Neo 2.0 support (bug fixes, minor functionality additions)
## Version 0.108.0 (~Jan-Feb 2025)
## Version 0.109.0 (~April 2025)
* protocol updates
* bug fixes
* node resynchronisation from local DB
* NeoFS-based synchronization
## Version 1.0 (2024, TBD)
* stable version
@ -24,12 +24,3 @@ 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.
## Dump*Slot() methods of `vm.Context`
The following new methods have been exposed to give access to VM context slot contents
with greater flexibility:
- `ArgumentsSlot`
- `LocalsSlot`
- `StaticsSlot`.
Removal of the `Dump*Slot()` methods are scheduled for the 0.108.0 release.

View file

@ -277,34 +277,6 @@ func (c *Context) IsDeployed() bool {
return c.sc.NEF != nil
}
// DumpStaticSlot returns json formatted representation of the given slot.
// Deprecated: to be removed in next version. Use [Context.StaticsSlot] instead.
func (c *Context) DumpStaticSlot() string {
return dumpSlot(&c.sc.static)
}
// DumpLocalSlot returns json formatted representation of the given slot.
// Deprecated: to be removed in next version. Use [Context.LocalsSlot] instead.
func (c *Context) DumpLocalSlot() string {
return dumpSlot(&c.local)
}
// DumpArgumentsSlot returns json formatted representation of the given slot.
// Deprecated: to be removed in next version. Use [Context.ArgumentsSlot] instead.
func (c *Context) DumpArgumentsSlot() string {
return dumpSlot(&c.arguments)
}
// dumpSlot returns json formatted representation of the given slot.
// Deprecated: to be removed in next version.
func dumpSlot(s *Slot) string {
if s == nil || *s == nil {
return "[]"
}
b, _ := json.MarshalIndent(s, "", " ")
return string(b)
}
// getContextScriptHash returns script hash of the invocation stack element
// number n.
func (v *VM) getContextScriptHash(n int) util.Uint160 {