Pay attention:
- This is a new version which will make a hard fork.
- Please ensure your OS support .NET9.0: https://learn.microsoft.com/en-us/dotnet/core/install/
- New fork ID:
HF_Echidna
. Mainnet fork height:7300000
. Testnet fork height:5870000
. - This version doesn't need to resync full data if you could upgrade before the fork height.
What's Changed
- Neo.CLI: enable hardforks for NeoFS mainnet by @AnnaShaleva in #3240
- Change
protection
level ofApplicationEngine.LoadContext
by @shargon in #3242 - improve parse method in neo-cli by @chenzhitong in #3204
- Make
ApplicationEngine.LoadContext
protection levelpublic
by @cschuchardt88 in #3243 - [Part-1]
neo-module/master
by @cschuchardt88 in #3232 - Native: include DeprecatedIn hardfork into usedHardforks by @AnnaShaleva in #3245
- fix TraverseIterator count by @Hecate2 in #3261
- COVERALL: fix broken by changing report from lcov to cobertura by @vncoelho in #3252
- fix CancelTransaction !signers.Any() by @Hecate2 in #3263
- Optimize plugin's models by @shargon in #3246
- Add optimization to template by @shargon in #3247
- Fix and Update devcontainer.json to use Dockerfile by @vncoelho in #3259
- Fix
dotnet pack
error by @shargon in #3266 - [Part-2] Neo module/master fixes by @cschuchardt88 in #3244
- Update nuget and fix deprecated Akka version by @shargon in #3262
- COVERALL: Improve maintenance and readbility of some variables by @vncoelho in #3248
- fix: custom plugins won't shown by command
plugins
by @shargon in #3269 - Native: remove deprecated NamedCurve enum by @AnnaShaleva in #3273
- use datoshi as the name of the smallest unit of GAS by @Jim8y in #3241
- [NEO CLI] Remove comments in Json file by @Jim8y in #3278
- [Neo Plugin RPCServer]fix getcontractstate by @Jim8y in #3282
- Remove StatesDumper - Minor Refactor on StorageDumper by @vncoelho in #3281
- Remove Build Warnings by @cschuchardt88 in #3283
- [Neo Wallet Fix] Add cert import exception by @Jim8y in #3279
- [Neo Plugins UT] Fix namespace for adding plugin ut tests by @Jim8y in #3286
- [Neo MemStore] fix memstore commit bug by @Jim8y in #3288
- [Neo Core Style] define a class for the contractbasemethod by @Jim8y in #3291
- [Neo Core Style] Rename parameters, update comments, fix code style by @Jim8y in #3294
- Fixed up
main.yml
by @cschuchardt88 in #3292 - Fix error when vc_redist is missing by @chenzhitong in #3293
- [Neo Plugin Bug]fix 3296 by @Jim8y in #3299
- SmartContract: use executing contract state to check permissions by @AnnaShaleva in #3290
- [Neo Core Bug]fix 3300 by @Jim8y in #3301
- fix plugin download url by @Jim8y in #3329
- [Neo CLI Optimization] fix exception message by @Jim8y in #3314
- Return expect to verify neo-cli by @vncoelho in #3318
- [Neo CLI New Feature] Allow custom plugins by @Jim8y in #3295
- Fixed
Path
andProperty
for*.csproj
files by @cschuchardt88 in #3306 - sync v3.7.5 by @superboyiii in #3342
- [Neo Plugin Optimization] Catch format exception by @Jim8y in #3341
- [Neo Core Optimization] Organize core events. by @Jim8y in #3332
- [Neo VM Optimization]Print stack exception by @Jim8y in #3326
- Fixed
version
display inneo-cli
by @cschuchardt88 in #3307 - Fixed Props paths for
*.csproj
builds by @cschuchardt88 in #3320 - [Fixed]
NuGet
Release by @cschuchardt88 in #3338 - [Neo Core UT] Test memory store by @Jim8y in #3336
- [Fixed]
ApplicationLogs
Console Printing by @cschuchardt88 in #3348 - Plugin unhandled exception by @Jim8y in #3349
- Revert "Fixed Props paths for
*.csproj
builds" by @cschuchardt88 in #3352 - [Neo VM Style] Add comments and document to reference counter by @Jim8y in #3331
- [Neo CLI FIX] fix #3357 by @Jim8y in #3358
- [Neo Plugins UT] Add RpcServer Unit Tests Part Blockchain. by @Jim8y in #3339
- Remove comments in
nuget.yml
by @cschuchardt88 in #3359 - Fix:
MemPool
null checks by @shargon in #3367 - plugins: remove expressions that are always true by @chenzhitong in #3393
- [**Part-1] Add
github
Release Workflow by @cschuchardt88 in #3308 - cli: Fix
plugins
command by @shargon in #3394 [Tests]
Add blame logging -main.yml
by @cschuchardt88 in #3384- Fix download tips by @superboyiii in #3395
DeprecatedIn
for events by @shargon in #3362- Fix crash when comparing ContractPermissionDescriptor by @chenzhitong in #3396
[neo-cli]
Error Message and Warning - LevelDb by @cschuchardt88 in #3380[Fixes]
Props Duplicate - Path Packing by @cschuchardt88 in #3379[Move]
Part-1 Classes into Different Library -Neo.IO
by @cschuchardt88 in #3387[Fix]
Test Problems by @cschuchardt88 in #3398[Typo]
Unit Tests - UT_ProtocolSettings.CreateHKSettings by @cschuchardt88 in #3383- Bump System.Text.Json from 8.0.3 to 8.0.4 in /src/Neo.Json by @dependabot in #3416
- [Neo Plugin Store] Unit test by @Jim8y in #3399
[Add]
Debug Output toExpect
by @cschuchardt88 in #3407- Improve code coverage by @chenzhitong in #3354
- [Neo Plugin UT] Rpcserver unit test on node by @Jim8y in #3353
- Fix release compilation by @shargon in #3417
[Fix]
Publish Step by @cschuchardt88 in #3411- [Neo Core MemoryStore] MemoryStore Unit Tests. by @Jim8y in #3404
- [Neo Core Storage] Implicit methods and tests by @Jim8y in #3403
- [Neo Core Store] Rename various snapshots. by @Jim8y in #3406
[Move]
Part-2 Classes into Different Library -Neo.IO
by @cschuchardt88 in #3388- Revert "Plugin unhandled exception (#3349)" by @vncoelho in #3366
- [Neo Core] fix obsolete warning by @Jim8y in #3428
- Neo.CLI: update MaxTraceableBlocks setting for NeoFS networks by @AnnaShaleva in #3424
- [
Upgrade
] Nuget packages by @cschuchardt88 in #3421 - [Neo Core Fix]use strong randomness by @Jim8y in #3432
- [
Fixed
] Warning with MemoryPool by @cschuchardt88 in #3430 - [Neo Core UT] Fix ut and style by @Jim8y in #3413
- [Added] Build
neo-cli
Docker Image by @cschuchardt88 in #3355 - [Neo Core Doc]create a docs folder and move existing doc to it. by @Jim8y in #3435
- [Part-1] Added
ApplicationLogs
Unit Tests by @cschuchardt88 in #3346 - add unit tests for json by @Jim8y in #2993
- [Neo Core VM] complete opcode comments by @Jim8y in #3437
- [Neo Core] Obsolete applicationengine snapshot by @Jim8y in #3436
- [Neo Plugin RpcServer UT]Plugin rpcserver wallet UTs by @Jim8y in #3433
[Move]
Part-3 Classes into Different Library -Neo.Extensions
by @cschuchardt88 in #3400- [
Optimization
] Parsing Smart Contract Script Analysis by @cschuchardt88 in #3420 - [Neo Core Benchmark]update benchmark system by @Jim8y in #3442
- [rpc] Extend
getversion
RPC response with additional protocol settings by @shargon in #3443 - [Neo Core Add] add char support by @Jim8y in #3441
- [
dbft
] Prevent Store Creation by @cschuchardt88 in #3444 - [Neo Core Bug] fix compound type reference issue by @Jim8y in #3334
- Fix plugin exception by @Jim8y in #3426
- [Neo Json Fix] Json null tests by @Jim8y in #3450
- Update README.md by @chenzhitong in #3459
- [fixedbug] RpcServer findstorage by @chenzhitong in #3458
- Set
Password
toSecureString
for Wallet by @cschuchardt88 in #3468 - [Neo Plugin RPCServer] Rpc parameters. Part I by @Jim8y in #3457
- test RpcServer.Utilities, .SmartContract and .Wallet by @Hecate2 in #3461
[Move]
Part-4 Classes into Different Library -Neo.Extensions
by @cschuchardt88 in #3408- Add UT Neo.IO by @chenzhitong in #3466
- improve error message when wrong wallet is opened by @Hecate2 in #3469
- Update UT RpcServer by @chenzhitong in #3460
- [
fixes
] UInt160 Class by @cschuchardt88 in #3422 - test GetApplicationLog by @Hecate2 in #3470
- Add UT Neo.Extensions by @chenzhitong in #3467
- Add some UT by @chenzhitong in #3476
- Update ConstantTimeUtility.cs by @kov072299 in #3472
- Test OracleService by @Hecate2 in #3475
- [Neo Plugin RPC] update rpc node methods signatures to use explicit parameter types. by @Jim8y in #3479
- Fixing errors in comments by @chenzhitong in #3483
- parse nef file scripts by @Hecate2 in #3482
- [Neo VM Style] Throw exception for Integer that is larger than 32 bytes by @Jim8y in #3486
- fixed bug in RpcError by @chenzhitong in #3498
- fix: concurrency conflict in HeaderCache.Count by @nan01ab in #3501
- [
Add
] Transaction Builder by @cschuchardt88 in #3477 - [
Fix
] Neo Plugins github nuget by @cschuchardt88 in #3493 [Move]
Part-5 Classes into Different Library -Neo.Extensions
by @cschuchardt88 in #3409- fix: always throw
DivideByZeroException
whenBloomFilter
is empty by @nan01ab in #3502 - fix: concurrency conflict in MemPool.TryRemoveUnVerified by @nan01ab in #3500
- [NeoVM] update rvcount error message by @Jim8y in #3504
- Added
CreateStruct
& FixedCreateMap
by @cschuchardt88 in #3494 - [VM Benchmark] benchmark convert by @Jim8y in #3509
- OpCodes: extend MODMUL tests with negative base/multiplier/mod by @AnnaShaleva in #3513
- fix: sensitive data compare should use constant time compare to avoid timing attack by @nan01ab in #3508
- Use
CryptographicOperations.FixedTimeEquals
by @shargon in #3516 - [Benchmark] this pr adds more pocs to benchmark by @Jim8y in #3512
- Bump System.Text.Json from 8.0.4 to 8.0.5 in /src/Neo.Json by @dependabot in #3519
- Circular reference error info in ToJson by @Hecate2 in #3522
- [Benchmark] Benchmark OpCode and VM by @Jim8y in #3514
- Move
ReferenceCounter
to an interface by @shargon in #3524 - [Neo VM] optimize newstruct by @Jim8y in #3525
- Add canonical
TryGet
style inIReadOnlyStore
by @nan01ab in #3533 - Change references to IReferenceCounter by @shargon in #3529
- fix: concurrency conflict in NEP6Wallet.ToJson by @nan01ab in #3527
- fix cref "OpCode.SUBSTR" in comment by @Hecate2 in #3542
- ApplicationEngine helper to get engine error info by @Hecate2 in #3541
- stack opcode example comments by @Hecate2 in #3546
- Expose
GetInteropDescriptor
by @shargon in #3545 - fix: unexpected
InvalidOperationException
with circular reference inContractParameter.ToJson
by @nan01ab in #3555 - OpCodes: extend MODPOW tests with negative base/exp/mod by @AnnaShaleva in #3557
- Fix InvalidOperationException by @shargon in #3558
- [
Fix
] some compiler warnings by @nan01ab in #3564 - Fixed hashcode for StackItem [Remove Murmur32 and add XxHash3] by @cschuchardt88 in #3531
- Extend
CalculateNetworkFee
with contract verification by @shargon in #3385 - support file path to base64 in parse by @Hecate2 in #3487
- A simpler and better performance impl for
ByteArrayComparer
by @nan01ab in #3563 - use
Xxhash3
for StorageKey.GetHashCode by @nan01ab in #3559 - [
Fix
] StackItem.GetHashCode for CompoundType by @cschuchardt88 in #3549 [Fix]
unalignment memory load in Neo.VM Unsafe.NotZero(ReadOnlySpan) and remove the use ofunsafe
by @nan01ab in #3492- [Fix] Enable Storage tests for (MacOS) by @cschuchardt88 in #3568
- Optimize the
ToHexString
by @nan01ab in #3566 - [
Fix
] namespace scopes by @cschuchardt88 in #3503 - A simpler impl for
ByteArrayEqualityComparer
and remove redundant impl by @nan01ab in #3562 - Fixed names of labels by @cschuchardt88 in #3569
- Added equals to
ContractMethodDescriptor
by @shargon in #3570 - [Add]
IEquatable
to WitnessCondition by @cschuchardt88 in #3572 - [Add]
IEquatable
to WitnessRule by @cschuchardt88 in #3573 - Make exception message more clear in
Neo.Json
by @nan01ab in #3579 - use
MemoryExtenions.SequenceEqual
for better performance by @nan01ab in #3578 - [Remove] obsolete
WsServer
by @cschuchardt88 in #3582 - [Plugin LevelDB] First step of 3414 - Comments and style by @Jim8y in #3575
- [Core VM] update exception message in the vm to make it more clear. by @Jim8y in #3577
- Add more info to deserialization exceptions by @nan01ab in #3585
- Remove some ToArrays to reduce memory allocations by @nan01ab in #3584
- [Add]
IEquatable
to Signer by @cschuchardt88 in #3571 - Optimize Signer equals by @shargon in #3588
- Lower Timeout for the Akka System by @cschuchardt88 in #3587
- [Plugin LevelDB] Second step of 3414 - GC and Easy Management by @Jim8y in #3586
- [Core VM] optmize the vm by @Jim8y in #3590
- vm: Add some
AggressiveInlining
by @shargon in #3592 [Move]
Part-6 Classes into Different Library -Neo.Extensions
by @cschuchardt88 in #3410- Fixed
GetVarSize
by @cschuchardt88 in #3594 - Optimizations for
KeyBuilder
by @nan01ab in #3598 - Update README.md by @chenzhitong in #3601
- .NET 9 by @chenzhitong in #3576
- Added better error handling to
Native.Ledger
by @cschuchardt88 in #3593 [Move]
Part-7 Classes into Different Library -Neo.Extensions
by @cschuchardt88 in #3446- [Core Plugin] adopt more change from pr 3414 by @Jim8y in #3591
- Revert "[Remove] obsolete
WsServer
" by @cschuchardt88 in #3603 - Add argument null check for
ToHexString
to keep same behavior between different .net versions by @nan01ab in #3605 - [Core Plugin] PR 3414 part 4. thread safe snapshot by @Jim8y in #3606
- Upgrade
System.Text.RegularExpressions
to fix vulnerability by @nan01ab in #3604 [Move]
Part-8 Classes into Different Library -Neo.Extensions
by @cschuchardt88 in #3447- Improve
LevelDBStore
by @cschuchardt88 in #3607 - Fix inexistent devcontainer image - from jammy to nobel by @vncoelho in #3613
- Update Readme.md by @cschuchardt88 in #3609
[Move]
Part-9 Classes into Different Library -Neo.Extensions
by @cschuchardt88 in #3448- feat: add readonly StorageKeys to eliminate some allocations by @nan01ab in #3616
- Fix comment:
DataCache.GetInternal
throwsKeyNotFoundException
on key not exists by @nan01ab in #3621 [Move]
Part-10 Classes into Different Library -Neo.Extensions
by @cschuchardt88 in #3449- [Add] Get Accounts and Balances for GasToken by @cschuchardt88 in #3614
- [Fixed] Dotnet version for DevContainer by @cschuchardt88 in #3620
- [
Move
]: move unit-tests ofDataCache
to corresponding directory by @nan01ab in #3625 - [
Fix
]: remove the only compiler warning by @nan01ab in #3623 - [
Fix
]:UInt160.TryParse
when source has whitespaces by @nan01ab in #3626 - [
Add
]: add missing unit-tests forLogStorageStore
by @nan01ab in #3624 - [Plugin RpcServer] fix issue 3629 by @Jim8y in #3630
- Base58 perfomance patch by @kzorin52 in #3186
- public abstract class Cache and FIFOCache by @Hecate2 in #3634
- [
Remove
]: some unnecessary old implementations for benchmark by @nan01ab in #3641 - Extensible capabilities and ArchivalNode by @roman-khimov in #3639
- [Add] GetStorage for ContractState by @cschuchardt88 in #3615
- P2P: fix
UnknownCapability
validation and maintainig by @AnnaShaleva in #3647 - [Core Crypto] Optimize hash by @Jim8y in #3648
- [
Optimization
]:HexToBytes
andTryParse
ofUInt160
,UInt256
by @nan01ab in #3638 - [
Add
]: addIReadOnlyStoreView
by @nan01ab in #3642 - [
Style
]: use standard style ofReadOnlyStore.TryGet
by @nan01ab in #3640 - [Add] Get Accounts and Balances for NeoToken by @cschuchardt88 in #3610
- [README] update readme by @Jim8y in #3649
- [
Fix
]: keep the first parameter name of theSeek
method the same by @nan01ab in #3652 - [Core] rename hasher by @Jim8y in #3651
- Fix mac ut by @shargon in #3664
- [
Optimization
]: clear array forIndexedQueue.Clear
by @nan01ab in #3660 - Update
m
doc by @shargon in #3658 - Add Log level by @shargon in #3657
- Use the right type for Opcode casting by @shargon in #3656
- [
Fix
]:HashSizeValue
should be set in implementations ofSystem.Security.Cryptography.HashAlgorithm
by @nan01ab in #3661 - Remove blame tests by @shargon in #3662
- Allow ReadOnlySpan in RIPEMD160 by @shargon in #3659
- Fix and optimize
DataCache.Commit
by @shargon in #3671 - .Net SDK upgraded, but
LangVersion
not. by @nan01ab in #3672 - Disable compression by p2p by @shargon in #3655
- Happy new year 2025 by @shargon in #3677
- Neo.json.benchmarks by @chenzhitong in #3673
- [Fix] Set max entries for
VerifyProof
instatePlugin
by @shargon in #3675 - readonly structs by @shargon in #3676
- Nullable in Storage classes by @shargon in #3670
- more 2025 by @chenzhitong in #3678
- [
Improve
] CalculateNetworkFee by @shargon in #3674 - [
Fix
]: Behavior whenkeyPrefix
is null in differentIStore.Seek
impls. by @nan01ab in #3682 - [
Add
]: LevelDB Benchmarks by @nan01ab in #3667 - [
Update
] Dotnet & Compiler Version by @cschuchardt88 in #3684 - Enforcement Compiler Warnings by @cschuchardt88 in #3687
- Nullable leveldb by @shargon in #3685
- Nullable rocks db by @shargon in #3686
- [
Fix
]: add lock for RocksDbStore.Snapshot.WriteBatch to keep same behavior by @nan01ab in #3689 - Add hardfork HF_Echidna by @Jim8y in #3454
- [Core P2P] fix the bug by @Jim8y in #3695
- Update nugets by @shargon in #3692
- [
Add
]: unit tests for special parameter position forContractMethod
by @nan01ab in #3697 Murmur3
should not be cryptographic hash algorithm by @nan01ab in #3668- Fix
GetAndChange
warnings by @shargon in #3702 - [Core UT] remove FluentAssertions by @Jim8y in #3703
- Fix: return NotNullIfNotNull by @nan01ab in #3704
- Fix: remove residual
FluentAssertions
by @nan01ab in #3707 - [
Fix
] ByteArrayComparer by @cschuchardt88 in #3710 - ['Bug'] MemoryStore and MemorySnapshot by @cschuchardt88 in #3711
- Unify storage unit tests by @shargon in #3713
- Exclude tests from coveralls by @shargon in #3712
- [
Improve
]: useIReadOnlyStoreView
instead. by @nan01ab in #3683 - [
Optimization
]: check null when setIVerifiable.Witnesses
by @nan01ab in #3717 - [
Optimization
]: make some unit tests more readable by @nan01ab in #3716 - Nullable storage classes by @shargon in #3718
- [
fix
] Docker Image by @cschuchardt88 in #3725 - [Style] optimize import by @Jim8y in #3726
- [Core MD] Clarify repo scope: C# implementation ≠ Neo Core protocol by @Jim8y in #3706
- Refactor Storage classes (part 1) by @shargon in #3735
- Nullable IO and plugins folders by @shargon in #3719
- Avoid duplicate conditions by @shargon in #3740
- fix stuff by @cschuchardt88 in #3742
- removed unused files by @cschuchardt88 in #3745
- Fix: dec
m
iffAddSignature
succeed by @nan01ab in #3741 - Move
MemoryStore
to a different folder by @shargon in #3736 - Remove
Trackable.Key
fromDataCache.Trackable
by @shargon in #3737 - updated dockerfile for action workflow by @cschuchardt88 in #3748
- [Fix] Leveldb RocksDb Runtime Binaries by @cschuchardt88 in #3665
- Optimize Release by @cschuchardt88 in #3754
- [
fix
] Unit tests by @cschuchardt88 in #3753 - [
Optimziation
]: support running specified benchmarks by @nan01ab in #3751 - public InvocationTree for diagnostics by @Hecate2 in #3762
- [
Add
] Enable Continuous Integration Build by @cschuchardt88 in #3752 - Rename to
nuget.config
-- case sensitive by @cschuchardt88 in #3763 - Optimize
ECPoint
serialization by @shargon in #3757 - Nullable BloomFilter and MerkleTree by @shargon in #3764
- [
Fix
] Github Action Issues by @cschuchardt88 in #3759 - EC Recover by @shargon in #3696
- Improve MaxNestingDepth of WitnessCondition by @roman-khimov in #3761
- Add Support for Plugin Loading by Assembly by @cschuchardt88 in #3755
- Optimize
StorageKey
creation by @shargon in #3756 - [
Fix
] Linux File Access by @cschuchardt88 in #3769 - [
Optimization
]: Make murmur32 appendable and faster. by @nan01ab in #3760 - [
Optimization
]: remove someunsafe
usages by @nan01ab in #3767 - Updated
KeyBuilder
Fast Access by @cschuchardt88 in #3768 - [
Optimization
]: some memory optimizations by @nan01ab in #3775 - Testing improvements by @Youssef1313 in #3778
- [
Style
]: RenameUnsafeData
toIntegerExtensions
by @nan01ab in #3786 - [
Fix
] Avoid null inGetMultiSignatures
by @cschuchardt88 in #3788 - [
Optimization
]: move private key usages from theDBFTPlugin
toWallet
by @nan01ab in #3773 - [
Fix
] RpcStack in RpcClient by @cschuchardt88 in #3784 - [
Maintenance
] Project File Normalization by @cschuchardt88 in #3715 - Implement NotaryAssisted transaction attribute by @AnnaShaleva in #3175
- [
Fix
]: try to fix account.Lock check by @nan01ab in #3791 - SmartContract: restrict the number of allowed notifications by @AnnaShaleva in #3548
- Remove ChangeSet from
StoreView
by @shargon in #3739 - Avoid serialization issues by @shargon in #3797
- Fix rpc issue by @shargon in #3804
- Transaction: ensure standard witness scripts are properly verified by @AnnaShaleva in #3805
- Optimize
GetSignData
by @shargon in #3798 - Change to for Plugin projects by @superboyiii in #3809
- Add
Serialize(Span)
method toISerializableSpan
by @shargon in #3800 - [
Fix
]: some typos by @Wi1l-B0t in #3813 - [
Add
]:ISigner
interface by @Wi1l-B0t in #3807 - [
Style
]: move string extension method to StringExtension.cs by @Wi1l-B0t in #3808 - Nullable for
HashIndexState
andTransactionState
by @shargon in #3801 - Nullable
ECPoint
andECFieldElement
by @shargon in #3758 - [Fix]
ECPoint.GetHashCode
by @shargon in #3815 - Improve wallet unlocking error message by @shargon in #3819
- [
Add
]:TryGetHash
forIVerifiable
by @Wi1l-B0t in #3821 - Improve
MemPool
event management by @shargon in #3824 - Unify Node Capabilities by @shargon in #3820
- add NetworkId into dump storage and improve code by @superboyiii in #3828
- Style
SQLiteWallet
by @shargon in #3818 - Fix master by @shargon in #3830
- [
Add
]:NotNullWhen(true)
for some out parameters by @Wi1l-B0t in #3833 - [
Style
]: format too-long literal strings by @Wi1l-B0t in #3835 - [
Add
]:Witness.Empty
for simplifing somethings by @Wi1l-B0t in #3836 - Nullable and fix
lock
inSQLiteWallet
by @shargon in #3816 - [
Style
]: properAssert
methods to assert something by @Wi1l-B0t in #3834 - Avoid returning the entire mempool when only
maxTransactionsPerBlock
is required by @shargon in #3823 - [MemPool] Remove constant arguments by @shargon in #3838
- [
Style
: format literal json strings in tests/ by @Wi1l-B0t in https://github.com//pull/3839 - [
Style
]: avoid allocating emtpy array by @Wi1l-B0t in #3841 - [
Fix
]:BigIntegerExtension.ModInverse
returns a wrong result if value < 0 by @Wi1l-B0t in #3840 - Ensure the interop types are serializable before commit by @shargon in #3802
- Ensure
IInteroperable.Clone
by @shargon in #3829 - [
Fix
] References inStorageKey
by @cschuchardt88 in #3782 - Review of #3782 by @shargon in #3843
- [style] Clean crypto by @shargon in #3844
- [crypto] Add SHA512 by @shargon in #3845
- [
Optimzie
]: removeAsParallel
inCache
by @Wi1l-B0t in #3846 - add more unit tests to enforce the correctness by @Jim8y in #3848
- Add build script by @Jim8y in #3849
- [
Style
]: clearer style forCache
by @Wi1l-B0t in #3847 - format script by @Jim8y in #3854
- add readme file to rpcclient by @Jim8y in #3853
- Native: unify arguments naming of CryptoLib's
verifyWith*
methods by @AnnaShaleva in #3855 - [
Optimization
]: add exception message toArgumentException
by @Wi1l-B0t in #3862 - config: upgrade NeoFS chains protocol configuration by @AnnaShaleva in #3858
- [Plugin UT] add more rpcserver UTs by @Jim8y in #3864
- [
Fix
]: add default value forkey
parameter in help command by @Wi1l-B0t in #3865 - [
Fix
]: concurrent conflict inCache.CopyTo
by @Wi1l-B0t in #3860 - Native: swap Policy's
[get/set]AttributeFee
implementations by @AnnaShaleva in #3859 - [
Add
]: set name when create wallet by @Wi1l-B0t in #3866 - move non-plugins out of plugins by @Jim8y in #3863
- [Clean] Remove
IRawReadOnlyStore
by @shargon in #3869 - Release the resources by @Jim8y in #3868
- Optimize Uint160 and Uint256 constructor by @shargon in #3872
- Optimize ram usage by @shargon in #3873
- Fix possible null exception by @shargon in #3880
- [
Optimize
]: returnGetFileNameWithoutExtension(Path)
if name is not set by @Wi1l-B0t in #3883 - [
Style
]: format long lines by @Wi1l-B0t in #3884 - Avoid double
ToArray
onOnInvMessageReceived
by @shargon in #3875 - Optimize block deserialization by @shargon in #3879
- [
fix
] stop syncing on block 1465790 by @shargon in #3888 - [style] Added some var styles by @shargon in #3867
- Native: move
MaxValidUntilBlockIncrement
to native Policy by @AnnaShaleva in #3861 - Move Import/Export operations to a seperate file. by @Jim8y in #3891
- [NEO CLI]replace old show state by @Jim8y in #3889
- [
Optimize
]: Cache implemetation by @Wi1l-B0t in #3885 - fix a few warnings. by @Jim8y in #3893
- Ensure Notary attribute by @shargon in #3871
- [
Add
]: start withSigner
support by @Wi1l-B0t in #3882 - [add] Optimize check if an address is a contract by @shargon in #3890
- Ensure that view interops can't be changed outside by @shargon in #3812
- [
Optimize
]: to support using and editing history commands on Linux & macOS by @Wi1l-B0t in #3892 - Native: move MillisecondsPerBlock setting to native Policy by @AnnaShaleva in #3895
- Clean
KeyedCollectionSlim.RemoveFirst
method by @shargon in #3877 - [
Optimize
]: makeshow state
more maintainable by @Wi1l-B0t in #3899 - Update workflow by @shargon in #3901
- Use
DateTime.UtcNow
for time differences by @shargon in #3902 - Isolate unit tests by @shargon in #3904
- DBFTPlugin: include consensus time into block interval by @AnnaShaleva in #3900
- Native: move MaxTraceableBlocks setting to native Policy by @AnnaShaleva in #3898
- [
Style
]: move bytes extensions fromUnsafe
toByteExtensions
by @Wi1l-B0t in #3906 - Optimize memory usage by @shargon in #3874
- Neo.CLI: fix NeoFS testnet configuration by @AnnaShaleva in #3907
- Native: revert Update/Deploy callflag change for pre-Aspidochelone by @AnnaShaleva in #3909
- [
Optimize
]: some optimizations forKeyedCollectionSlim
by @Wi1l-B0t in #3913 - Native: adjust hardfork activation definition by @AnnaShaleva in #3910
- [
Optimize
]: HashSetCache Implementation by @Wi1l-B0t in #3914 - Fix RPC error codes not being correctly returned in responses by @Jim8y in #3912
- Implement native Notary contract by @AnnaShaleva in #3178
- v3.8.0 by @superboyiii in #3915
New Contributors
- @kov072299 made their first contribution in #3472
- @kzorin52 made their first contribution in #3186
- @Youssef1313 made their first contribution in #3778
- @Wi1l-B0t made their first contribution in #3813
Full Changelog: v3.7.4...v3.8.0