CHANGELOG: release v0.95.4
This commit is contained in:
parent
fc83b34d02
commit
701a3a728a
1 changed files with 72 additions and 0 deletions
72
CHANGELOG.md
72
CHANGELOG.md
|
@ -2,6 +2,78 @@
|
||||||
|
|
||||||
This document outlines major changes between releases.
|
This document outlines major changes between releases.
|
||||||
|
|
||||||
|
## 0.95.4 "Yatter" (09 Jul 2021)
|
||||||
|
|
||||||
|
Making a fully compliant Neo node is not easy, there are lots of minuscule
|
||||||
|
details that could be done in a little different way where both ways are
|
||||||
|
technically correct but at the same time just different which is enough to
|
||||||
|
create some interoperability problems. We've seen that with Legacy node
|
||||||
|
implementation where we were functionally complete with 0.74.0 release but
|
||||||
|
some fixes kept coming up to the most recent 0.78.3 version. It was a bit
|
||||||
|
easier with Legacy because we already had some years-long chains to test the
|
||||||
|
node against while N3 is a completely new territory.
|
||||||
|
|
||||||
|
So we'd like to thank all RC3 hackathon participants as well as all other
|
||||||
|
people playing with N3 RC3 network, your joint efforts gave enough material
|
||||||
|
to keep us busy fixing things for some time. The chain moving forward hit more
|
||||||
|
and more edge cases with every block and this is actually very helpful, we saw
|
||||||
|
a lot of things that could be improved in our node and we improved them.
|
||||||
|
|
||||||
|
Now we're releasing 0.95.4 with all of these fixes which is still
|
||||||
|
RC3-compatible and it's stateroot-compatible with C# implementation up to 281K
|
||||||
|
blocks. Please resynchronize to get identic testnet state. And most likely
|
||||||
|
that's the last RC3-compatible release as we're moving forward to the official
|
||||||
|
3.0.0 release of C# version NeoGo will be updated with appropriate changes
|
||||||
|
(some of which are not compatible with RC3).
|
||||||
|
|
||||||
|
New features:
|
||||||
|
* 'sysgas' parameter for invocation and transfer CLI commands to manually add
|
||||||
|
some system fee GAS (#2033)
|
||||||
|
|
||||||
|
Behavior changes:
|
||||||
|
* contract calls are now checked against specified permissions by the
|
||||||
|
compiler (#2025)
|
||||||
|
* stack items with nesting levels of 10 and more won't be serialized to JSON
|
||||||
|
for purposes like including them into RPC call reply (#2045)
|
||||||
|
|
||||||
|
Improvements:
|
||||||
|
* AddHeaders() with multiple headers added at the same time now works with
|
||||||
|
StateRootInHeader option (#2028)
|
||||||
|
* cached GAS per vote value leads to substantially improved block processing
|
||||||
|
speed (#2032)
|
||||||
|
* failed native NEP17 transfers now still re-save the old value to the
|
||||||
|
storage making state dumps compatible with C# (#2034)
|
||||||
|
* refactored and renamed some stackitem package functions, added proper error
|
||||||
|
values in all cases (#2045)
|
||||||
|
* RPC calls (and application logs) can now return real serialization errors
|
||||||
|
if there are any (previously all errors were reported as "recursive
|
||||||
|
reference", #2045)
|
||||||
|
* better tests (#2039, #2050)
|
||||||
|
|
||||||
|
Bugs fixed:
|
||||||
|
* wrong onNEP11Payment name in contract configuration examples (#2023)
|
||||||
|
* missing permission sections in contract configuration examples (#2023)
|
||||||
|
* buffer stack item deserialization created byte string (#2026)
|
||||||
|
* Extra contract manifest field serialization was reworked to match C#
|
||||||
|
implementation more closely (#2021)
|
||||||
|
* wildcard permission in manifest allowed any methods, while it shouldn't
|
||||||
|
(#2030)
|
||||||
|
* group permission in manifest worked incorrectly for a set of groups (#2030)
|
||||||
|
* call flags were JSONized in incompatible way (#2041)
|
||||||
|
* MPT update left branch nodes with 1 child in some cases (#2034, #2047)
|
||||||
|
* JSON marshalling code for stack items detected item recursion in some cases
|
||||||
|
where no actual recursion was present (#2045)
|
||||||
|
* binary serialization code for stack items could overwrite old errors in
|
||||||
|
some cases (#2045)
|
||||||
|
* binary serialization code for stack items wasn't ensuring maximum size
|
||||||
|
limit during serialization which could lead to OOM (#2045)
|
||||||
|
* batched MPT update create excessive extension nodes for the last child of
|
||||||
|
branch node in some cases (#2047)
|
||||||
|
* in some cases "TCP accept error" was logged during node shutdown (#2050)
|
||||||
|
* contract updating code was updating caches before they should've been
|
||||||
|
updated (#2050)
|
||||||
|
* INVERT/ABS/NEGATE unary operations were not copying their arguments (#2052)
|
||||||
|
|
||||||
## 0.95.3 "Yuppification" (17 Jun 2021)
|
## 0.95.3 "Yuppification" (17 Jun 2021)
|
||||||
|
|
||||||
One more N3 RC3-compatible release that fixes testnet state difference at
|
One more N3 RC3-compatible release that fixes testnet state difference at
|
||||||
|
|
Loading…
Reference in a new issue