Skip to content

v0.1.13: Genoa

Compare
Choose a tag to compare
@github-actions github-actions released this 16 Sep 21:08
· 503 commits to main since this release
409e42f

Changed

  • Introduce sub-commands to the CLI. Now we have dedicated sub-commands for
    compile, doc, shell-completion and the language-server, which makes
    for a cleaner CLI.
    seanyoung
  • On Solana, emitted events are encoded with Borsh encoding following the Anchor
    format.
    LucasSte
  • The ewasm target has been removed, since ewasm is not going to implemented on
    Ethereum. The target has been reused for an new EVM target, which is not complete
    yet.
    seanyoung
  • Substrate: Concrete contracts must now have at least one public function. A
    public function is in a contract, if it has public or external functions, if
    it has a receive or any fallback function or if it has public storage items
    (those will yield public getters). This aligns solang up with ink!.
    xermicus

Added

  • Solana v1.11 is now supported.
    seanyoung
  • On Solana, programs now use a custom heap implementation, just like on
    Substrate. As result, it is now possible to .push() and .pop() on
    dynamic arrays in memory.
    seanyoung
  • Arithmetic overflow tests are implemented for all integer widths,
    salaheldinsoliman
  • Add an NFT example for Solana
    LucasSte
  • Add a wrapper for the Solana System Program
    LucasSte
  • The selector for functions can be overriden with the selector=hex"abcd0123"
    syntax.
    seanyoung
  • Shell completion is available using the solang shell-completion subcommand.
    xermicus
  • Add support for the create_program_address() and try_find_program_address()
    system call on Solana
    seanyoung
  • Substrate: The print() builtin is now supported and will write to the debug
    buffer. Additionally, error messages from the require statements will now be
    written to the debug buffer as well. The Substrate contracts pallet prints the
    contents of the debug buffer to the console for RPC ("dry-run") calls in case
    the runtime::contracts=debug log level is configured.
    xermicus

Fixed

  • DocComments /** ... */ are now permitted anywhere.
    seanyoung
  • Function calls to contract functions via contract name are no longer possible,
    except for functions of base contracts.
    xermicus

Signed-off-by: Sean Young sean@mess.org