Skip to content

Releases: microsoft/wassette

v0.3.4

02 Nov 17:51
v0.3.4
e811bdd

Choose a tag to compare

Added

  • Component registry validation pipeline that automatically validates new or modified component URIs in component-registry.json on pull requests, ensuring all URIs can be successfully loaded by wassette before merging changes (#456)
  • Memory server example (examples/memory-js) demonstrating a knowledge graph storage system as a WebAssembly component, migrated from the MCP memory server with in-memory persistence, supporting entity and relation management, observations, and full-text search capabilities (#437)
  • arXiv research component (examples/arxiv-rs) in Rust that provides three functions: search-papers for searching arXiv with query, max results, date, and category filters; download-paper for downloading PDF files; and read-paper for fetching paper metadata and abstracts. The component uses the arXiv API and returns formatted markdown output (#436)
  • Comprehensive test coverage for component2json crate with example components added to testdata directory (fetch-rs, brave-search-rs, context7-rs under 1MB) to validate JSON schema generation across different language ecosystems (#429)
  • Added wassette inspect subcommand for debugging WebAssembly components, displaying their JSON schema for inputs and outputs. This provides a convenient way to inspect component metadata without loading them into the MCP server (#430)
  • Added just install command for convenient local installation to ~/.local/bin (#449)
  • Configurable bind address for HTTP-based transports (SSE and StreamableHttp) via CLI flag --bind-address, environment variable WASSETTE_BIND_ADDRESS, or configuration file field bind_address. Default remains 127.0.0.1:9001 for backward compatibility (#445)
  • Cookbook tutorial for publishing Wasm components to OCI registries (GHCR) using wkg CLI tool and GitHub Actions, including local development workflow, automated CI/CD publishing, signing with Cosign, version management strategies, and troubleshooting guide (#426)
  • Prepared policy crate for publication to crates.io with comprehensive README.md and complete package metadata (description, repository, documentation, homepage, keywords, categories, authors). The policy crate is now ready to be published as a standalone library for other projects like policy-mcp (#427)
  • Automated CHANGELOG synchronization with release pipeline: Release workflow extracts changelog content for release notes and automatically updates CHANGELOG.md post-release. Implemented using Python scripts with unit tests. The update-changelog job now checks that the release job succeeded before running. (#404)
  • Migration guide documentation for converting JavaScript-based MCP servers to Wassette WebAssembly components in the cookbook section, with step-by-step instructions, code examples, and a complete weather service migration walkthrough (#400)
  • Configuration Files reference documentation covering Wassette server configuration files (config.toml) and build/toolchain configuration files (Cargo.toml, rust-toolchain.toml, rustfmt.toml, etc.) with detailed schemas, examples, and best practices (#401)
  • Concepts documentation page explaining MCP fundamentals (server vs client, tools, prompts, resources), WebAssembly Component Model (components, WIT, bindings), how Wassette translates components to MCP tools, and the policy/capability model (#397)
  • Developer documentation section with comprehensive "Getting Started" guide covering prerequisites, building, testing, code formatting, development workflow, CI/CD, and project structure for contributors (#396)
  • Documentation reference for commonly used HTTP domains in network permissions, providing a comprehensive list of frequently needed domains organized by category (package registries, version control systems, cloud providers, container registries, AI/ML APIs, CDNs, documentation sites, and CI/CD services) to help users make informed decisions when granting network permissions (#368)
  • Added --disable-builtin-tools flag to the serve command that allows disabling all built-in tools (load-component, unload-component, list-components, get-policy, grant/revoke permissions, search-components, reset-permission). When enabled, only loaded component tools will be available through the MCP server (#374)
  • Comprehensive Docker documentation and Dockerfile for running Wassette in containers with enhanced security isolation, including examples for mounting components, secrets, configuration files, and production deployment patterns with Docker Compose (#369)
  • rust-toolchain.toml file specifying Rust 1.90 as the stable toolchain version, ensuring consistent Rust version across development environments and CI/CD pipelines (#371)
  • AI agent development guides (AGENTS.md and Claude.md) that consolidate development guidelines from .github/instructions/ into accessible documentation for AI agents working on the project (#360)
  • Comprehensive installation guide page consolidating all installation methods (one-liner script, Homebrew, Nix, WinGet) organized by platform (Linux, macOS, Windows) with verification steps and troubleshooting sections (#326)
  • Cookbook section in documentation with language-specific guides for building Wasm components in JavaScript/TypeScript, Python, Rust, and Go (#328)
  • Multi-version documentation support with version dropdown, hosting at /wassette/latest/ (main) and /wassette/vX.Y/ (tags) (#336)
  • Automated release preparation and package manifest update workflows to eliminate manual version bump PRs (#320)
  • User-focused permissions documentation under new "Using Wassette" section, providing practical how-to guides for managing permissions (#333)
  • Added $schema field to all policy YAML files referencing the policy-mcp schema for better IDE support and validation (#331)
  • Documentation for GitHub Agentic Workflows explaining how the repository uses @githubnext/gh-aw for automated issue triage and research tasks (#353)
  • Comprehensive documentation in RELEASE.md for releasing example component images to GHCR, including automatic publishing workflow, manual release process, and instructions for adding new examples (#362)
  • GitHub Actions workflow .github/workflows/copilot-setup-steps.yml that provides reusable setup steps for GitHub Copilot coding agents to prepare a complete development environment with Rust, just, protobuf, wasm-tools, and other essential tools (#366)
  • Added rules/agent.md instruction file for AI agents emphasizing use of grant-xxx-permission tools instead of manually editing policy files, with installation instructions in the installation guide (#372)
  • Comprehensive documentation on wit-docs-inject usage for embedding WIT documentation into WASM components and translating it to AI agent tool descriptions (#411)
  • Agentic workflow for automatic CHANGELOG PR link addition: When PRs modify CHANGELOG.md, the workflow automatically adds PR links to new entries in the Unreleased section, ensuring consistent formatting and making it easier to track changes back to their source PRs (#442)
  • Release branch strategy to prevent development blockages: Release pipeline now creates and preserves dedicated release branches (e.g., release/vX.Y.Z) for the entire release process, ensuring that ongoing development on main is not blocked by release activities (#474)

Changed

  • Improved CLI help text for transport flags: changed from "Enable XXX transport" to "Serving with XXX transport" for better clarity on what the flags do (#446)
  • Updated wasmtime dependencies from version 36 to 38.0.2 (wasmtime, wasmtime-wasi, wasmtime-wasi-http, wasmtime-wasi-config) (#433)
  • Refactored duplicated tool name string constants in src/main.rs by introducing centralized const definitions, eliminating duplication between TryFrom and AsRef implementations (#418)
  • Updated publish examples workflow to include new examples: brave-search-rs, context7-rs, and get-open-meteo-weather-js (#416)
  • Streamlined README.md by removing detailed sections on "Built-in Tools", "Building WebAssembly Components", "Community Components", and "...
Read more

v0.3.2

16 Oct 16:06
8833783

Choose a tag to compare

Downloads

Linux

macOS (Darwin)

Windows

Install

All Platforms (Shell Script)

curl -fsSL https://raw.githubusercontent.com/microsoft/wassette/main/install.sh | bash

This will detect your platform and install the latest wassette binary to your $PATH.

Usage

# Start the MCP server
wassette serve --sse --policy-file policy.yaml

What's Changed

  • Remove confusing Docker Deployment section from README by @Copilot in #393
  • Update time component references from yoshuawuyts to microsoft registry by @Copilot in #392

Full Changelog: v0.3.1...v0.3.2

v0.3.1

15 Oct 20:44
v0.3.1
e629519

Choose a tag to compare

Downloads

Linux

macOS (Darwin)

Windows

Install

All Platforms (Shell Script)

curl -fsSL https://raw.githubusercontent.com/microsoft/wassette/main/install.sh | bash

This will detect your platform and install the latest wassette binary to your $PATH.

Usage

# Start the MCP server
wassette serve --sse --policy-file policy.yaml

What's Changed

  • Update CHANGELOG.md for v0.3.0 release and add new Unreleased section by @Copilot in #312
  • chore: update winget and homebrew for v0.3.0 by @duffney in #311
  • ci: add issue triage agentic workflow by @Mossaka in #310
  • Move CLI reference docs to new reference section in mdBook by @Copilot in #314
  • Fix invalid workflows permission in dependabot-automerge workflow by @Copilot in #322
  • Fix: wassette secret set returns error if component ID is not found by @Copilot in #318
  • feat: automate version bumps in release CI pipeline by @Copilot in #320
  • Add multi-version documentation support with version dropdown by @Copilot in #316
  • Fix: update artifact upload path to include 'wassette' directory by @Mossaka in #334
  • Add Playwright and mdbook instructions for documentation changes by @Copilot in #329
  • Fix: update redirect URLs in index.html to remove 'wassette' prefix by @Mossaka in #335
  • Fix: generate the docs in the CI instead of a index.html to avoid double redirect by @Mossaka in #336
  • Fix Mermaid sequence diagram rendering in documentation by @Copilot in #324
  • docs: Add cookbook section with language-specific guides for building Wasm components by @Copilot in #328
  • Docs: Add comprehensive installation page with tabbed interface and remove duplicate pages by @Copilot in #326
  • Add $schema field to all policy YAML files by @Copilot in #331
  • chore(deps): Bump actions-rust-lang/setup-rust-toolchain from 1.15.1 to 1.15.2 by @dependabot[bot] in #341
  • chore(deps): Bump dtolnay/rust-toolchain from be73d7920c329f220ce78e0234b8f96b7ae60248 to 6d653acede28d24f02e3cd41383119e8b1b35921 by @dependabot[bot] in #344
  • chore(deps): Bump peter-evans/create-pull-request from 7.0.5 to 7.0.8 by @dependabot[bot] in #345
  • chore(deps): Bump tokio-rustls from 0.26.3 to 0.26.4 by @dependabot[bot] in #348
  • chore(deps): Bump axum from 0.8.5 to 0.8.6 by @dependabot[bot] in #349
  • chore(deps): Bump serde from 1.0.226 to 1.0.228 by @dependabot[bot] in #350
  • chore(deps): Bump actions/setup-node from 4 to 5 by @dependabot[bot] in #342
  • Fix: Skip generated bindings.rs files in copyright check by @Copilot in #338
  • ci: adds scout agentic workflow by @Mossaka in #351
  • Add user-focused permissions documentation under "Using Wassette" by @Copilot in #333
  • example: add a new search component by @Mossaka in #337
  • fix: make dependabot automerge workflow non-blocking by @Copilot in #355
  • feat(ci): add CI Doctor agentic workflow by @Mossaka in #359
  • chore(deps): Bump docker/login-action from 3.5.0 to 3.6.0 by @dependabot[bot] in #343
  • chore(deps): Bump softprops/action-gh-release from 2.3.3 to 2.3.4 by @dependabot[bot] in #346
  • docs: improve RELEASE.md with example image release instructions by @Copilot in #362
  • Add AGENTS.md and Claude.md development guides for AI agents by @Copilot in #360
  • Fix typos: "capabiltiies" → "capabilities" and "blcoked" → "blocked" by @Copilot in #363
  • Add documentation for GitHub Agentic Workflows by @Copilot in #353
  • Add GitHub Actions workflow for GitHub Copilot coding agent development environment setup by @Copilot in #366
  • examples: add context7 component in Rust by @Mossaka in #306
  • feat: extract component docs for tool description by @Mossaka in #356
  • Move permissions documentation to reference section after CLI by @Copilot in #370
  • chore(deps): Bump crate-ci/typos from 1.36.3 to 1.37.2 by @dependabot[bot] in #347
  • Add rust-toolchain.toml with Rust 1.90 by @Copilot in #371
  • Add agent instruction file for proper Wassette permission management by @Copilot in #372
  • Update README and related documents to include all 9 examples by @Copilot in #376
  • chore(deps): Bump cachix/install-nix-action from 31.7.0 to 31.8.0 by @dependabot[bot] in #381
  • chore(deps): Bump crate-ci/typos from 1.37.2 to 1.38.1 by @dependabot[bot] in #382
  • chore(deps): Bump softprops/action-gh-release from 2.3.4 to 2.4.1 by @dependabot[bot] in #383
  • chore(deps): Bump wasmparser from 0.236.1 to 0.239.0 by @dependabot[bot] in #384
  • chore(deps): Bump wat from 1.239.0 to 1.240.0 by @dependabot[bot] in #385
  • fix: update samples latest after release is published by @duffney in #386
  • Add comprehensive Docker support for containerized Wassette deployments by @Copilot in #369
  • Add RELEASE_TOKEN secret as token input to prepare-release workflow by @Copilot in #387
  • chore(release): bump version to 0.3.1 by @Mossaka in #388

Full Changelog: v0.3.0...v0.3.1

v0.3.0

03 Oct 19:07
v0.3.0
38c709c

Choose a tag to compare

Downloads

Linux

macOS (Darwin)

Windows

Install

All Platforms (Shell Script)

curl -fsSL https://raw.githubusercontent.com/microsoft/wassette/main/install.sh | bash

This will detect your platform and install the latest wassette binary to your $PATH.

Major Highlights

🚀 Enhanced CLI Experience

  • Improved Command Structure: Major CLI UX improvements with streamlined component, policy, and permission management commands (#141)
  • Consolidated Transport Options: Simplified transport flags for better usability (#250)
  • Performance Optimizations: Significant CLI performance improvements through lazy loading implementation (#274)

⚡ Multi-Component Performance

  • Fast Startup with Lazy Loading: Revolutionary fast startup implementation with lazy and cached loading for WebAssembly components (#235)
  • Parallel Component Loading: Components now load in parallel for dramatically improved performance (#123)
  • Pre-instantiated Components: Use pre-instantiated components for optimal runtime performance (#124)
  • Component Lifecycle Optimization: Major refactor of LifecycleManager for better resource management (#286)

🔍 Component Search Capabilities

  • Component Discovery: New component search support to easily discover and explore available components (#236)
  • Enhanced Documentation: Updated documentation for the new search-components tool (#241)

🌐 Streamable HTTP Protocol

  • New Transport Protocol: Added support for Streamable HTTP transport (renamed from --http to --sse) (#100)
  • Real-time Communication: Enables efficient real-time communication between components and clients

Additional Notable Features

Added

  • Structured Tool Output Support: Implement structured result wrapper for tool output schemas (#304)
  • Secret Management: Add simple per-component secret management system (#233)
  • Memory Resource Management: Implement memory resource granting and revocation functionality for components (#172)
  • Environment Variable Support: Add environment variable support with CLI options and file loading (#176)
  • Kubernetes-style Resource Limits: Add resource limits with OnceLock caching optimization (#167)
  • OCI Multi-layer Support: Enhanced OCI registry support with multi-layer artifact handling (#217)
  • Cryptographic Signing: Add cryptographic signing for WASM OCI artifacts with digest-based security (#154)
  • Revoke Commands: Add revoke commands and reset permission functionality with simplified storage revocation (#87)
  • Architecture Diagram: Add comprehensive architecture diagram to documentation (#243)

Changed

  • Wasmtime Update: Update Wasmtime dependencies from version 33 to 36 (#266)
  • MCP Tool Support: Upgrade rmcp to v0.5.0 for native MCP Tool structured output support (#182)

Fixed

  • Duplicate Tool Registration: Fix duplicate tool registration and normalize tool outputs (#280)
  • Structured Output Handling: Fix structured output handling in component calls (#276)
  • Windows Build: Fix build issues on Windows (#273)
  • Python Exception Handling: Fix 'exec' method to capture and handle exceptions in eval-py (#275)
  • Security Audit: Fix security audit issue by ignoring unmaintained fxhash dependency (#260)
  • MCP Schema Compatibility: Update parse_tool_schema to ensure outputSchema compatibility with MCP outputSchema (#231)
  • Spelling Fixes: Fix spelling by replacing "wasette" with "wassette" in configuration paths and documentation (#214)
  • Component Loading: Add exdev-safe fallback for component loading (#109)
  • Broken Links: Fix broken links in README.md to resolve 404 errors (#203)

Security

  • Policy Environment Variables: Inject policy environment variables into WASI environment (#262)
  • Security Scanning: Add security scanning job to GitHub Actions with cargo audit and cargo-deny (#152)

New Contributors!

Full Changelog: v0.2.0...v0.3.0

v0.2.0

05 Aug 23:34
v0.2.0
7b0053b

Choose a tag to compare

Downloads

Linux

macOS (Darwin)

Windows

Install

All Platforms (Shell Script)

curl -fsSL https://raw.githubusercontent.com/microsoft/wassette/main/install.sh | bash

This will detect your platform and install the latest wassette binary to your $PATH.

Usage

# Start the MCP server
wassette serve --http --policy-file policy.yaml

What's Changed

  • fix: disable sccache via env vars for cargo by @duffney in #75
  • .github: add rust instructions for copilot by @Mossaka in #71
  • fix: remove optionality of server_peer in component handling functions by @Mossaka in #77
  • Move the design docs back under docs by @yoshuawuyts in #83
  • docs: release process by @duffney in #82
  • feat(wassette): unload-component now should delete files on Disk by @Mossaka in #81
  • fix(wassette): send log to stderr for stdio transport by @Mossaka in #86
  • chore: Add copyright headers and scripts/copyright.sh by @asw101 in #84
  • Fix missing docs by @yoshuawuyts in #85
  • docs: add link to installation instructions by @asw101 in #89
  • chore: bump version and update the README.md by @duffney in #90

New Contributors

Full Changelog: v0.1.0...v0.2.0

v0.1.0

04 Aug 10:52

Choose a tag to compare

Downloads

Linux

macOS (Darwin)

Windows

Install

All Platforms (Shell Script)

curl -fsSL https://raw.githubusercontent.com/microsoft/wassette/main/install.sh | bash

This will detect your platform and install the latest wassette binary to your $PATH.

Usage

# Start the MCP server
wassette serve --http --policy-file policy.yaml

What's Changed

  • Dev by @Mossaka in #10
  • Rename to Wassette by @Mossaka in #19
  • time-server-js: Remove disable all features to enable 'clocks' by @Mossaka in #33
  • fix(release): Fix release pipeline by @asw101 in #37
  • Add docs for MCP client setup by @asw101 in #42
  • chore(deps): Bump tokio from 1.46.1 to 1.47.0 by @dependabot[bot] in #41
  • chore(deps): Bump rustls from 0.23.29 to 0.23.30 by @dependabot[bot] in #40
  • chore(deps): Bump astral-sh/setup-uv from 6.4.1 to 6.4.3 by @dependabot[bot] in #38
  • fix(weather): Improve error handling and update API key check by @Mossaka in #36
  • chore(deps): Bump testcontainers from 0.24.0 to 0.25.0 by @dependabot[bot] in #39
  • policy: add the policy crate and it's tests into the repo by @Mossaka in #48
  • policy: delete the non-existance schemas by @Mossaka in #50
  • feat(*): Add dynamic policy management to Weld by @Mossaka in #17
  • docs: Improve Developer Experience with Updated README and New Architecture Doc by @duffney in #47
  • README: Add missing examples fetch-rs and time-server-js to documentation by @Copilot in #60
  • Add #wassette on the Microsoft Open Source Discord by @asw101 in #58
  • feat(component2json, wassette): normalize WIT function name to be compatible with MCP Tool name by @Mossaka in #57
  • chore(deps): Bump tokio from 1.47.0 to 1.47.1 by @dependabot[bot] in #62
  • chore(deps): Bump serde_json from 1.0.141 to 1.0.142 by @dependabot[bot] in #63
  • chore(deps): Bump tokio-util from 0.7.15 to 0.7.16 by @dependabot[bot] in #64
  • chore(deps): Bump rustls from 0.23.30 to 0.23.31 by @dependabot[bot] in #65
  • chore(deps): Bump clap from 4.5.41 to 4.5.42 by @dependabot[bot] in #66
  • feat: Use new repo urls and add binary to shell path by @duffney in #46
  • fix: skip sccache for aarch64-windows by @duffney in #74

New Contributors

  • @asw101 made their first contribution in #37
  • @dependabot[bot] made their first contribution in #41
  • @duffney made their first contribution in #47
  • @Copilot made their first contribution in #60

Full Changelog: https://github.com/microsoft/wassette/commits/v0.1.0