Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: bytecodealliance/wit-bindgen
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.57.1
Choose a base ref
...
head repository: bytecodealliance/wit-bindgen
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v0.58.0
Choose a head ref
  • 19 commits
  • 51 files changed
  • 12 contributors

Commits on Apr 20, 2026

  1. feat(rust): async-spawn - build under no_std + alloc (#1600)

    * async-spawn: build under no_std + alloc
    
    * ci: guard the no_std contract for async + async-spawn with wasm32v1-none
    
    * fmt: reorder imports in spawn.rs to satisfy rustfmt
    mattwilkinsonn authored Apr 20, 2026
    Configuration menu
    Copy the full SHA
    1e3af2d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5f20865 View commit details
    Browse the repository at this point in the history

Commits on Apr 21, 2026

  1. fix(rust): qualify world-owned type paths in future/stream payload vt…

    …ables (#1601)
    
    * rust: qualify world-owned type paths so future/stream payload vtables resolve
    
    * add regression test to .wit file
    
    * add ignores for wit test to cpp and go
    mattwilkinsonn authored Apr 21, 2026
    Configuration menu
    Copy the full SHA
    61243cf View commit details
    Browse the repository at this point in the history

Commits on Apr 27, 2026

  1. fix #1514 variant 3 (#1605)

    * fix #1514 variant 3
    
    * fix glitches in the patch
    
    * fix temporary variable naming in deallocation
    cpetig authored Apr 27, 2026
    Configuration menu
    Copy the full SHA
    a4e4253 View commit details
    Browse the repository at this point in the history

Commits on Apr 28, 2026

  1. Update tools used in CI (#1607)

    * Update tools used in CI
    
    * Update Wasmtime to a fixed release
    * Update wasm-tools to latest
    * Update wasi-sdk to latest
    
    * Go back to wasi-sdk-30, but parameterize it
    alexcrichton authored Apr 28, 2026
    Configuration menu
    Copy the full SHA
    5ed8c8c View commit details
    Browse the repository at this point in the history
  2. Adjust spawning behavior and when tasks are polled (#1608)

    This commit adjusts the behavior of the `async-spawn` feature by notably
    ensuring that spawned tasks are polled even when the main task is
    complete. This ensures that spawned work is looked at as opposed to
    being stuck in limbo (never polled). This resolves an issue with
    bytecodealliance/wasmtime#13196, for example, where work was spawned,
    but the main set of work was complete, so the specific interleaving
    there meant that the spawned work never actually ended up happening.
    alexcrichton authored Apr 28, 2026
    Configuration menu
    Copy the full SHA
    9bda2f3 View commit details
    Browse the repository at this point in the history

Commits on May 2, 2026

  1. [C#] Add support for the ping pong test, bring support for futures th…

    …at return strings, i.e. types returned via pointers. (#1606)
    
    * add support for the ping-pong test.
    
    Requires supporting futures that return strings.
    
    * address feedback, remove redundant parameters and duplicate Callback function
    
    * add example for regex
    yowl authored May 2, 2026
    Configuration menu
    Copy the full SHA
    6f489db View commit details
    Browse the repository at this point in the history

Commits on May 5, 2026

  1. feat(csharp): add map type support (#1603)

    * feat(csharp): add map type support
    
    Dictionary<K,V> provides a familiar, zero-dependency host representation
    for WIT maps in C#, and unblocks runtime interop with components that
    use them without requiring a custom collection type.
    
    Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
    
    * fix(csharp): emit component_type.o for linker
    
    The `map<K, V>` WIT syntax is a gated feature that the default wit-parser
    used by wasm-component-ld's `--component-type` flag cannot parse, so the
    text-based component type path was blocking any world that uses maps.
    Switching to the same object-file approach already used by the C and C++
    backends lets the component type flow through as a custom section without
    round-tripping through the text parser.
    
    Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
    
    * fix(csharp): embed component type via binary WIT package
    
    Earlier attempt used `NativeFileReference` on the component-type object,
    but NativeAOT's LLVM pipeline did not propagate the custom section into
    the final module, leaving every C# component import unresolvable. Using
    a binary-encoded WIT package (which `wasm-component-ld --component-type`
    accepts alongside the text form) preserves the existing linker path and
    also lets map<K,V> round-trip since decoding skips the default WIT
    parser that rejects gated features.
    
    Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
    
    * fix(csharp): force-link component-type object for NativeAOT
    
    Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
    
    * fix(csharp): defer map runtime tests until toolchain support lands
    
    Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
    
    * refactor(csharp): drop unused component-type object plumbing
    
    Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
    
    * chore(csharp): revert unrelated Cargo.lock drift
    
    No Cargo.toml changed on this branch, so the lockfile should match main.
    
    Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
    
    ---------
    
    Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
    yordis authored May 5, 2026
    Configuration menu
    Copy the full SHA
    d860036 View commit details
    Browse the repository at this point in the history

Commits on May 15, 2026

  1. Update wasm-tools/wac dependencies (#1612)

    Keeping up-to-date.
    alexcrichton authored May 15, 2026
    Configuration menu
    Copy the full SHA
    e4406d9 View commit details
    Browse the repository at this point in the history

Commits on May 20, 2026

  1. fix: add defer pinner.Unpin() (#1613)

    * fix: add defer pinner.Unpin()
    
    Signed-off-by: Andrew Steurer <94206073+asteurer@users.noreply.github.com>
    
    * feat: add test
    
    Signed-off-by: Andrew Steurer <94206073+asteurer@users.noreply.github.com>
    
    ---------
    
    Signed-off-by: Andrew Steurer <94206073+asteurer@users.noreply.github.com>
    asteurer authored May 20, 2026
    Configuration menu
    Copy the full SHA
    95995ce View commit details
    Browse the repository at this point in the history

Commits on May 22, 2026

  1. refactor: Remove inline wasm ABI pointer shifts (#1616)

    * fix: remove inline wasm ABI pointer shifts
    
    * docs: note MoonBit ABI layout change
    peter-jerry-ye authored May 22, 2026
    Configuration menu
    Copy the full SHA
    1c9bfc6 View commit details
    Browse the repository at this point in the history
  2. fix: async lifted exports with direct results (#1614)

    Avoid lifting the raw core return value for async lifted exports without
    a retptr. The core return is async progress information, while the
    component result is delivered through task.return.
    
    Additionaly params is now using &sig.results which makes AsyncTaskReturn
    match the actual canonical ABI core signature: [], [i32], [ptr] etc.
    andreiltd authored May 22, 2026
    Configuration menu
    Copy the full SHA
    ea49687 View commit details
    Browse the repository at this point in the history

Commits on May 27, 2026

  1. C++: fix compile errors when lowering result<string>, etc. (#1620)

    * C++: fix compile errors when lowering `result<string>`, etc.
    
    Previously, the code generator got confused about when to use `wit::string`
    vs. `std::string_view` when lowering variants with string payloads,
    tuple-with-string payloads, etc.
    
    I'll admit my C++ skills are pretty out-of-date, so I'm not 100% confident I've
    got everything lined up correctly here, but it fixes the scenarios I've run into
    so far.  Feedback from experts in modern C++ would be very welcome.
    
    * add `more-variants.wit-borrowed-duplicate` to `should_fail_verify` for Rust
    dicej authored May 27, 2026
    Configuration menu
    Copy the full SHA
    557ca94 View commit details
    Browse the repository at this point in the history
  2. C++: sort types topologically before emitting definitions (#1619)

    * C++: sort types topologically before emitting definitions
    
    Specifically, we sort the types while taking the parameter and return types of
    resource functions into consideration.  This ensures that types are declared
    (and, if necessary, defined) before they are used in the emitted source code.
    
    Fixes #1615
    
    * remove redundant resource type forward declarations
    
    * use `wit_parser::TypeIdVisitor` to simplify `sort_types`
    dicej authored May 27, 2026
    Configuration menu
    Copy the full SHA
    d635117 View commit details
    Browse the repository at this point in the history

Commits on Jun 2, 2026

  1. c: Fix type name collisions with anonymous types (#1624)

    Classify fewer types as "primitive" to help get the names to line up.
    
    Closes #1621
    alexcrichton authored Jun 2, 2026
    Configuration menu
    Copy the full SHA
    0975733 View commit details
    Browse the repository at this point in the history
  2. feat(c): add map type support (#1611)

    * feat(c): add map type support
    
    The flat { entry_t *ptr; size_t len; } shape matches the canonical
    ABI's lowered layout for map<K, V>, so reusing the list fast-path
    keeps the FFI boundary copy-free and brings C to parity with the
    Rust, Go, MoonBit, and C# backends that already ship map support.
    
    Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
    
    * test(c): add map runtime test variants
    
    Covers the C-side lower/lift boundary behaviorally against the
    existing Rust/Go/MoonBit suite, so future ABI changes that compile
    cleanly cannot silently regress map round-trips.
    
    Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
    
    ---------
    
    Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
    yordis authored Jun 2, 2026
    Configuration menu
    Copy the full SHA
    62bba7d View commit details
    Browse the repository at this point in the history

Commits on Jun 8, 2026

  1. Rename spawn to spawn_local (#1629)

    Rationale is listed in #1626.
    
    Closes #1626
    alexcrichton authored Jun 8, 2026
    Configuration menu
    Copy the full SHA
    42c983e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    19a8df6 View commit details
    Browse the repository at this point in the history
  3. Release wit-bindgen 0.58.0 (#1631)

    [automatically-tag-and-release-this-commit]
    
    Co-authored-by: Auto Release Process <auto-release-process@users.noreply.github.com>
    github-actions[bot] and Auto Release Process authored Jun 8, 2026
    Configuration menu
    Copy the full SHA
    a2a1e02 View commit details
    Browse the repository at this point in the history
Loading