Releases: Mossaka/wassette
Releases · Mossaka/wassette
v0.3.4
Added
- Component registry validation pipeline that automatically validates new or modified component URIs in
component-registry.jsonon 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-papersfor searching arXiv with query, max results, date, and category filters;download-paperfor downloading PDF files; andread-paperfor 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 inspectsubcommand 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 installcommand for convenient local installation to ~/.local/bin (#449) - Configurable bind address for HTTP-based transports (SSE and StreamableHttp) via CLI flag
--bind-address, environment variableWASSETTE_BIND_ADDRESS, or configuration file fieldbind_address. Default remains127.0.0.1:9001for backward compatibility (#445) - Cookbook tutorial for publishing Wasm components to OCI registries (GHCR) using
wkgCLI 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-toolsflag to theservecommand 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.tomlfile 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.mdandClaude.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
$schemafield 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.ymlthat 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.mdinstruction file for AI agents emphasizing use ofgrant-xxx-permissiontools 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.rsby introducing centralizedconstdefinitions, eliminating duplication betweenTryFromandAsRefimplementations (#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 "Documentation" in favor of linking to co...