Skip to content

v1.1.0

Choose a tag to compare

@caesar0301 caesar0301 released this 13 Oct 13:29
· 740 commits to main since this release

v1.1.0

Migration note: soothe-sdk is dissolved. soothe_sdk.* imports now resolve to soothe_nano.*
(agent-axis contracts: plugin, core events/registry/verbosity, protocols, tools, ux, utils) or to the
host-owned wire/display/ux copies inside soothe. See docs/wiki/api-reference/sdk-api.md for the
full migration table.

Added

  • Wire golden fixture contract tests: tests/wire_fixtures/wire_golden.json (produced by host
    soothe.wire / soothe.display) is committed in both soothe and soothe-client-python and both
    suites pin its sha256 — any wire-format drift now fails CI on both sides.

Changed

  • Dissolve soothe-sdk: every soothe_sdk.* import in soothe and soothe-daemon (src + tests)
    rewritten to its new home; the package is removed from all pyproject.toml files, the uv workspace,
    vulture paths, the release workflow (deploy-sdk job) and verify_finally, and importing it is now
    an import-boundary violation.
  • soothe-cli owns its TUI rendering directly: soothe_cli.display.{card_binder,text_extract} and
    soothe_cli.ux.{subagent_progress,subagent_wire_display}; soothe-client-python 1.2.0 keeps only
    the wire-parse side and drops the dead display.snapshot_collapser.
  • Unified tool-call IDs and stream tool-wire helpers have a single canonical home —
    soothe_nano.ux.{task_namespace,stream_tool_wire}; the temporary soothe.ux copies are removed.
  • Floors: soothe-nano>=1.4.2 (cleanup release: drops the dead utils.llm shim, DashScope embedding
    modules, MemU config/{activity,event,profile}, filesystem.{factory,langchain_adapter} and the
    aiohttp/dashscope/httpx/firecrawl-anydoc deps — no host, daemon or CLI references) and
    soothe-client-python>=1.2.0.

Full changelog: https://github.com/mirasoth/soothe/blob/main/CHANGELOG.md