en

Neow3j 3.24.1 brings Neo 3.9 compatibility with enhanced storage APIs and new standards

image
rubric logo Altcoins
like buy 17

AxLabs has released neow3j v3.24.1, delivering full compatibility with Neo 3.9 while introducing improvements to storage APIs and expanding support for Neo Enhancement Proposals (NEPs).

First launched in 2018, neow3j is a comprehensive Java/Kotlin/Android development toolkit for the Neo blockchain. The SDK provides developers with high-level APIs for wallet management, smart contract interaction, and blockchain querying. The project also includes a devpack for writing Neo smart contracts directly in Java, with full compiler support for generating Neo Virtual Machine bytecode.

Key improvements in v3.24.1

Released on Feb. 12, neow3j 3.24.1 ensures compatibility with Neo-CLI v3.9.1, enabling developers to leverage the latest blockchain features including the contract fee whitelist, Treasury native contract, and enhanced execution fee factor precision introduced in the January 2026 Neo v3.9 update.

Neo 3.9 protocol support

The release adds comprehensive support for Neo 3.9 features across both the SDK and devpack:

PolicyContract enhancements: The SDK now exposes all Neo 3.9 PolicyContract methods (#1146), including getBlockedAccounts() for retrieving blocked accounts as an iterator, recoverFund() (#1144) for recovering assets from long-term blocked accounts, and complete whitelist fee contract management through setWhitelistFeeContract(), removeWhitelistFeeContract(), and getWhitelistFeeContracts().

Execution fee factor precision: Starting with the Neo 3.9 Faun hard fork, the execution fee factor supports four additional decimal places of precision (#1145). The new getExecPicoFeeFactor() method returns the full-precision value, while the existing getExecFeeFactor() method continues to return the floored value for backward compatibility. For example, a pico fee factor of 995627 represents 99.5627 with full precision, while getExecFeeFactor() would return 99.

Treasury and Notary contracts: The devpack now includes Notary and Treasury in the NativeContract enum (#1154), enabling smart contract developers to interact with these new native contracts introduced in Neo 3.9.

Storage API modernization

The release introduces modernization of storage APIs (#1147), deprecating context-based storage access in favor of simpler, contract-bound storage operations:

Context-free storage access: New storage methods no longer require an explicit StorageContext parameter. Methods like Storage.get(key), Storage.put(key, value), and Storage.delete(key) now operate directly on the executing contract’s storage, reducing boilerplate code and minimizing potential misuse.

Local storage interops: Four new system calls – System.Storage.Local.Get, System.Storage.Local.Find, System.Storage.Local.Put, and System.Storage.Local.Delete – provide contract-bound storage access without requiring context management. These interops are available starting with the Faun hard fork.

StorageMap simplification: The StorageMap class now offers context-free constructors, allowing developers to create storage maps with just a prefix: new StorageMap(prefix) instead of new StorageMap(context, prefix). The deprecated constructors remain available for backward compatibility but are planned for removal in version 3.25.0.

Comprehensive type support: All storage methods now support the full range of key and value types, including ByteString, byte[], String, int, Hash160, Hash256, and ECPoint, both with and without context parameters.

NEP standard expansion

The devpack adds support for three new Neo Enhancement Proposals (#1155):

NEP-24 (Royalty standard): Enables $NFT contracts to declare royalty payment information in a standardized format, facilitating automated creator compensation across marketplaces.

NEP-26 ($NFT receiver callbacks): Formalizes the callback method that contracts must implement to receive NEP-11 token transfers, supporting use cases like staking, custodial deposits, and token exchange flows.

NEP-27 (Fungible token receiver callbacks): Provides the equivalent callback standard for NEP-17 fungible token transfers, enabling contracts to properly handle incoming token deposits.

These standards are now available in the NeoStandard enum for use with the @SupportedStandard annotation, allowing contracts to explicitly declare their capabilities.

StdLib enhancements

The native StdLib contract interface now includes hexEncode() and hexDecode() methods (#1141), providing convenient hex string conversion directly within smart contracts without requiring custom implementation.

Code quality improvements

The release includes expanded test coverage (#1153) with additional unit tests in the contract module, ensuring the reliability of new features and providing better documentation through test examples.

Deprecation notice

The StorageContext class and all context-requiring storage methods are now deprecated and planned for removal in version 3.25.0. Developers are encouraged to migrate to the new context-free storage APIs introduced in this release. The deprecated methods remain fully functional for backward compatibility but will generate compiler warnings.

Publishing infrastructure update

The release includes an update to the project’s publishing infrastructure, migrating from legacy Sonatype OSSRH to the new Maven Central Portal. This change is intended to streamline the release process and improve artifact distribution reliability, though it remains transparent to end users.

The latest release can be found at the link below:
https://github.com/neow3j/neow3j/releases/tag/3.24.1