Skip to content

Releases: pulseengine/rules_wasm_component

Release v1.1.0

Choose a tag to compare

@github-actions github-actions released this 14 Jun 08:38
v1.1.0
edde972

First release since v1.0.0 (2025-07-24) — 812 commits (112 features, 336 fixes).

Highlights

  • WASI P2/P3 support — per-target wasi_version (p2/p3) on rust_wasm_component & python_wasm_component, WASI 0.3.0 WIT deps + include_p3, experimental-p3 / stable-2026-03 bundles, --async codegen.
  • Verification toolchain integrationspar (AADL→WIT), witness (MC/DC coverage), synth (hermetic synth_compile → Cortex-M ELF), meld (native fuse toolchain).
  • Sigil attestation ruleswasm_attest, wasm_verify_chain, wasm_show_chain (SLSA-style provenance chains).
  • LOOM optimizerwasm_optimize.
  • Unified wasm toolchain extension with language selection (#250).
  • More languages — MoonBit, Python, C/C++ CLI binaries (cpp_wasm_binary, c_wasm_binary).
  • Hermetic / air-gap — vendoring, enterprise mirror, lazy toolchain loading, version bundles, hermetic checksum_updater; Nix flake dev env; STPA supply-chain analysis.

⚠️ Breaking changes

  • Wizer migration (#246): standalone wizer → wasmtime wizer subcommand; init export renamed wizer.initializewizer-initialize.
  • rules_rust upgraded to official 0.65.0 — consumers on older rules_rust pins may need to bump.

Fixes (selected — incl. this release's downstream-consumer hardening)

  • wasm_optimize: read fetched/symlinked component inputs (loom_wrapper) (#490).
  • checksum_updater: manage PulseEngine universal-wasm tools with asset-existence version selection (#498).
  • Restore wsc wasm_component registry entry — unbreaks the signing tree (#499).
  • loom_wrapper + wasmsign2_wrapper: dependency-safe tool resolution, no hardcoded runfiles repo names (#490, #501).
  • Bazel 9 compat, Windows CI MAX_PATH, lazy-loading rolling-URL toolchains — +330 more.

Falsification statement

This release is wrong if a project consuming rules_wasm_component as a bzlmod dependency cannot build a sign → optimize → verify pipeline end-to-end on Linux/macOS — i.e., any tool wrapper still fails to resolve wasmtime/the component when rules_wasm_component is not the root module.


Full changelog

[1.1.0] - 2026-06-14

Bug Fixes

  • Replace placeholder checksums with real SHA256 hashes
  • Improve Rust component integration and update documentation
  • Resolve tool extraction path issues in CI environments
  • Improve checksum validation regex in CI security pipeline
  • Implement cross-platform compatible tool downloads
  • Resolve systematic CI build failures across all target types
  • Correct .claude directory pattern in .gitignore
  • Resolve CI failures with Bazel-native Go toolchain integration
  • Add missing expensive_init_component target in wizer example
  • Revert wit_deps_check to use run_shell for output redirection
  • Correct WIT file reference in wac_remote_compose example
  • Resolve C++ component toolchain integration
  • Resolve TinyGo toolchain platform resolution issue
  • Resolve CI failures and build system issues
  • Resolve major C++ compilation issues in examples
  • Resolve wasm-tools component syntax compatibility issues
  • Update WASI SDK 25 linux_amd64 checksum
  • Update WASI SDK 25 linux checksums in both JSON and hardcoded registry
  • Update WASI SDK 25 macOS x86_64 checksum
  • Add proper conditions to docs-deploy workflow and update Go component configuration
  • Correct docs-deploy workflow YAML formatting
  • Correct GitHub Actions syntax for secret conditionals
  • Resolve GitHub Actions workflow syntax errors
  • Ensure all WasmComponentInfo providers include required fields
  • Resolve undefined variables in wasm_validate.bzl
  • Remove unnecessary tools parameter from wasm-tools action
  • Extract executable from wasm tools component target
  • Resolve BCR platform constraint issues for ARM64 Linux
  • Resolve CI analysis errors and improve build stability
  • Add missing platforms/defs.bzl to resolve tools-builder CI failures
  • Add missing wizer_src repository to MODULE.bazel use_repo declaration
  • Exclude tools-builder from CI build to prevent cross-compilation failures
  • Apply WASM transition to rust_shared_library in component builds
  • Correct toolchain type reference in wasm_tools_actions.bzl
  • Exclude wac_oci_composition example from CI due to unsupported signature verification
  • Correct toolchain field access from wasm_tools_info to wasm_tools
  • Restore component toolchain usage and add it to wasm_validate rule
  • Exclude test/wkg from CI due to TOML configuration error
  • Exclude simple_oci_test from CI due to OCI registry dependency
  • Add Docker registry service for OCI tests and make platform-aware
  • Split test jobs to resolve Docker service incompatibility on macOS
  • Publish test components to OCI registry before running OCI tests
  • Exclude WIT dependency analyzer test from macOS CI
  • Exclude additional WIT dependency analyzer test from macOS CI
  • Exclude microservices_architecture from macOS CI due to WIT syntax issues
  • Add missing file_size_output field to WasmComponentMetadataInfo provider
  • Add public visibility to http_service_lib for testing
  • Add public visibility to http_service_bindings for testing
  • Resolve JS component action conflict and unit test visibility
  • Exclude simple_oci_test from Linux CI build phase
  • Exclude microservices_architecture from Linux CI builds
  • Add comprehensive WIT dependency analyzer exclusions for both platforms
  • Exclude dependency_resolution_build_test that depends on WIT analyzer
  • Exclude consumer_component_wasm_lib_release_host target with triple mismatch
  • Exclude additional *_host targets with Rust triple mismatch issues
  • Exclude service_a_component_wasm_lib_release_host with triple mismatch
  • Add more comprehensive exclusions for problematic targets
  • Add comprehensive *_host exclusions for all integration tests
  • Add final *_host exclusions for remaining targets
  • Make stat command cross-platform compatible for macOS CI
  • Add local execution requirement to wasmsign2 for SSH key access
  • Use targeted *_host exclusions instead of broad directory exclusions
  • Resolve openssh dependency busybox package 404 issue
  • Correct Bazel exclusion syntax and add OpenSSH dependency issue tracking
  • Correct wit_dependency_analyzer argument mismatch
  • Exclude failing WAC composition test and document interface issue
  • Exclude complete dependency chain for failing WAC composition
  • Exclude checksum_updater_wasm *_host target with missing dependencies
  • Resolve C++ component compilation and file operations issues
  • Exclude JavaScript component tests from CI
  • Improve JCO hermetic wrapper script to avoid system Node.js dependency
  • Ensure hermetic Node.js binary is in PATH for npm during jco installation
  • Improve docs-site build with proper path management for hermetic Node.js
  • Install platform-specific oxc-parser native bindings for jco
  • Remove missing setup_js_workspace_action reference in npm_install
  • Resolve npm_install rule path resolution issue with hermetic npm wrapper
  • Resolve docs-site genrule directory output issue causing CI failure
  • Add missing package headers to WIT files causing wit-bindgen failures
  • Exclude multi-file JavaScript components from CI build due to module resolution limitations
  • Use package-wide exclusion for JavaScript components in CI
  • Update WASI version references from 0.2.6 to available 0.2.3
  • Exclude JavaScript tests from CI to prevent multi-file component issues
  • Use specific JavaScript component exclusions in CI
  • Use explicit target inclusions in CI to avoid JavaScript issues
  • Exclude problematic analytics_service component from CI
  • Correct Rust rule names throughout documentation
  • Correct Rust example directory paths in CI
  • Remove non-existent test/rust directory from CI
  • Update macOS CI to use explicit inclusions like Linux
  • Correct Bazel command syntax for --keep_going flag
  • Align macOS CI exclusions with Linux CI for consistency
  • Correct documentation deployment extraction path
  • Exclude entire checksum_updater_wasm package to resolve build failures
  • Exclude problematic host targets with target triple conflicts
  • Resolve checksum updater Rust compilation errors
  • Resolve WASI SDK absolute path dependency warnings
  • Exclude OpenSSH target from macOS CI to address busybox dependency issue
  • Resolve C++ header resolution for wasm32-wasip2 target
  • Resolve CI build failures
  • Improve documentation build warnings
  • Correct Rust module imports in checksum_updater
  • Resolve C++ header propagation and sysroot path issues (#28, #29)
  • Expose host-platform bindings to resolve Rust target triple mismatch
  • Resolve wkg TOML configuration format error
  • Resolve native-guest target triple conflicts in WIT bindgen
  • Standardize world name in multi-file packaging example
  • Resolve WAC composition syntax and enhance multi-file packaging examples
  • Resolve critical WAC composition and Rust binding generation issues
  • Resolve pre-commit documentation build failures
  • Resolve Rust WIT binding generation provider forwarding issue
  • Resolve Rust WIT binding provider forwarding for WASM transitions
  • Correct WIT binding module name in CLI tool example
  • Resolve ld.gold compatibility and WIT binding provider forwarding
  • Resolve cross-package C++ header staging for WebAssembly components
  • Resolve C++ header staging and Starlark syntax issues
  • Update Rust WIT binding imports for rust_wasm_component_bindgen
  • Eliminate environment variable contamination in hermetic toolchains
  • Adjust JCO toolchain PATH for essential system tools
  • Resolve critical CI failures across multiple component types
  • Add missing srcs parameter to rust_wasm_component_macro
  • Use hermetic npm in docs-site build instead of system npm
  • Resolve remaining CI failures across component types
  • Update Node.js version to 18.20.8 for Astro compatibility
  • Resolve TinyGo PATH issues with hermetic Go binary resolution
  • Resolve WIT dependency analyzer stdout capture issue
  • Add missing file_ops_toolchain_type to wkg_fetch rule
  • Resolve Rust LTO comp...
Read more

Release v1.0.0

Choose a tag to compare

@avrabe avrabe released this 24 Jul 13:46

rules_wasm_component v1.0.0

🎉 Initial stable release of Bazel rules for WebAssembly Component Model!

Features

  • Comprehensive Bazel rules for WebAssembly Component Model development
  • Multi-platform support validated on macOS and Ubuntu
  • WIT interface libraries with automatic binding generation
  • Rust WebAssembly component compilation with multiple build profiles
  • Component composition support via WAC tool integration
  • Extensive test coverage with unit and integration tests
  • Working examples demonstrating all major features

Infrastructure

  • Robust CI/CD pipeline with GitHub Actions
  • BCR publish workflow ready (pending dependency resolution)
  • Multi-platform toolchain support with automated downloads
  • Comprehensive test matrix ensuring reliability

Dependencies

  • Bazel 8.3.1+
  • Rust toolchain with wasm32-wasip1, wasm32-wasip2 targets
  • wasm-tools, wac-cli, wit-bindgen-cli

Getting Started

Add to your MODULE.bazel:

bazel_dep(name = "rules_wasm_component", version = "1.0.0")

See the examples directory for usage patterns.