Skip to content

0.5.0

Compare
Choose a tag to compare
@Hywan Hywan released this 17 May 14:29
· 25 commits to master since this release

This is a full rewrite of the entire project. This version is a
candidate to become the 1.0 version.

We advise to take a look at:

Shortly, here are the new types the extension provides:

  • Store, which holds the engine, the compiler etc.
  • Module, which represents a Wasm module, with validate, new,
    name=, name, exports, imports, custom_sections,
    serialize and deserialize,
  • Instance, which represents a Wasm instance, with new and
    exports,
  • Exports, which represents a collection of exported entities, with
    respond_to_missing?, method_missing, and length,
  • ImportObject, which represents a collection of imports that will
    be passed to Instance, with new, contains_namespace, and
    register,
  • Function, which represents an imported or exported function, with
    new, call and type,
  • Memory, which represents an imported or exported memory, with
    new, type, size, data_size, grow, + memory views that
    extends Enumerable,
  • Global, which represents an imported or exported global, with
    new, mutable?, value, value=, and type,
  • Table, which represents an imported or exported table, with new
    (small API for the moment),
  • Type, FunctionType, MemoryType, GlobalType and TableType,
  • ExportType and ImportType,
  • Value which represents a Wasm value,
  • Wasi module, which provides the Version, StateBuilder and
    Environment classes.

Added

  • Online documentation, with tested examples
    (#51 by [@Hywan])
  • Tests run against Ruby 2.7 + 3.0, and against Linux + macOS
    (#49 by [@Hywan])

Changed

As we said, the extension has been fully rewritten, and the code is
likely to not be compatible anymore. Here are the most notable
patches: