Latest API Releases

Here’s a feed to help you catch up with our latest releases.
Friday, November 24, 2023
API
Protocol
WASM
Tooling

Release: sc - 0.45.1, codec - 0.18.2, vm - 0.7.0, scenario-format - 0.21.0, sdk - 0.3.0

  • Replicated VM 1.5 in the Rust VM. This includes support for:
  • promises,
  • back-transfers,
  • modified event logs.
  • New endpoint annotation, `#[upgrade]`. Contract variants with upgrade endpoint, but without init now allowed.
  • Build system:
  • `wasm` crates now fully generated based on data from `sc-config.toml` and root `Cargo.toml`.
  • Setting wasm target dir automatically, if not specified, based on workspace.
  • Better hygiene in codec derive.
Full Release Notes
Friday, November 3, 2023
API
Protocol
WASM
Tooling

Release: sc - 0.44.0, vm 0.6.0

  • Back-transfer:
  • API support in framework (not yet implemented in the Rust VM);
  • Feature flag: `"back-transfers"`;
  • EI updated.
  • ESDT attribute ABI annotation and generator.
  • Multiple var-args disallowed, unless annotating endpoint with `#[allow_multiple_var_args]`.
  • Build system updates:
  • `multicontract.toml` renamed to `sc-config.toml`;
  • `add-unlabelled` default true.
  • New `FunctionCall` object & refactoring. Can be used as multi-value to pass contract call info to contracts.
  • `AddressToId` storage mapper.
Full Release Notes
Tuesday, September 5, 2023
API
Protocol
WASM
Tooling

Release: sc - 0.43.0, codec 0.18.1, vm 0.5.0

Hello xWorld!

  • Fixed a rustc compatibility issue when building contracts. The meta crate looks at the rustc version when generating the wasm crate code.
  • Initial version of the contract template tool in multiversx-sc-meta.
  • The Rust debugger is now thread safe.
  • Removed the `big-float` feature of multiversx-sc, because the functionality is already available on mainnet.
  • CLI fixes in multiversx-sc-meta: arguments `--target-dir-wasm`, `--target-dir-meta`, and `--target-dir-all` in the `multiversx-sc-meta`
  • Fixed an issue with contract calls and ESDT transfers in the `StaticApi` environment.

And many many other goodies. Check the detailed description of this release and join us on Discord, where you can connect with fellow builders and developers, share your feedback, ask for details, contribute with constructive ideas. And starting last week we have the monthly live dev sessions where you can meet us and discuss in detail every characteristic and detail.

Full Release Notes
Friday, July 14, 2023
API
Protocol
WASM
Tooling

Release: sc - 0.42.0, codec 0.18.0, vm 0.4.0, scenario-format 0.20.0, sdk 0.2.0

  • Multi-endpoints in multi-contracts:
  • It is now possible to have multiple versions of the same endpoint in different multi-contract variants.
  • We can also have multiple versions of the constructor.
  • Major architectural redesign of the debugger:
  • The VM executor interface inserted between the smart contract API objects and the Rust VM. A new VMHooksApi is used to connect on the smart contract side. A VMHooksDispatcher object and VMHooksHandler interface provide the connection on the VM side.
  • The VMHooksApi comes in several flavors (backends):
  • The old DebugApi is now only used at runtime, on the VM context stack;
  • A new StaticApi provides support for managed types in a regular context, without needing to be initialized;
  • An additional SingleTxApi is useful for unit tests. Aside managed types, it also allows some basic context for tx inputs, results, storage and block info.
  • Removed almost all of the legacy functionality from the smart contract APIs.
  • System SC mock.
  • It is now possible to issue tokens (fungible, SFT, NFT) in integration tests.
  • Setting roles is modeled.
  • It is, however, not fully mocked.

And many many other goodies. Check the detailed description of this release and join us on Discord, where you can connect with fellow builders and developers, share your feedback, ask for details, contribute with constructive ideas.

Full Release Notes
Tuesday, May 16, 2023
API
Protocol
WASM
Tooling

Hotfix: sc - 0.41.1, vm - 0.3.1

Hello xWorld!

This is a hotfix release, there will be more substantial changes to these mappers in the next minor release:

  • Fixed an edge case for the token storage mappers (FungibleTokenMapper, NonFungibleTokenMapper);

Send us feedback and let's get in touch if you have any improvement ideas. Become a maintainer!

Full Release Notes
Friday, May 5, 2023
API
Protocol
WASM
Tooling

Release: sc - 0.41.0, vm - 0.3.0

Hello xWorld!

A short summary of the release:

  • Fixed compatibility with rustc v1.71.0.
  • Allocator system:
  • Contracts can now choose their own allocator. This works in multi-contract contexts.
  • New allocators: `fail` (default), `static64k`, `leaking`.
  • Removed dependency to `wee_alloc`, but using it is still possible if the contract references it directly.
  • Contract call stack size is now configurable in `multicontract.toml`.
  • The 'panic with message' system now relies on managed buffers instead of on an allocator.
  • Fixed BigUint bitwise operations in the debugger.
  • When building contracts, an additional `.mxsc.json` file is created, which packs both the contract binary, the ABI, and some additional metadata.
  • Refactor: reorganized the meta crate.
  • Deprecated some legacy methods in the API wrappers.

Send us feedback and let's get in touch if you have any improvement ideas. Become a contributor!

Full Release Notes

Join a growing ecosystem

If you build on MultiversX and don't see your project listed, let us know.
Submit Project