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