Skip to content

v0.2.0

Latest

Choose a tag to compare

@mpospirit mpospirit released this 14 Jun 13:26
bbd471d

0.2.0 — 2026-06-13

Upgrade notes for admins

  • Run migrations: docker compose run --rm web python tetherdust/web/manage.py migrate
  • No new env vars. AI-generation TTLs/timeouts now default to 1800s; override via TETHERDUST_FILTER_TTL, TETHERDUST_TOOL_CALLS_TTL, CODEX_HTTP_RESPONSE_TIMEOUT, or DIRECT_API_RESPONSE_TIMEOUT if needed.

Added

  • Tethers can now use a codebase documentation source as the code side, not just a live codebase repository. The Tether form has a single "Codebase or Codebase Documentation" dropdown that lists both, grouped by type, alongside the database doc-source.

Changed

  • Tether.codebase is now optional; a new Tether.codebase_doc_source field holds the doc-source alternative. The generation prompt and granted MCP sources adapt to whichever code source is selected.
  • Aligned all AI-generation TTLs/timeouts to 1800s (30 min) to match TETHER_GEN_TIMEOUT: MCP filter-token TTL and tool-call buffer TTL (were 600s), the MCP doc-resources cache (was 300s), and the Codex/direct-API HTTP response timeouts (were 300s).
  • .gitignore now excludes everything under documentations/ except the bundled documentations/TetherDust Documentation/. Customer/environment-specific documentation folders are no longer tracked by git.

Fixed

  • Long-running tether/doc/chart generation no longer fails with Unknown or expired filter token. The MCP filter token (TTL 600s) and tool-call buffer (TTL 600s) could expire mid-run while the generation budget allowed up to 1800s, so the final save_tether_graph call hit a purged token and returned 403. All such limits now outlive the generation budget.
  • Source scoping: dashboard/chart generation, single-chart editing, and documentation generation now restrict the agent to exactly the sources selected in the form. Previously an empty selection for a dimension (e.g. picking a database but no documentation source) collapsed to "unrestricted" via selected_* or None, letting the agent search_docs/read documentation and codebases that were never granted — so a chart built against one database could surface table/column names from an entirely different one. Empty selections are now passed through as deny-all instead of unrestricted.