Skip to content

Release v0.4.0 Thebes - #2033

Merged
Islam-Imad merged 1 commit into
hyperledger-solang:mainfrom
Islam-Imad:release/v0.4.0-thebes
Sep 30, 2026
Merged

Islam-Imad merged 1 commit into
hyperledger-solang:mainfrom
Islam-Imad:release/v0.4.0-thebes

Conversation

@Islam-Imad

Copy link
Copy Markdown
Contributor

Added

  • Soroban Support for structs in contract storage.
  • Soroban ABI encode/decode for structs via a named-field MAP object.
  • Soroban Support for arrays in contract storage.
  • Soroban ABI encode/decode for dynamic memory arrays.
  • Soroban Encoder/decoder for static (fixed-length) arrays.
  • Soroban Support for the mapping storage type.
  • Soroban Encode/decode (u)int256 as a small object.
  • Soroban Support for the block.number builtin.
  • Soroban Support for the keccak256 builtin.
  • Soroban Support for the sha256 builtin.
  • Soroban Ported 14 Stellar example contracts: hello_world, pause, increment_with_pause, custom_types, other_custom_types, events, single_offer, atomic_multiswap, upgradeable_contract, merkle_distribution, eth_abi, mint_lock, deployer and groth16_verifier.

Changed

  • Soroban Lower extendTtl and extendInstanceTtl in codegen instead of on the emit path.
  • Soroban Lower the ledger timestamp in codegen instead of on the emit path.
  • Soroban Updated the Soroban support matrix.

Fixed

  • Soroban Fixed local-arrays-of-struct handling and improved test coverage.
  • Soroban Allocate arrays using their element size.
  • Soroban Fixed i64 ABI encode/decode.
  • Soroban Fixed i128/u128 encoding high-bit truncation and the signed small-form.

### Added
- **Soroban** Support for structs in contract storage.
- **Soroban** ABI encode/decode for structs via a named-field MAP object.
- **Soroban** Support for arrays in contract storage.
- **Soroban** ABI encode/decode for dynamic memory arrays.
- **Soroban** Encoder/decoder for static (fixed-length) arrays.
- **Soroban** Support for the mapping storage type.
- **Soroban** Encode/decode (u)int256 as a small object.
- **Soroban** Support for the block.number builtin.
- **Soroban** Support for the keccak256 builtin.
- **Soroban** Support for the sha256 builtin.
- **Soroban** Ported 14 Stellar example contracts: hello_world, pause,
  increment_with_pause, custom_types, other_custom_types, events, single_offer,
  atomic_multiswap, upgradeable_contract, merkle_distribution, eth_abi, mint_lock,
  deployer and groth16_verifier.

### Changed
- **Soroban** Lower extendTtl and extendInstanceTtl in codegen instead of on the emit path.
- **Soroban** Lower the ledger timestamp in codegen instead of on the emit path.
- **Soroban** Updated the Soroban support matrix.

### Fixed
- **Soroban** Fixed local-arrays-of-struct handling and improved test coverage.
- **Soroban** Allocate arrays using their element size.
- **Soroban** Fixed i64 ABI encode/decode.
- **Soroban** Fixed i128/u128 encoding high-bit truncation and the signed small-form.

Signed-off-by: Islam-Imad <islamimad404@gmail.com>
@Islam-Imad
Islam-Imad marked this pull request as ready for review September 30, 2026 07:28
@Islam-Imad
Islam-Imad merged commit acc6b99 into hyperledger-solang:main Sep 30, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant