Skip to content

v0.4.0

Latest

Choose a tag to compare

@davesnowdon davesnowdon released this 07 Jul 03:54
· 48 commits to main since this release
Immutable release. Only release title and notes can be modified.
11a3e30

BREAKING — MCP error envelopes normalized. Every tool failure now returns {"status": "error", "code": "<snake_case>", "message": "..."};
validation failures use code: "invalid_input" (including previously-raising datetime filters), and error envelopes no longer carry warnings.
Actionable write outcomes are unchanged: version_conflict (with current_version), duplicate, slug_collision, path_collision keep their top-level
statuses, so read-merge-write retry loops are unaffected. Migration: branch on status == "error" && code == "invalid_input" instead of status ==
"invalid_input". Also in this release: free-form note metadata (#305), metadata_match filters (#306), lithos_task_list with_claims. Full details in
the CHANGELOG.

What's Changed

  • docs: propose task graph coordination extension by @davesnowdon in #339
  • docs: tighten task graph coordination proposal per review by @davesnowdon in #340
  • docs(task-graph): raise the cancelled-blocker readiness semantic by @davesnowdon in #341
  • feat(coordination): task graph Phase 1 — edges, ready/blocked, backfill by @davesnowdon in #342
  • feat(coordination): task graph Phase 2 — hierarchy & spawn by @davesnowdon in #343
  • chore(deps): bump starlette from 0.52.1 to 1.0.1 by @dependabot[bot] in #349
  • chore(deps): bump urllib3 from 2.6.3 to 2.7.0 by @dependabot[bot] in #348
  • chore(deps): bump python-dotenv from 1.2.1 to 1.2.2 by @dependabot[bot] in #344
  • chore(deps): bump authlib from 1.6.7 to 1.6.12 by @dependabot[bot] in #345
  • chore(deps): bump python-multipart from 0.0.22 to 0.0.27 by @dependabot[bot] in #346
  • chore(deps): bump idna from 3.11 to 3.15 by @dependabot[bot] in #347
  • feat(coordination): task graph Phase 3 — gates by @davesnowdon in #356
  • chore(deps-dev): bump pytest from 9.0.2 to 9.0.3 by @dependabot[bot] in #350
  • chore(deps): bump requests from 2.32.5 to 2.33.0 by @dependabot[bot] in #354
  • feat: complete the task lifecycle — lithos_task_reopen (#243) + terminal task_update (#303) by @davesnowdon in #357
  • Add a note metadata/tags patch (lithos_note_update) — parity with lithos_task_update by @davesnowdon in #363
  • chore(deps): bump python-multipart from 0.0.27 to 0.0.31 by @dependabot[bot] in #359
  • chore(deps): bump pyjwt from 2.11.0 to 2.13.0 by @dependabot[bot] in #358
  • chore(deps): bump pydantic-settings from 2.12.0 to 2.14.2 by @dependabot[bot] in #364
  • chore(deps): bump cryptography from 46.0.4 to 48.0.1 by @dependabot[bot] in #361
  • chore(deps): bump starlette from 1.0.1 to 1.3.1 by @dependabot[bot] in #360
  • chore(deps): bump pygments from 2.19.2 to 2.20.0 by @dependabot[bot] in #353
  • chore(deps): bump fastmcp from 2.14.5 to 3.2.0 by @dependabot[bot] in #351
  • chore: converge on Python 3.12 by @davesnowdon in #365
  • chore(deps): bump torch from 2.10.0 to 2.12.1 by @davesnowdon in #366
  • chore: architecture & domain diagrams as drift-checked tests by @davesnowdon in #368
  • chore(deps): bump transformers from 5.1.0 to 5.3.0 by @dependabot[bot] in #369
  • refactor: fold CoordinationError into errors.py, add canonical envelope constructors by @davesnowdon in #370
  • refactor!: normalize MCP error envelopes to canonical {status, code, message} by @davesnowdon in #371

New Contributors

Full Changelog: v0.3.3...v0.4.0


🎉 Published to PyPI!

Install with:

pip install lithos-mcp==0.4.0

🐳 Published to Docker Hub!

Pull with:

docker pull davesnowdon/lithos:0.4.0

Or run directly:

docker run -d -p 8765:8765 -v lithos-data:/data davesnowdon/lithos:0.4.0