COZ has released v3.0 of Mamba, its Python SDK for the Neo N3 blockchain. The update adds support for Python 3.13, drops support for Python 3.11, and introduces several breaking changes aimed at streamlining the SDK’s APIs.

Breaking changes

The most notable changes affect how accounts and wallets handle passwords. Functions for signing transactions no longer take a password argument, while new methods such as to_json and from_json now require one. Wallets also shift password usage from account creation to saving and serialization.

In addition, the NEP-17 token helper transfer_friendly now requires a decimals parameter to correctly process token transfers. The return types of test_invoke functions have been unified with regular invoke calls, standardizing results under the InvokeReceipt format. Changes were also made to how signer arguments are passed to invoke methods to align them with other variants.

Developers will also need to adjust to renamed and removed functions. For example, candidate_unregister has been renamed to candidate_deregister, and some deprecated parameters and methods, such as the end argument of NeoToken.get_unclaimed_gas, have been dropped entirely.

Other updates

Beyond breaking changes, the release streamlines code and resolves build warnings. It also updates dependencies, introduces a new compression toggle in networking, and simplifies the setup of local development examples by replacing the neo-express dependency with boa-test-constructor.

The release is available under tag v3.0.0, with migration instructions provided by COZ to guide developers through necessary adjustments.

The full release notes can be found at the following link:
https://github.com/CityOfZion/neo-mamba/releases/tag/v3.0.0