This document describes changes between tagged Binaryen versions.
To browse or download snapshots of old tagged versions, visit https://github.com/WebAssembly/binaryen/releases.
Not all changes are documented here. In particular, new features, user-oriented fixes, options, command-line parameters, usage changes, deprecations, significant internal modifications and optimizations etc. generally deserve a mention. To examine the full set of changes between versions, visit the link to full changeset diff at the end of each section.
notify -> atomic.notifyi32.wait / i64.wait -> i32.atomic.wait / i64.atomic.waitflags argument in setMemory function is removed.atomic.fence instruction support is added.mutable parameter to BinaryenAddGlobalImport.offset parameter to BinaryenSetFunctionTable.tail-call feature including the return_call and return_call_indirect instructions is ready to use.typeuse ::= (type index|name)+ |
(type index|name)+ (param ..)* (result ..)* |
(param ..)* (result ..)*
Also, all (local) nodes in function definition should be after all typeuse elements.get_local / getLocalset_local / setLocaltee_local / teeLocalget_global / getGlobalset_global / setGlobalcurrent_memory / currentMemorygrow_memory / growMemory They are now available as their new instruction names: local.get, local.set, local.tee, global.get, global.set, memory.size, and memory.grow.namedGlobals to metadata output of wasm-emscripten-finalizesegmentPassive argument to BinaryenSetMemory for marking segments passive.-o - print to stdout instead of a file named “-”.RelooperCreate in the C API now has a Module parameter, and RelooperRenderAndDispose does not.Relooper constructor receive the Module.BinaryenSetFunctionTable in the C API no longer accepts an array of functions, instead it accepts an array of function names, const char** funcNames. Previously, you could not include imported functions because they are of type BinaryenImportRef instead of BinaryenFunctionRef. #1650
BinaryenSetFunctionTable in the C API now expects the initial and maximum table size as additional parameters, like BinaryenSetMemory does for pages, so tables can be grown dynamically. #1687
Add shared parameters to BinaryenAddMemoryImport and BinaryenSetMemory, to support a shared memory. #1686