Skip to content

v0.0.3

New

  • YAML-based server configuration loaded from {data}/woodglue.yaml (woodglue.config)
  • Multi-namespace RPC routing with dot-prefixed method names on a single /rpc endpoint
  • BaseModel round-trip serialization: automatic deserialization of Pydantic model inputs and recursive serialization of outputs
  • LLM-friendly documentation: llms.txt method index at /docs/llms.txt, per-method markdown at /docs/methods/*.md, OpenAPI spec at /docs/openapi.json (woodglue.apps.llm_docs)
  • JavaScript documentation UI served at /ui/, built with Vite and marked.js — sidebar navigation by namespace, client-side markdown rendering
  • Example config in data/woodglue.yaml for local development

Changed

  • Server now requires a config file — module_path CLI option removed
  • create_app accepts namespaces: dict[str, Namespace] instead of single Namespace
  • Flat method index (build_method_index) resolves nested namespace structures for both RPC dispatch and doc generation
  • Default server port changed from 8888 to 5321

Fixes

  • Recursive serialization in _serialize_result for nested lists and dicts
  • Pydantic ValidationError now returns INVALID_PARAMS (-32602) instead of generic internal error
  • Leaf names used in docs instead of full module-qualified nsref paths