All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
This project uses NerdBank.GitVersioning to manage version numbers. This tool automatically sets the Semantic Versioning Patch value based on the Git height of the commit that generated the build. As such, released versions of this package will not have contiguous patch numbers. Initial major and minor releases will be documented in this file without a patch number. Patch version will be included for bug fixes, but may not exactly match a publicly released version.
TestApplicationEngineemits raw code coverage data to folder specified inNEO_TEST_APP_ENGINE_COVERAGE_PATHenvironment variable when set.
ToolkitWalleta shared implementation of Neo Wallet for developer scenariosBranchInfomodel type- Diagnostic record model types
EnableAnsiEscapeSequencesutility methodResolveFileNameextension methodJsonWriterExtensionsextension methods- WorkNet extension constants
- Updated
DebugInfomodel types to use C#record/record struct - Marked
DebugInfo.LoadAsyncobsolete - PersistentTrackingStore class uses column family named
PersistentTrackingStoreby default - Reworked
StateServiceStoreto load as much info asyncronously ahead of time (usingBranchInforecord), handle remote logic directly and redefinedICacheClientto only handle caching responsibilities
- RocksDB extension methods that have recently been encorporated into rocksdb-sharp library
- Reworked GitHub Action workflows into reusable pieces (
test&package) and action specific workflows (pr,push&release).
- Updated to Neo v3.4 (#70)
- CreateGenesisContract extension method (#60)
- Utility.VerifyProof method (1d4b6ab53868b0b0fda961d135e6d86f9c65f6ce)
- PersistentTrackingStore (#67)
- Removed storage providers (#69)
- Storage Providers are specific to Neo Express so they were moved into that repo
- Updated to Neo 3.3.1 (#69)
- Verify state service proofs in StateServiceStore methods (#64)
- MemoryTrackingStore throws NullReferenceException when
Puta null value to match RocksDB behavior - Moved
RocksDbStorageProvider.CreateCheckpointoverloads to be extension methods - Support additional instructions in GetComment (4cafe6643f0516ba8ba3536bea4e725da9bce12e)
- Changed to embedded debug symbols
- Replaced all Azure DevOps Pipelines with GitHub Actions
- Updated build definition to run tests on MacOS as well as Windows and Ubuntu
- ContractParameterParser.ConvertObject and ContractParameterParser.ConvertStackItem static methods (#56)
- Added method token support for CALLT opCode in Extensions.GetComment (#57)
- Update to Neo 3.1.0, target framework net6.0 and C# language version 10 (#55)
- Update KNOWN_NETWORK_NUMBERS (#55)
- Moved general Neo MessagePack formatters to MessagePack.Formatters.Neo.BlockchainToolkit namespace (#55)
- Simplified service override code in
TestApplicationEngine(#50) - Made
NullStore.Instancereadonly (#50) MemoryTrackingStoredisposes underlyingIReadOnlyStore, if underlying store isIDisposable(#51)- Replaced
checkpointCleanupdisposable with checkpoint folder cleanup inCheckpointStorageProvider(#51) - Replaced
CheckpointStorageProviderpublic constructor with staticOpenmethod (#51) - Made metadata parameters to
RocksDbUtility.RestoreCheckpointoptional (#51)
- Instruction and branch execution tracking in
TestApplicationEngine(#50) ICheckpointStore,CheckpointStoreandNullCheckpointStore(#51)RocksDbUtility.GetTempPath(#51)IStore.EnsureLedgerInitializedextension method (#51)RocksDbStorageProvider.OpenForDiscardstatic method (#51)- Added Base64 encoding support for ContractParameterParser.ParseObjectParameter (#55)
- Add UInt256 MessagePack Formatter (#55)
IDisposableStorageProviderinterface (#51)- Obsolete
RocksDbStorageProvider.RestoreCheckpointmethods (#51) - Public
RocksDbStoreconstructors (#51)
Thanks to @merl111 for his contribution (#41) in this release
- static function to create a dummy block for testing (#41)
- StateServiceStore (#45, #46, #48)
- Persistence Refactoring (#44)
- Update dependencies (#47)
- MessagePack to 2.3.85
- Neo to 3.0.3
- OneOf to 3.0.201
- rocksdb to 6.22.1.20635
- System.IO.Abstractions to 13.2.47
- Updated Neo dependency to 3.0.2
- Neo N3 release support
- Bumped major version to 3 for consistency with Neo N3 release
- Changed package name from Neo.BlockchainToolkit3 to Neo.BlockchainToolkit.Library
- Neo N3 RC4 support
- Update trace models (#34)
- correctly update immutable tracking map (#37)
- move read array/map header out of for loop in StackItemFormatter.Deserialize (#38)
- support empty string param in TrimStartDirectorySeparators (f271ac0e745cc2da00f59452364ce90aaa04d260)
- Ensure operation field is not null (#39)
- Update GitHub + Azure Pipeline Build files
- Create test transactions for TestApplicationEngine (#33)
- Cross Platform Path Handling (#31)
- Neo N3 RC3 support
- Handle sequence points with negative document index values (#27)
- Resolve Slot Indexes when loading debug info (#28)
- Work around neo-project/neo-devpack-dotnet#637 (#29)
- file:// URI support (#17)
- Debug Info Static Variables (#21)
- added ProtocolSettingsRecord (#22)
- support optional explicit slot indexes (#25)
- ensure length before accessing string char by index + test (#16) fixes neo-project/neo-express#136
- Neo N3 RC2 support
- Debug Info Parsing
- Disassembly Helper Methods (
EnumerateInstructions,GetOperandStringandGetComment)
- Neo N3 RC1 support
- Neo 3 Preview 5 support
Initial Release