Skip to content

Commit

Permalink
Merge pull request #3806 from nspcc-dev/rel-0.108.0
Browse files Browse the repository at this point in the history
Release 0.108.0
  • Loading branch information
roman-khimov authored Feb 11, 2025
2 parents a1db45d + 406e8cd commit 62972eb
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 39 deletions.
50 changes: 50 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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`
Expand Down
13 changes: 2 additions & 11 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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.
28 changes: 0 additions & 28 deletions pkg/vm/context.go
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down

0 comments on commit 62972eb

Please sign in to comment.