Skip to content

chore(deps): update dependency binaryen to v129#1238

Open
renovate[bot] wants to merge 1 commit intomasterfrom
renovate/binaryen-129.x
Open

chore(deps): update dependency binaryen to v129#1238
renovate[bot] wants to merge 1 commit intomasterfrom
renovate/binaryen-129.x

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate Bot commented Apr 6, 2026

This PR contains the following updates:

Package Update Change
binaryen major 125129

Release Notes

WebAssembly/binaryen (binaryen)

v129

  • Add a BinaryenDataSegmentRef type to the C API. (#​8286)
    • Add BinaryenGetDataSegment and BinaryenGetDataSegmentByIndex to the C API, which allow looking up a data segment by name or index.
    • Add BinaryenDataSegmentGetName to the C API, which allows looking up a data segment's name.
    • Convert BinaryenGetMemorySegmentByteOffset, BinaryenGetMemorySegmentByteLength, BinaryenGetMemorySegmentPassive and BinaryenCopyMemorySegmentData to take a BinaryenDataSegmentRef instead of a name.
    • Add module.getDataSegment, module.getDataSegmentByIndex to the JS API, which allows looking up a data segment by name or index.
    • Convert module.getMemorySegmentInfo to take a data segment reference instead of a name, and return the name as part of the info.
  • Add support for non-nullable table types and initialization expressions for
    tables. This comes with a breaking change to C API: BinaryenAddTable takes
    an additional BinaryenExpressionRef parameter to provide an initialization
    expression. This may be set to NULL for tables without an initializer. In JS
    this parameter is optional and so is not breaking. (#​8405)
  • [multibyte] Add multibyte array store and load instructions. (#​8059, #​8504)
  • MinifyImportsAndExports now has a new output format using JSON. This was
    changed while fixing bugs with colliding module names (to avoid two breaking
    changes to the output). (#​8550)
  • Update from C++17 to C++20 (#​8218)

v128

  • (bugfix release)

v127

  • Implement the Custom Page Sizes proposal. (#​8307)
  • New intrinsic: @binaryen.idempotent. (#​8354)
  • Add --strip-debug option to wasm-split (#​8432)
  • The emscripten build of binaryen no longer targets pure JS (via wasm2js) by
    default. This allows us to enable WASM_BIGINT and other features that
    wasm2js does not support. There is now just a single binaryen_js target. It
    should still be possible to inject -sWASM=0 as a linker flag but this is
    not officially supported. (#​7995)
  • As part of enabling the WASM_BIGINT in the emscripten build the JS API for
    manipulating 64-bit values was changed. These APIs, such as i64.const
    and setValueI64, previously took a hi/low pair but now take a single value
    which can be bigint or a number. Passing two values to these APIs will now
    trigger an assertion. (#​7984)

v126

  • New intrinsic: @binaryen.removable.if.unused. (#​8268)
  • New intrinsic: @binaryen.js.called. (#​8324)
  • Add a pass to remove toolchain annotations, --strip-toolchain-annotations,
    for the above two intrinsics and future ones. (#​8301)
  • Add a pass to remove relaxed SIMD instructions, --remove-relaxed-simd
    (#​8300)
  • JS API: Throw useful exceptions on parse errors in binaryen.js, rather than
    fatally error and shut down the entire process. (#​8264)
  • Implement function-level inlining hints (previously we only supported this
    annotation on calls, not functions themselves). (#​8265)
  • Update C and JS libraries with relaxed atomics support (#​8248)
  • wasm-split: Export/Import only necessary elements, avoiding bloat. (#​8221)
  • Use std::quick_exit in wasm-opt etc. tools, to skip cleanup. (#​8212)
  • The C API now has separate functions for CallRef and ReturnCallRef
    matching the semantics of Call and ReturnCall (#​8121).
  • Breaking changes to the C and JS APIs related to atomic operations, in order
    to support the relaxed atomics proposal (currently a part of the shared
    everything threads proposal
    ) (#​8248).
    • setAtomic on atomic loads/stores is removed in favor of setMemoryOrder.
      BinaryenLoadSetAtomic(expr, false) / load.setAtomic(false) may be
      replaced with BinaryenLoadSetMemoryOrder(expr, BinaryenMemoryOrderUnordered()), BinaryenLoadSetAtomic(expr, true) /
      load.setAtomic(true) may be replaced with
      BinaryenLoadSetMemoryOrder(expr, BinaryenMemoryOrderSeqCst()), and
      likewise for Stores. In addition to Unordered and SeqCst, these functions
      support AcqRel which implements acquire/release semantics.
    • Likewise BinaryenAtomicLoad, BinaryenAtomicStore, BinaryenAtomicRMW,
      and BinaryenAtomicCmpxchg are updated with an additional
      BinaryenMemoryOrder param. The functions formerly implicitly used
      BinaryenMemoryOrderSeqCst(). In JS this param is optional and thus not
      breaking.

Configuration

📅 Schedule: Branch creation - Between 12:00 AM and 03:59 AM, only on Monday ( * 0-3 * * 1 ) (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

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.

0 participants