AxLabs updates neow3j to v3.23.0 with Neo v3.7.x compatibility
AxLabs has released neow3j v3.23.0, achieving compatibility with the latest Neo v3.7 release. This update introduces support for new native contract functions and documents four breaking changes across the SDK and devpack.
New Features
The new version of neow3j includes the recently implemented keccak256 hash function in the CryptoLib
native contract. Additionally, the update supports the NeoToken native contract’s GetCommitteeAddress
method, a helper function recently made public for developer convenience.
Other modifications include the addition of the execNeoxpCommandWithDefaultConfig
method, which simplifies the execution of neoxp commands when using neow3j for testing. Further, native contracts in the devpack now use expected default call flags rather than defaulting to CallFlags.All
, with an ability to override it.
Breaking changes
The latest release introduces three breaking changes for the SDK. The wsPort
has been removed from io.neow3j.protocol.core.response.NeoGetVersion.NeoVersion
, and the sha3 methods in the io.neow3j.crypto.Hash
class have been renamed to keccak256. These changes require developers to update their codebases to ensure compatibility with the new version.
For the devpack, one major breaking change has been introduced to enhance its independence from other modules. This change involves replicating the InteropService, Opcode, StackItemType, and WitnessScope classes. Users who previously utilized these components will need to transition to the new io.neow3j.devpack.constants
classes to maintain functionality when using the devpack. For SDK use, the original classes should still be used.
A full list of changes can be found in the release notes:
https://github.com/neow3j/neow3j/releases/tag/3.23.0