Heads up This site is currently under heavy development.
Subscribe Get it delivered — the daily firehose, filtered to the tools you run, plus the documentation changes vendors never announce. Compare plans →

The AI Toolchain — issue 011, August 30, 2026

THE AI TOOLCHAIN NO. 011
Tail
THE DAILY RELEASE FIREHOSE
PUBLISHED AUGUST 30, 2026 · EVERY WEEKDAY
EDITIONS tail grep head diff uniq

The daily firehose — everything the toolchain shipped today, already filtered.

// HOW THIS ISSUE IS MADE

We read every release from the 174 tools on our watchlist at the source — GitHub and GitLab release notes, vendor release pages and changelogs, project blogs and feeds, vendor press releases, and the source code behind the tag. Bug-fix-only releases and non-product newsroom noise are dropped; what's left is summarized down to the new capability, how to try it, and any screenshots or videos the release itself published. Every entry links to the sources it was built from.

VIEW
ISSUE VIEW full issue
Do you prefer this view?
$ tct list   # 27 tools matched
Offensive Security
◆  Exploitation & C2

xalgorix

Sources Release notes → 10 RELEASES · 2026-08-07 → 2026-08-27 NOTES

Autonomous AI pentesting agents — real-time reconnaissance, vulnerability detection, and exploitation orchestration. Go + TypeScript.

xalgorix's biggest addition this window is an authenticated re-test API for rechecking individual findings without a full scan; alongside it came expanded mobile scanning (split-APK support, OOB interaction filtering), a Postman import workflow, UI theming and localization, an onboarding wizard, and several provider-specific LLM tweaks.

└──▷ WHAT SHIPPED · 10 FEATURESmost completely described first
what's the number?

Each feature carries 0–100 for how completely the vendor documented it — not how big or important the work is. A major capability described in eight words scores low, and that is the finding.

  • depth0–40what it does and how it works or what changed
  • specificity0–30names real surfaces — APIs, flags, formats, limits, numbers
  • actionability0–30enough to go use it — a named endpoint, flag, or config key tops this; a UI path is a starting point

Code and config rank first by construction: a documented endpoint, flag or config key scores at the top of specificity and actionability, so it sorts above a feature described only in prose. Under 60 the notes go thin — everything below the “thinner coverage” line is thinner documentation, not smaller work. Hover any meter for that feature's three sub-scores.

01
Authenticated re-test API for findingsNEW95

Adds POST /api/findings/retest to actively re-check a single stored finding without launching a full target scan, and GET /api/findings/retest/{id} to poll the status and verdict (still_vulnerable, fixed, inconclusive) of a running or completed re-test job. Introduces an opaque auth_profile argument (primary / secondary / none) for per-job credentials that stay server-side and never appear in job state or tool schemas, and terminal jobs report a meaningful_attempt field with counts of request, affected-request, and affected-variant.

Poll a re-test job for its verdict after submission, checking whether the finding is still_vulnerable, fixed, or inconclusive.
$ curl -s https://xalgorix.example.com/api/findings/retest/<id> \
  -H 'Authorization: Bearer <token>'
— Endpoints, auth model, and job status fields fully specifiedv4.5.126
02
Opt-in pprof debug serverNEW90

Adds XALGORIX_PPROF_ADDR environment variable to enable an opt-in loopback pprof debug server for runtime profiling, e.g. XALGORIX_PPROF_ADDR=127.0.0.1:6060 xalgorix.

Enable the pprof debug server on a local port to capture CPU or memory profiles during a live xalgorix run.
$ XALGORIX_PPROF_ADDR=127.0.0.1:6060 xalgorix
— Exact env var and runnable command givenv4.5.141
03
Split-APK bundle supportNEW60

Supports split-APK bundle formats (.apks, .xapk, .aab) and now accepts sparse APKs that were previously rejected.

— Names exact formats but gives no usage stepv4.5.125
04
Provider-specific LLM settings and recommendationsIMPROVED60

Adds native web_search support via the MiniMax provider, routing web search queries through MiniMax's own search capability; adds a configurable Gemini safety threshold to support authorized security testing use cases; and adds recommendations for current frontier models.

— Provider features named; no exact config keys givenv4.6.2v4.5.151v4.5.134
thinner coverage below
05
Multi-file Postman upload with auto-resolutionNEW55

Adds multi-file Postman collection upload with automatic variable and authentication resolution in the context view.

— Names the feature and UI area, no exact stepsv4.5.156
06
Configurable OOB interaction type filteringNEW50

Enables selection of which out-of-band interaction types (DNS, HTTP, SMTP) count as callbacks.

— Lists interaction types but no config key shownv4.5.125
07
Light theme and display toggleNEW40

Adds a light theme to the web UI with a light/dark/system toggle for display preference control.

— Simple UI toggle, thinly describedv4.5.156
08
LLM token usage and cost displayNEW30

Displays LLM token usage and a hosted cost note at the end of each scan run.

— Bare description, no numbers or config namedv4.6.3
09
Simplified Chinese language supportNEW30

Adds Simplified Chinese (zh-CN) language support to the interface.

— Names the locale code, nothing elsev4.5.140
10
Interactive first-run onboarding wizardNEW30

Adds an interactive wizard for first-run onboarding to guide new users through initial setup.

— Generic description, no named surfacev4.5.133
Was this useful?
AI & LLM Tooling
◆  AI Model & Data Infrastructure

Together AI

Sources Changelog → 1 RELEASE · 2026-08-30 CHANGELOG

Run, train, and serve open-source AI models on Together AI.

Together AI shipped a new tg batches CLI command group for managing batch inference jobs, training quality improvements for several Qwen3.5 and Nemotron-3 fine-tuning models, plus API key expiration controls, ACH payments, and new GLM-5.3 models with 1M-token context.

└──▷ WHAT SHIPPED · 2 FEATURESmost completely described first
what's the number?

Each feature carries 0–100 for how completely the vendor documented it — not how big or important the work is. A major capability described in eight words scores low, and that is the finding.

  • depth0–40what it does and how it works or what changed
  • specificity0–30names real surfaces — APIs, flags, formats, limits, numbers
  • actionability0–30enough to go use it — a named endpoint, flag, or config key tops this; a UI path is a starting point

Code and config rank first by construction: a documented endpoint, flag or config key scores at the top of specificity and actionability, so it sorts above a feature described only in prose. Under 60 the notes go thin — everything below the “thinner coverage” line is thinner documentation, not smaller work. Hover any meter for that feature's three sub-scores.

thinner coverage below
01
GLM-5.3 models with 1M-token contextNEW30

Adds new GLM-5.3 models supporting a 1M-token context window.

— Names the model family and context size, no other detailchangelog-20260830-07a75e81
02
ACH payment supportNEW15

Adds ACH as a supported payment method.

— Only named in the summary, no further detailchangelog-20260830-07a75e81
Was this useful?

Groq

Sources Release page → 1 RELEASE · seen 2026-08-30 NOTES

Groq is a high-speed AI inference platform that runs large language models extremely fast with minimal latency.

Groq added two new OpenAI GPT-OSS open-weight reasoning models to its chat completions API, bringing high-throughput MoE inference with built-in browser search and code execution.

└──▷ WHAT SHIPPED · 1 FEATUREmost completely described first
what's the number?

Each feature carries 0–100 for how completely the vendor documented it — not how big or important the work is. A major capability described in eight words scores low, and that is the finding.

  • depth0–40what it does and how it works or what changed
  • specificity0–30names real surfaces — APIs, flags, formats, limits, numbers
  • actionability0–30enough to go use it — a named endpoint, flag, or config key tops this; a UI path is a starting point

Code and config rank first by construction: a documented endpoint, flag or config key scores at the top of specificity and actionability, so it sorts above a feature described only in prose. Under 60 the notes go thin — everything below the “thinner coverage” line is thinner documentation, not smaller work. Hover any meter for that feature's three sub-scores.

01
OpenAI GPT-OSS 20B and 120B models addedNEW88

Groq added openai/gpt-oss-20b and openai/gpt-oss-120b to the POST https://api.groq.com/openai/v1/chat/completions endpoint. openai/gpt-oss-20b is a 20B MoE model (32 experts) with 131K token context, 32K max output tokens, built-in browser search and code execution, structured output support, and ~1000+ TPS throughput. openai/gpt-oss-120b is a 120B MoE model (128 experts) with the same 131K context and 32K max output, the same built-in browser search, code execution and structured outputs, running at ~500+ TPS. Both support reasoning capabilities.

Query a high-speed open-source reasoning model for code or math tasks that previously required closed frontier models.
$ curl https://api.groq.com/openai/v1/chat/completions \
  -H "Authorization: Bearer $GROQ_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "openai/gpt-oss-20b", "messages": [{"role": "user", "content": "Explain why fast inference is critical for reasoning models"}]}'
Use the larger 120B variant when maximum accuracy on multilingual or health-domain tasks matters more than raw throughput.
$ curl https://api.groq.com/openai/v1/chat/completions \
  -H "Authorization: Bearer $GROQ_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "openai/gpt-oss-120b", "messages": [{"role": "user", "content": "Summarize this patient case and flag potential drug interactions"}]}'
— Names endpoint, both model ids, specs, and runnable curl examplessnapshot-20260830
Was this useful?

Eigen Labs Darkbloom

Sources Release notes →Source code → 1 RELEASE · 2026-08-29 NOTES CODE

Private Inference Network on Idle Macs

Darkbloom's v0.8.15 release adds opt-in metadata embedding on chat completions that surfaces attestation, timing, job identity, and coarse GeoIP location, and integrates the Qwen3.8-27B VLM together with a default-on MTP proposal assistant for it.

└──▷ WHAT SHIPPED · 3 FEATURESmost completely described first
what's the number?

Each feature carries 0–100 for how completely the vendor documented it — not how big or important the work is. A major capability described in eight words scores low, and that is the finding.

  • depth0–40what it does and how it works or what changed
  • specificity0–30names real surfaces — APIs, flags, formats, limits, numbers
  • actionability0–30enough to go use it — a named endpoint, flag, or config key tops this; a UI path is a starting point

Code and config rank first by construction: a documented endpoint, flag or config key scores at the top of specificity and actionability, so it sorts above a feature described only in prose. Under 60 the notes go thin — everything below the “thinner coverage” line is thinner documentation, not smaller work. Hover any meter for that feature's three sub-scores.

01
Opt-in metadata embedding in chat completionsNEW92

Adds metadata_details: true request body field to POST /v1/chat/completions to embed provider attestation, timing, and job identity details directly in the JSON response body, useful when OpenAI-compatible SDKs hide raw HTTP headers. Also adds X-Darkbloom-Metadata-Details: true request header as an alternative opt-in for the same per-request metadata embedding, supporting browser preflight flows. When opted in, metadata.location surfaces the serving provider's GeoIP region as region, region_code, country, country_code, and timezone fields; city, coordinates, and raw IPs are intentionally omitted.

Retrieve attestation, timing, and job-identity details in the response body when your SDK strips custom HTTP headers.
$ curl https://api.darkbloom.dev/v1/chat/completions \
  -H "Authorization: Bearer sk-db-..." \
  -H "Content-Type: application/json" \
  -d '{"model":"gemma-4-26b","messages":[{"role":"user","content":"Hello!"}],"metadata_details":true,"stream":false}'
Opt in to metadata details via header (e.g. from a browser context that cannot set a custom JSON body key).
$ curl https://api.darkbloom.dev/v1/chat/completions \
  -H "Authorization: Bearer sk-db-..." \
  -H "Content-Type: application/json" \
  -H "X-Darkbloom-Metadata-Details: true" \
  -d '{"model":"gemma-4-26b","messages":[{"role":"user","content":"Hello!"}],"stream":false}'
— Named endpoint, field, header, and runnable curl examples included.v0.8.15
02
MTP proposal assistant for Qwen3.8NEW75

Adds EigenLabs/Qwen3.8-27B-MTP-4bit as an MTP proposal assistant for Qwen3.8, enabled by default; disable with mtp_mode = "off", darkbloom beta disable mtp, or the DARKBLOOM_CBV2_MTP=0 environment variable.

— Names config key, CLI subcommand, and env var to disable.v0.8.15
thinner coverage below
03
Qwen3.8-27B VLM supportNEW55

Integrates Qwen3.8-27B full VLM (EigenLabs/Qwen3.8-27B-4bit) with vision and video (API) support, restricted to Apple M5 hardware with the approved NAX runtime.

— Names model and hardware restriction but gives no usage example.v0.8.15
Was this useful?
◆  AI Coding Agents

Daytona

Sources Release page → 1 RELEASE · seen 2026-08-30 NOTES

Daytona is an open-source development environment platform that enables developers to spin up standardized, reproducible coding environments instantly.

Daytona 0.203.0 shipped a CLI command for listing organization members and added client-side HTTP timeout support.

└──▷ WHAT SHIPPED · 1 FEATUREmost completely described first
what's the number?

Each feature carries 0–100 for how completely the vendor documented it — not how big or important the work is. A major capability described in eight words scores low, and that is the finding.

  • depth0–40what it does and how it works or what changed
  • specificity0–30names real surfaces — APIs, flags, formats, limits, numbers
  • actionability0–30enough to go use it — a named endpoint, flag, or config key tops this; a UI path is a starting point

Code and config rank first by construction: a documented endpoint, flag or config key scores at the top of specificity and actionability, so it sorts above a feature described only in prose. Under 60 the notes go thin — everything below the “thinner coverage” line is thinner documentation, not smaller work. Hover any meter for that feature's three sub-scores.

thinner coverage below
01
Client-side HTTP timeout supportNEW30

Daytona 0.203.0 adds support for client-side HTTP timeouts.

— Mentioned only in summary with no configuration detailssnapshot-20260830
Was this useful?

Diagram Design

Sources Commits → changes since 2026-08-11 CODE

38 editorial diagram types for Claude Code, Codex, and Pi. Self-contained HTML + SVG.

Diagram Design gains Draw.io import, ten new diagram types, named client profiles, Pi support, and automatic plugin updates.

└──▷ GET THIS VERSION
$ git clone --branch commits-2026-08-11 https://github.com/cathrynlavery/diagram-design.git
# already have the repo? check out this version:
$ git checkout commits-2026-08-11
└──▷ TRY IT
Verify that a Draw.io import was extracted and redrawn correctly before merging a diagram update.
$ python3 scripts/verify-drawio-import.py
Run adversarial Sankey geometric contract tests to confirm the checker fires on ribbon narrowing, node volume loss, and label/bar mismatches.
$ python3 scripts/test-verify-sankey.py
  • Adds the /diagram-design:import workflow to redraw Draw.io files (raw, compressed, PNG-embedded, and SVG-embedded) at a chosen format, size, and detail level into the project design system.
  • Adds verify-drawio-import.py to verify Draw.io import correctness; invoke with python3 scripts/verify-drawio-import.py.
  • Adds verify-beeswarm.py to enforce nine geometric invariants on beeswarm diagrams (shared value scale, no overprint, and seven additional contracts).
  • Adds lint-render.py to lint diagram examples as rendered in headless Chromium, catching clipped SVG viewports, collapsed SVGs, page overflow, and runtime errors that source-level linting cannot detect.
  • Adds test-verify-sankey.py with adversarial fixtures covering both polarities of the Sankey geometric contract (ribbons, node volume, stage monotonicity, label/bar agreement, and dark/light variant parity).
+7 moreshow less
  • Adds named client profiles (PR #61).
  • Adds automatic plugin updates via native marketplaces with a version gate.
  • Ships ten editorial diagram types in one release, including a treemap (part-of-whole by area), a dumbbell Bar variant, and a slopegraph line variant for change between two states.
  • Adds native Pi package support for compatibility with the Pi platform.
  • Adds native Droid plugin packaging via the factory.
  • Adds a pre-draw checkpoint, docs-sync gate, packaged self-check, and ADRs to the skill module.
  • Adds a GitHub Actions CI workflow (.github/workflows/ci.yml) with a multi-OS matrix (Linux, Windows, macOS), automated visual artifact packaging and upload on linter failures, and a GitHub Step Summary table for matrix run results.
Was this useful?

The Open Engine Zeroshot

Sources Release notes → 1 RELEASE · 2026-08-29 NOTES

Independent executor–verifier orchestration for software changes.

Zeroshot's only release this window adds keyed connection contracts along with a CLI surface for managing them.

└──▷ WHAT SHIPPED · 1 FEATUREmost completely described first
what's the number?

Each feature carries 0–100 for how completely the vendor documented it — not how big or important the work is. A major capability described in eight words scores low, and that is the finding.

  • depth0–40what it does and how it works or what changed
  • specificity0–30names real surfaces — APIs, flags, formats, limits, numbers
  • actionability0–30enough to go use it — a named endpoint, flag, or config key tops this; a UI path is a starting point

Code and config rank first by construction: a documented endpoint, flag or config key scores at the top of specificity and actionability, so it sorts above a feature described only in prose. Under 60 the notes go thin — everything below the “thinner coverage” line is thinner documentation, not smaller work. Hover any meter for that feature's three sub-scores.

thinner coverage below
01
Keyed connection contracts and CLINEW30

Adds keyed connection contracts and an accompanying CLI for managing them.

— No command names, flags, or mechanism given beyond a brief description.v6.46.0
Was this useful?

OpenAI Codex CLI

Sources Release notes →Source code → 6 RELEASES · 2026-08-28 → 2026-08-30 NOTES CODE

Lightweight coding agent that runs in your terminal

OpenAI Codex CLI shipped model-driven clock tools with configurable sleep-tool gating, reworked shell-command execution (including a breaking change to one-shot exec mode), and a string of MCP, plugin-catalog, and rollout-storage improvements across six releases this window.

└──▷ WHAT SHIPPED · 22 FEATURESmost completely described first
what's the number?

Each feature carries 0–100 for how completely the vendor documented it — not how big or important the work is. A major capability described in eight words scores low, and that is the finding.

  • depth0–40what it does and how it works or what changed
  • specificity0–30names real surfaces — APIs, flags, formats, limits, numbers
  • actionability0–30enough to go use it — a named endpoint, flag, or config key tops this; a UI path is a starting point

Code and config rank first by construction: a documented endpoint, flag or config key scores at the top of specificity and actionability, so it sorts above a feature described only in prose. Under 60 the notes go thin — everything below the “thinner coverage” line is thinner documentation, not smaller work. Hover any meter for that feature's three sub-scores.

01
Clock tools and configurable sleep-tool gatingNEW88

Adds clock.curr_time and clock.sleep tools automatically when a model lists clock in its experimental_supported_tools metadata, with the separate current_time_reminder feature controlling current-time reminder injection. Adds a features.sleep_tool config key with model_driven and always_on modes to independently gate registration of the built-in sleep tool.

Force the sleep tool on regardless of model metadata, useful when automating workflows that need deliberate pauses.
yaml
features:
  sleep_tool:
    mode: always_on
— Names config key, modes and metadata field, with a working config examplerust-v0.152.0-alpha.4rust-v0.151.0-alpha.7.2rust-v0.152.0-alpha.1
02
One-shot exec_command timeout and removed legacy parametersBREAKING80

Preserves exec_command in completion-only (one-shot) mode when unified_exec is disabled, adding a timeout_ms argument that terminates timed-out commands with exit code 124. Removes tty, yield_time_ms, session_id, and write_stdin from one-shot exec mode when unified_exec is disabled.

— Breaking parameter removal fully enumerated with exit code behaviorrust-v0.151.0-alpha.7.2
03
Configurable timeout for thread/shellCommandNEW78

Adds an optional timeoutMs parameter to thread/shellCommand to set per-command deadlines; defaults to one hour when omitted or null, treats 0 as an immediate timeout, and rejects negative values. Also adds general support for configurable timeouts on thread shell commands.

— Named endpoint with exact default and edge-case valuesrust-v0.152.0-alpha.1rust-v0.151.0-alpha.11
04
Compression for shared rollout lineagesNEW65

Adds an opt-in local_thread_store_shared_compression feature flag to enable zstd compression for shared rollout lineages, including referenced sources and fork pointers.

— Named flag and compression scheme, no enable command shownrust-v0.152.0-alpha.1rust-v0.151.0-alpha.12
05
CODEX_HOME disk usage metricsNEW60

Records codex.app_server.codex_home.size_bytes metrics for the CODEX_HOME, sessions, and archived_sessions subdirectories at app-server startup.

— Named metric and directories, no dashboard access detailrust-v0.151.0-alpha.12rust-v0.151.0-alpha.11
thinner coverage below
06
Guardian context rollover for follow-up reviewsIMPROVED53

Guardian context rolls over before follow-up reviews to handle exhausted context windows, replaying the full transcript and image evidence after compaction.

— Mechanism explained, no config or command givenrust-v0.152.0-alpha.4
07
Per-repository plugin catalog mergingIMPROVED48

Plugin catalogs now merge per-repository configuration with global settings and surface invalid project marketplace entries without suppressing valid plugins.

— Behavior detailed but no config key namedrust-v0.151.0
08
Extension interception of MCP tool resultsNEW45

Enables extensions to inspect or replace MCP tool results before they reach the model, allowing middleware-style transformation of tool output.

— Mechanism explained but no API surface namedrust-v0.151.0
09
MCP server startup grace periodNEW42

Adds a configurable grace period for discovering tools from optional MCP servers at startup, preventing slow servers from blocking the agent.

— Mechanism described but no config name givenrust-v0.151.0
10
Windows-specific guidance in exec_command descriptionIMPROVED35

Adapts the exec_command tool description to include Windows-specific safety guidance when the executor platform is Windows, and omits it for non-Windows executors.

— Thin description-only change with no guidance text shownrust-v0.151.0-alpha.11
11
Per-tool MCP output limitsNEW35

Adds support for per-tool MCP output limits, letting operators cap how much output individual MCP tools can return.

12
Executor hook improvements for interrupted turns and app targetsIMPROVED35

Executor hooks now run for interrupted turns, and executor plugin hooks support app targets.

— Two thin executor-hook additions with no config namesrust-v0.152.0-alpha.4rust-v0.152.0-alpha.1
13
App-server notification media filteringNEW32

Adds app-server notification media filtering to suppress media from function call output notifications.

— Named notification type but no config flag givenrust-v0.152.0-alpha.1
14
Elicitation form supportNEW30

Adds support for openai/elicitation form requests in the agent runtime.

— Named request type but no usage detailrust-v0.152.0-alpha.4rust-v0.152.0-alpha.1
15
Terminal query response for TTY subprocessesIMPROVED30

Responds to terminal queries from TTY subprocesses, improving compatibility with interactive tools run inside the agent.

— Behavior described, no protocol specificsrust-v0.151.0-alpha.12
16
Restricted cloud task credentials to trusted originsIMPROVED30

Restricts cloud task credentials to trusted origins, narrowing the credential exposure surface.

— Security scope narrowed, no origin list givenrust-v0.151.0-alpha.12
17
History note images forwarded to modelIMPROVED28

History notes images are now forwarded to the model, providing multimodal context from prior notes during a session.

— One-line description with no further scoperust-v0.152.0-alpha.4rust-v0.152.0-alpha.1
18
Vim search motions in TUI composerNEW28

Adds Vim search motions to the TUI composer.

— Named capability but no keybinding detailrust-v0.152.0-alpha.4
19
Plugin recommendation preloading at startupIMPROVED28

Preloads plugin recommendations during session startup for faster availability.

— Bare performance statementrust-v0.152.0-alpha.1
20
PowerShell version in environment contextNEW27

Exposes the PowerShell version in environment context for Windows sessions.

— Bare exposure with no consumption detailrust-v0.152.0-alpha.1
21
Subagents follow root service tierIMPROVED26

Subagents now follow the root service tier for consistent resource usage.

— Bare statement of behavior changerust-v0.152.0-alpha.4rust-v0.152.0-alpha.1
22
MCP HTTP helper header refresh after auth failureIMPROVED25

MCP HTTP helper headers are refreshed after authorization failures.

— Bare statement with no mechanism detailrust-v0.152.0-alpha.4
└──▷ BREAKING ON UPGRADE
  • !tty, yield_time_ms, session_id, and write_stdin are removed from exec_command when operating in completion-only mode with unified_exec disabled.
Was this useful?

Amazon Kiro

Sources Changelog → 1 RELEASE · 2026-08-30 CHANGELOG

Kiro's latest release focuses on full-screen spec execution with real-time progress tracking, alongside smaller reliability and compatibility improvements.

└──▷ WHAT SHIPPED · 2 FEATURESmost completely described first
what's the number?

Each feature carries 0–100 for how completely the vendor documented it — not how big or important the work is. A major capability described in eight words scores low, and that is the finding.

  • depth0–40what it does and how it works or what changed
  • specificity0–30names real surfaces — APIs, flags, formats, limits, numbers
  • actionability0–30enough to go use it — a named endpoint, flag, or config key tops this; a UI path is a starting point

Code and config rank first by construction: a documented endpoint, flag or config key scores at the top of specificity and actionability, so it sorts above a feature described only in prose. Under 60 the notes go thin — everything below the “thinner coverage” line is thinner documentation, not smaller work. Hover any meter for that feature's three sub-scores.

thinner coverage below
01
Network resilience for agent turnsIMPROVED25

Agent turns keep running when the network briefly drops, avoiding interruption of in-progress work.

— Describes behaviour but no mechanism or configuration.changelog-20260830-1c861324
02
Preserve scrollback toggleNEW21

Adds a 'Preserve scrollback' toggle, per the changelog summary.

— Only a name given, no mechanism or location.changelog-20260830-1c861324
Was this useful?

DeepSeek Harness

Sources Commits → 1 RELEASE · 2026-08-30 CODE

DeepSeek Harness: Everything is a Plugin.

DeepSeek Harness adds visibility into schedules and reminders within session views, reworks turn stats and layout in the chat UI, and speeds up CI by partitioning test coverage by file duration.

└──▷ WHAT SHIPPED · 3 FEATURESmost completely described first
what's the number?

Each feature carries 0–100 for how completely the vendor documented it — not how big or important the work is. A major capability described in eight words scores low, and that is the finding.

  • depth0–40what it does and how it works or what changed
  • specificity0–30names real surfaces — APIs, flags, formats, limits, numbers
  • actionability0–30enough to go use it — a named endpoint, flag, or config key tops this; a UI path is a starting point

Code and config rank first by construction: a documented endpoint, flag or config key scores at the top of specificity and actionability, so it sorts above a feature described only in prose. Under 60 the notes go thin — everything below the “thinner coverage” line is thinner documentation, not smaller work. Hover any meter for that feature's three sub-scores.

thinner coverage below
01
Redesigned turn stats and tail in chat UIIMPROVED50

The chat UI now collapses the turn tail into a single clickable meta line, splits turn stats into separate usage and time pills that each open a detail dialog, and reshapes the usage trigger as an icon-row pill.

— Describes concrete UI elements and interactions, but no exact path.dsh-v0.1.2-alpha.2
02
CI test partitioning by file durationIMPROVED45

CI coverage partitions are now assigned by recorded file duration, enabling faster targeted test runs.

— Explains mechanism but gives no command or config to invoke it.dsh-v0.1.2-alpha.2
03
Schedules and reminders in session viewsNEW35

The web UI now surfaces active schedules in session views and lists active reminders in the session header, giving visibility into upcoming triggers directly from the session view.

— Names the UI areas but no exact navigation or config.dsh-v0.1.2-alpha.2
Was this useful?
◆  AI Agent Frameworks

Agno (formerly Phidata)

Sources Release notes → 1 RELEASE · 2026-08-30 NOTES

Build, run, and manage agent platforms.

Agno v3.0.2 adds four new integrations (Synthorai, WaveSpeed, Serply, AtomicMail), expands MCP tool publishing to agents, teams, workflows and toolkits, and reworks reasoning-model detection alongside several breaking changes to metadata handling, MCPConfig validation and BaseRemote.

└──▷ WHAT SHIPPED · 12 FEATURESmost completely described first
what's the number?

Each feature carries 0–100 for how completely the vendor documented it — not how big or important the work is. A major capability described in eight words scores low, and that is the finding.

  • depth0–40what it does and how it works or what changed
  • specificity0–30names real surfaces — APIs, flags, formats, limits, numbers
  • actionability0–30enough to go use it — a named endpoint, flag, or config key tops this; a UI path is a starting point

Code and config rank first by construction: a documented endpoint, flag or config key scores at the top of specificity and actionability, so it sorts above a feature described only in prose. Under 60 the notes go thin — everything below the “thinner coverage” line is thinner documentation, not smaller work. Hover any meter for that feature's three sub-scores.

01
WaveSpeed image and video generation toolNEW90

Adds WaveSpeedTools (pip install agno[wavespeed], key from WAVESPEED_API_KEY) with generate_image and generate_video methods that accept a text prompt, poll within poll_interval and timeout, and return ToolResult carrying Image/Video artifacts.

Add WaveSpeed image generation to an agent for text-to-image workflows in a script or notebook.
python
from agno.agent import Agent
from agno.tools.wavespeed import WaveSpeedTools

agent = Agent(
    tools=[WaveSpeedTools(poll_interval=2, timeout=60)],
    markdown=True,
)
agent.print_response("Generate an image of a futuristic city at night", stream=True)
— Full runnable example with named params and return typev3.0.2
02
AtomicMail inbox management toolNEW90

Adds AtomicMailTools with register_inbox, send_email, and list_inbox over JMAP; register_inbox provisions a new inbox via proof-of-work signup, with credentials cached to ~/.atomicmail/credentials.json and pow_timeout (default 300s) capping the solve.

Give an agent its own disposable inbox for automated email tasks — inbox is provisioned once and reused from ~/.atomicmail/credentials.json.
python
from agno.agent import Agent
from agno.tools.atomicmail import AtomicMailTools

agent = Agent(
    tools=[AtomicMailTools(pow_timeout=300)],
    markdown=True,
)
agent.print_response("Register me an inbox, then check for any new messages.", stream=True)
— Named methods, cache path, default and runnable examplev3.0.2
03
MCP tool publishing for agents, teams, workflows and toolkitsNEW90

MCPConfig.tools now publishes Agent, Team, Workflow instances, remote proxies, and component factories as named MCP tools, with component.as_tool(name=..., description=...) controlling the published name; it also publishes Toolkit instances as one MCP tool per registered method, filtered by enable_*/include_tools/exclude_tools, with ToolResult rendered as MCP content blocks including text, image, audio, embedded resource, and resource_link. as_tool() and @tool/Function also gained title and annotations parameters published over MCP, with unknown annotation keys raising at construction.

— Names all config keys and filters but no runnable samplev3.0.2
04
Context provider query timeouts and write tool overridesIMPROVED80

Adds query_timeout to every context provider, applying a wall-clock deadline to each query_<id> tool call (requires Python 3.11+), and adds write_tools to the five write-capable providers to replace the default write sub-agent toolset.

— Named parameters and behavior, no code samplev3.0.2
05
Reasoning detection reworked with provider-first checksBREAKING80

Adds sync, async, and streaming reasoning handlers to MoonShot (Kimi) reading reasoning_content, and routes OpenRouter through the OpenAI reasoning path. Native reasoning detection now queries the provider first before falling back to model-id matching, cached on the reasoning manager with a 10-second timeout on the Ollama, OpenRouter, and Moonshot paths; as a result a Gemini or Claude model configured for thinking may now be classified as non-reasoning when the provider reports thinking unsupported, id-based fallbacks changed so gpt-5 variants match on OpenAI and Azure OpenAI, Groq and Ollama match gpt-oss and qwen3, and qwen2.5-coder on Ollama is no longer treated as a reasoning model.

— Detailed mechanism and before/after but no direct actionv3.0.2
06
Synthorai model providerNEW75

Adds Synthorai model provider (agno.models.synthorai) reading SYNTHORAI_API_KEY, defaulting to https://synthorai.io/v1; resolves model='synthorai:<model-id>' strings via the provider lookup table.

— Named env var and model string format, no examplev3.0.2
07
Serply web, news and scholar search toolNEW75

Adds SerplyTools for Google web, News, and Scholar search via the Serply API, reading SERPLY_API_KEY; web search is on by default, with search_news, search_scholar, and all=True enabling additional surfaces.

— Named methods and flags, no runnable examplev3.0.2
08
Headless Google OAuth supportNEW75

Google toolkits accept AuthConfig(interactive=False) or the env var GOOGLE_OAUTH_NONINTERACTIVE=1 to raise instead of blocking on a browser flow.

— Exact config option and env var givenv3.0.2
09
Schedule listing improvements in ScheduleManagerIMPROVED70

Adds ScheduleManager.list_all() and alist_all() to page the full schedule catalog, backed by a new raise_on_error argument on get_schedules; listings now break created_at ties by id.

— Named methods and argument, no usage examplev3.0.2
10
Metadata precedence change on Agent, Team, WorkflowBREAKING65

metadata precedence on Agent, Team, and Workflow changed: a metadata= passed to run() now wins over the component-level metadata; code that read agent.metadata after a run to observe session values now sees only the constructor value.

— Clear before/after but no migration example givenv3.0.2
11
MCPConfig strict keyword validationBREAKING60

MCPConfig/MCPServerConfig now raise on unrecognised keyword arguments at construction instead of silently ignoring them, so a typo like tool= will fail at boot.

— Named classes and example typo, no migration stepsv3.0.2
12
BaseRemote.acancel_run requires auth_tokenBREAKING60

BaseRemote.acancel_run gained a required auth_token keyword parameter; third-party BaseRemote subclasses must accept it.

— Names exact method and parameter, minimal elaborationv3.0.2
└──▷ BREAKING ON UPGRADE
  • !MCPConfig/MCPServerConfig now raise on unrecognised keyword arguments at construction instead of silently ignoring them (e.g. a typo like tool= will fail at boot).
  • !BaseRemote.acancel_run gained a required auth_token keyword parameter; third-party BaseRemote subclasses must accept it.
  • !metadata precedence on Agent, Team, and Workflow changed: a metadata= passed to run() now wins over the component-level metadata; code that read agent.metadata after a run to observe session values now sees only the constructor value.
  • !Reasoning detection now queries the provider via a blocking HTTP call before model-id matching; a Gemini or Claude model configured for thinking may now be classified as non-reasoning when the provider reports thinking unsupported. Id-based fallbacks also changed: gpt-5 variants match on OpenAI and Azure OpenAI, Groq and Ollama match gpt-oss and qwen3, and qwen2.5-coder on Ollama is no longer treated as a reasoning model.
Was this useful?

PydanticAI

Sources Release notes → 1 RELEASE · 2026-08-29 NOTES

How Python does AI: agents, realtime voice, image generation, embeddings. Every model, every interface, typed end to end.

PydanticAI v2.36.0 adds durable execution support via a new decorator, stable IDs for instruction parts, async-iterable audio streaming for realtime voice sessions, and CLI improvements to clai.

└──▷ WHAT SHIPPED · 4 FEATURESmost completely described first
what's the number?

Each feature carries 0–100 for how completely the vendor documented it — not how big or important the work is. A major capability described in eight words scores low, and that is the finding.

  • depth0–40what it does and how it works or what changed
  • specificity0–30names real surfaces — APIs, flags, formats, limits, numbers
  • actionability0–30enough to go use it — a named endpoint, flag, or config key tops this; a UI path is a starting point

Code and config rank first by construction: a documented endpoint, flag or config key scores at the top of specificity and actionability, so it sorts above a feature described only in prose. Under 60 the notes go thin — everything below the “thinner coverage” line is thinner documentation, not smaller work. Hover any meter for that feature's three sub-scores.

01
Async-iterable audio input for realtime sessionsIMPROVED75

RealtimeSession.send_audio() now accepts async iterables, enabling streaming microphone input from async generators rather than only discrete chunks.

Stream audio from an async generator directly into a realtime voice session instead of pushing discrete chunks.
python
async def mic_chunks():
    async for chunk in microphone_stream():
        yield chunk

async with agent.realtime('openai:gpt-realtime-2.1').session() as session:
    await session.send_audio(mic_chunks())
— Named method with a runnable code examplev2.36.0
02
`@durable_operation` decorator for durable executionNEW65

Introduces the @durable_operation decorator, which requires an explicit operation name, plus a public backend API for integrating third-party durable execution engines.

— Decorator and API named but no code examplev2.36.0
03
CLI improvements to `clai`NEW62

Adds the --mcp-config flag to the clai CLI, enabling MCP server configuration from the command line, and adds tool-call streaming support to clai.

— Flag named but no example command shownv2.36.0
thinner coverage below
04
Stable `InstructionPart.id` fieldNEW50

InstructionPart now has a stable InstructionPart.id field, making instruction parts addressable and stable across runs.

— Field named, no usage example givenv2.36.0
Was this useful?
◆  AI/LLM Security

ai-safe2-framework

Sources Release notes → 1 RELEASE · 2026-08-29 NOTES

The Universal Governance, Risk, Compliance (GRC) Operating System with Integrated Security for Agentic AI, Non-Human Identities, and Swarm Governance. AI SAFE² + AI Sovereignty Maturity Model (AISM), NEXUS-A2A Protocol, FORGE-Act, Marshal Plan for AI [Dual License: MIT + CC-BY-SA]

AI SAFE² v3.1 introduces machine-readable manifest and dataset entry points for agents, expands the CP.5.MCP profile to 19 controls with six new additions, and re-anchors five existing controls from protocol session state to framework-owned governance state so they survive protocol changes such as MCP 2026-07-28.

└──▷ WHAT SHIPPED · 9 FEATURESmost completely described first
what's the number?

Each feature carries 0–100 for how completely the vendor documented it — not how big or important the work is. A major capability described in eight words scores low, and that is the finding.

  • depth0–40what it does and how it works or what changed
  • specificity0–30names real surfaces — APIs, flags, formats, limits, numbers
  • actionability0–30enough to go use it — a named endpoint, flag, or config key tops this; a UI path is a starting point

Code and config rank first by construction: a documented endpoint, flag or config key scores at the top of specificity and actionability, so it sorts above a feature described only in prose. Under 60 the notes go thin — everything below the “thinner coverage” line is thinner documentation, not smaller work. Hover any meter for that feature's three sub-scores.

01
Machine-readable manifest and MCP dataset entry pointsNEW78

Adds ai-safe2.manifest.json and AGENTS.md as first-class machine entry points, exposing framework version, component versions, normative paths, control counts, enforcement planes, persistence vocabulary, and conformance boundaries so agents and compliance bots can consume the framework without scraping prose. Also adds skills/mcp/data/mcp-profile-v3.1.json, a machine-readable MCP profile covering all 19 CP.5.MCP controls, and skills/mcp/data/ai-safe2-controls-v3.0.json, the 161-control core dataset for automated consumption.

— Names exact files and their contents but no usage walkthroughv3.1
02
Six new CP.5.MCP controls, profile reaches 19NEW75

Adds MCP-14 (Extension Capability Negotiation), MCP-15 (Header and Body Assertion Integrity), MCP-16 (State Handle Binding and Lifecycle), MCP-17 (MRTR Round-Trip Integrity and Replay Resistance), MCP-18 (Catalog Cache Integrity and Provenance Revalidation), and MCP-19 (Authorization Chain Integrity, intended-resource/audience binding, and SSRF boundaries), bringing the CP.5.MCP profile to 19 controls. MCP-19 carries an explicit conformance boundary: a deployment must evidence intended-resource, audience, or equivalent binding before protected dispatch, and opaque bearer-token possession alone does not satisfy the control.

— Names all six controls and a boundary rule, no runnable examplev3.1
03
Re-anchoring of five MCP controls to governance stateBREAKING70

Re-anchors MCP-4, MCP-7, MCP-8, MCP-11, and MCP-13 from protocol session state to framework-owned governance state (verified principals, capability grants, provenance baselines, delegation chains, governed state handles) so controls survive protocol changes such as MCP 2026-07-28. Implementations that previously anchored these controls to MCP session constructs must be re-implemented against the new bindings.

— Explains mechanism and before/after but no migration steps givenv3.1
04
MCP 2026-07-28 primary binding with legacy windowNEW65

Adds MCP 2026-07-28 as the primary binding for CP.5.MCP, with a twelve-month legacy compatibility window for MCP 2025-11-25; server/discover is optional under the primary binding and its absence is not treated as a scanner failure.

— Names exact protocol versions and an optional endpointv3.1
thinner coverage below
05
Protocol-independent persistence vocabularyNEW55

Formalizes a protocol-independent persistence vocabulary with four canonical values — request, handle_scoped, durable, and swarm_shared — replacing protocol-owned session language at the governance boundary.

— Names the four values but no usage instructionsv3.1
06
Three enforcement planes for control coverageNEW55

Establishes three explicit enforcement planes — north-south (agent to model provider), east-west (agent to agent), and agent-to-tool (agent to MCP server or tool) — with the rule that a successful control result on one plane does not automatically establish coverage on another.

— Defines the model clearly but no application stepsv3.1
07
Challenge Lab scoped by enforcement planeIMPROVED50

Scopes the Challenge Lab by enforcement plane — maturity, framework/profile conformance, the plane exercised, and required evidence — adding v3.1 MCP cases covering header/body desynchronization, catalog/schema drift, replay, audience/resource confusion, endpoint impersonation, SSRF, and legacy state-handle misuse.

— Lists new test cases but no example run or commandv3.1
08
Scanner rule registry expanded to 64 rulesIMPROVED45

Expands the scanner rule registry to 64 rules by adding 12 new grouped CP.5.MCP v3.1 rules covering the new and re-anchored MCP controls.

— Gives a count and scope but no rule names or commandsv3.1
09
Agent Discovery and Manifest Integrity CI gateNEW40

Adds a dedicated CI gate that verifies manifest claims against the repository, failing on incorrect claims and broken paths.

— States purpose but no gate name, command, or config shownv3.1
└──▷ BREAKING ON UPGRADE
  • !Controls MCP-4, MCP-7, MCP-8, MCP-11, and MCP-13 now bind to framework-owned governance state rather than protocol session state; implementations that anchored those controls to MCP session constructs must be re-implemented against the new bindings.
Was this useful?

Doberman-Core

Sources Release notes → 5 RELEASES · 2026-08-07 → 2026-08-30 NOTES

Your AI's guard dog. Doberman sits at runtime, gating every input, output and tool call to stop unsafe or unintended actions before they execute.

Doberman-Core shipped a RAND-aligned guardrail rehaul, a five-minute approval memory with soft-confirm re-prompts, and a device-wide uninstall --global path, alongside new CLI controls for egress thresholds, decision-log pruning, telemetry defaults, and machine-readable JSON output across core commands.

└──▷ WHAT SHIPPED · 22 FEATURESmost completely described first
what's the number?

Each feature carries 0–100 for how completely the vendor documented it — not how big or important the work is. A major capability described in eight words scores low, and that is the finding.

  • depth0–40what it does and how it works or what changed
  • specificity0–30names real surfaces — APIs, flags, formats, limits, numbers
  • actionability0–30enough to go use it — a named endpoint, flag, or config key tops this; a UI path is a starting point

Code and config rank first by construction: a documented endpoint, flag or config key scores at the top of specificity and actionability, so it sorts above a feature described only in prose. Under 60 the notes go thin — everything below the “thinner coverage” line is thinner documentation, not smaller work. Hover any meter for that feature's three sub-scores.

01
Global uninstall and device exclusion listNEW95

doberman uninstall --global performs a device-wide removal of Claude Code and Codex hooks, project state, possession factors, the fingerprint key, and device state before removing the package via pip or pipx; --yes skips the typed DOBERMAN confirmation, --dry-run changes nothing, and --keep-package preserves the package. It writes a device-wide ~/.doberman/excluded_projects.json exclusion list so excluded projects become true no-ops (cleared by running doberman install-hooks in that project), and doberman status now reports whether the current project is in this exclusion list.

Completely remove Doberman from a machine (hooks, state, keys, and package) in a single command, skipping only the typed confirmation.
$ doberman uninstall --global --yes
— All flags, config path and clearing mechanism named.v0.18.4
02
Telemetry opt-in/opt-out controlsIMPROVED95

doberman telemetry on|off|status (v0.18.2) added opt-in anonymous CLI telemetry, off by default, limited to allowlisted counts and command names and never on the per-tool hook or proxy hot path. In v0.18.4 telemetry switched to on-by-default (opt-out): the same five allowlisted events are sent unless disabled via doberman telemetry off, DO_NOT_TRACK, DOBERMAN_TELEMETRY=0, or the CI environment variable; doberman setup prompts with a default of Yes, and the first CLI command prints a one-line notice to stderr before anything is sent.

Opt out of telemetry via environment variable in CI pipelines or per-session shells where you cannot run a subcommand.
$ export DOBERMAN_TELEMETRY=0
Check or toggle anonymous telemetry reporting before deploying Doberman in a shared environment.
$ doberman telemetry status
doberman telemetry on
doberman telemetry off
— Subcommand, env vars and default-change fully specified.v0.18.4v0.18.2
03
JSON/JSONL output for CLI commandsIMPROVED90

--json and --jsonl flags on scan, doctor, policy-history, and log emit machine-readable output with an explicit allowlist of already-redacted columns so future schema additions cannot leak into streams by default; tune gained a matching --json flag producing compact JSON (separators=(',', ':')) per the contract documented in docs/CLI.md.

Stream continuous log output in newline-delimited JSON into a SIEM or log aggregator.
$ doberman log --jsonl >> /var/log/doberman/decisions.jsonl
— All commands, flags and redaction allowlist named with runnable example.v0.18.5v0.17.1
04
`doberman update` version-check commandNEW88

doberman update runs a timeout-bounded PyPI version check and prints the exact pip install -U upgrade command without installing anything; it is disabled under DO_NOT_TRACK, CI, or DOBERMAN_UPDATE_CHECK=off.

Check whether Doberman itself is up to date and get the exact pip command to upgrade, without running the upgrade automatically.
$ doberman update
— Command, exact disable env vars and output all named.v0.18.5
05
Expanded `doberman doctor` checksIMPROVED88

doberman doctor gained a Password row (OK when a password factor is enrolled, otherwise a non-critical WARN with a doberman password set hint), Dash extra and TUI extra rows reporting whether starlette/textual are installed with pip install 'doberman[dash]'/[tui] hints, and a critical Hook command check that fails and names a fix when hooks reference a doberman binary not on PATH, instructing the user to restore the binary or run doberman uninstall-hooks.

— Every doctor row and its exact hint text named.v0.18.5v0.18.4
06
Five-minute approval memory and `approvals` subcommandsNEW88

Introduces a five-minute, HMAC-keyed approval memory: a repeat of an exact previously approved action re-prompts at a one-click soft_confirm instead of the full ladder, and soft confirms never chain; it never downgrades destructive/critical/excluded/tainted-session actions. doberman approvals status|clear|ttl exposes bounded human controls over this memory.

— Subcommands, TTL scope and safety exclusions named.v0.18.4
07
Egress-velocity threshold CLINEW85

doberman egress-velocity [KNOB] [VALUE] shows or sets the burst, volume-bytes, and fanout detection thresholds directly from the CLI, with approval gating and policy-ledger recording whenever a threshold is increased.

Tighten fanout detection live without hand-editing the policy file — the change is gated, ledgered, and effective immediately.
$ doberman egress-velocity fanout 10
— Command, named knobs and gating mechanism all specified.v0.18.5
08
`demo --quiet` CI smoke-test modeNEW80

doberman demo --quiet suppresses banners, narration, and hints, keeping only the summary line/table and exit code, so demo can run as a CI smoke test without polluting build logs.

Run the demo engine as a silent CI smoke test — exits non-zero on mismatch, no log noise on success.
$ doberman demo --quiet
— Exact flag and CI use case with runnable command.v0.18.4
09
Decision-log pruning commandNEW75

doberman decision-log-prune deletes resolved decision-log rows by age and/or a retained-row budget, without touching pending AUTH challenges or the policy-change ledger; mediated agents cannot invoke it via the shell. Eligibility was expanded to cover any AUTH row with a recorded outcome (approval method, denied, blocked, error, executed), not only the original three literal values.

— Command and eligibility rules named, no runnable example given.v0.18.5
10
`install-hooks --dry-run` preview flagNEW75

Adds --dry-run to install-hooks that previews the exact SessionStart command the installer writes, derived from the same DASHBOARD_COMMAND constant used by the actual write path.

— Flag and underlying constant named, no worked example.v0.18.5
11
Dashboard UI polish: copy action, faster refresh, brandingIMPROVED70

Adds a Copy details action to each pending approval card that copies redacted fields as formatted JSON; the stats strip now triggers an immediate trailing-debounced 150 ms refresh when a decision lands in the live feed (5 s interval kept as fallback); and the dashboard header renders the real Doberman mark as an embedded PNG data URI instead of a placeholder, keeping doberman dash a single self-contained page.

— Three UI changes named with exact numbers, no CLI action.v0.18.5
12
`2fa reset-lockout` subcommandNEW65

doberman 2fa reset-lockout resets TOTP lockout state, letting a locked-out user re-enroll without destroying their seed.

Reset a locked-out user's TOTP second-factor without destroying their seed, so they can re-enroll immediately.
$ doberman 2fa reset-lockout
— Exact command named, thin description of underlying scope.v0.18.0
13
Fail-closed secret detector self-checkIMPROVED60

The secret detector now verifies its own invariants at import and degrades to a fail-closed AUTH verdict if they are ever broken, preventing both silent secret leakage and tool mediation being bricked.

— Mechanism and failure mode named, no config knob given.v0.18.2
14
`dashboard` renamed to `session-summary`IMPROVED60

Renames doberman dashboard to doberman session-summary; the old name is retained as a hidden permanent alias so existing SessionStart hooks continue to work.

— Old and new command names given, no further detail.v0.17.1
15
CLI and reason-code documentationNEW60

Adds docs/CLI.md and docs/REASON_CODES.md, cataloguing all 51 ReasonCode values and the condition that fires each one.

— Exact doc files and count of codes named.v0.17.1
thinner coverage below
16
`taint clear` subcommandNEW55

doberman taint clear clears taint records, e.g. removing entries that are blocking a pipeline after a false-positive secret detection.

Remove taint records that are blocking a pipeline after a false-positive secret detection.
$ doberman taint clear
— Command named but taint mechanism itself unexplained.v0.18.0
17
RAND-aligned guardrail rehaulNEW55

Introduces a RAND-aligned guardrail rehaul including a session correlator, an opt-in least-privilege default role, subjective-memory governance, and an egress task-match leg.

— Four named components, no mechanism or config detail given.v0.18.0
18
`doberman status` visibility additionsIMPROVED55

doberman status now surfaces auth challenges auto-denied in the last 24 hours, and shows a passive 'new version available' nudge when a newer PyPI version is cached (24 h cache), on the same opt-out controls as doberman update.

— Two status additions named with cache window specified.v0.18.5v0.17.1
19
Per-PR changelog fragment filesIMPROVED50

Changelog fragments now use per-PR files at changelog.d/<PR-number>.md, compiled by release tooling to eliminate merge conflicts on parallel pull requests.

— Internal process change, not directly reader-actionable.v0.18.5
20
Auth-challenge deadline displayIMPROVED50

Every AUTH channel now displays its auto-deny deadline in the TTY prompt, GUI dialog, and dashboard card expiry.

— Three surfaces named, no mechanism detail beyond display.v0.17.1
21
Labeled detection corpus for guardrail tuningNEW40

Ships a labeled detection corpus with per-category FPR/TPR metrics for guardrail tuning.

— Named artifact, no access path or usage steps given.v0.18.0
22
Webhook audit sinkNEW35

Adds WebhookAuditSink for routing audit events to a webhook endpoint.

— Named component only, no config or endpoint format given.v0.18.0
Was this useful?

agent-safe-pipeline

Sources Release notes → 1 RELEASE · 2026-08-15 NOTES

Reference architecture for AI agents that propose actions but cannot authorize them — immutable intent capture, an independent Decionis policy verdict (ALLOW/ESCALATE/BLOCK), verified human approval, and a SafeExecutor that consumes a single-use intent-bound grant.

agent-safe-pipeline's initial v0.1.0 release introduces a reference architecture that lets AI agents propose but never authorize actions, pairing immutable intent capture with an independent policy verdict and human-gated execution.

└──▷ WHAT SHIPPED · 1 FEATUREmost completely described first
what's the number?

Each feature carries 0–100 for how completely the vendor documented it — not how big or important the work is. A major capability described in eight words scores low, and that is the finding.

  • depth0–40what it does and how it works or what changed
  • specificity0–30names real surfaces — APIs, flags, formats, limits, numbers
  • actionability0–30enough to go use it — a named endpoint, flag, or config key tops this; a UI path is a starting point

Code and config rank first by construction: a documented endpoint, flag or config key scores at the top of specificity and actionability, so it sorts above a feature described only in prose. Under 60 the notes go thin — everything below the “thinner coverage” line is thinner documentation, not smaller work. Hover any meter for that feature's three sub-scores.

thinner coverage below
01
Agent-safe execution pipeline with intent capture and policy verdictsNEW53

Introduces an agent-safe execution pipeline for running AI agent workloads in a controlled, inspectable environment: agent intent is captured immutably, an independent Decionis policy engine issues a verdict of ALLOW, ESCALATE, or BLOCK, a human must give verified approval, and a SafeExecutor then carries out the action only by consuming a single-use, intent-bound grant.

— Architecture and stages named but no commands, endpoints, or config givenv0.1.0
Was this useful?

vArmor

Sources Release notes → 1 RELEASE · 2026-08-13 NOTES

vArmor is a cloud-native container hardening system that leverages AppArmor/BPF/Seccomp and NetworkProxy technologies to enforce access control from system calls to application protocols — protecting workloads including AI Agents.

vArmor v0.10.4 focuses on operational hardening: cluster-wide sidecar resource defaults, persistent egress audit logs for micro-VM runtimes, safer iptables backend handling in proxy-init, and a smarter policy-advisor.

└──▷ WHAT SHIPPED · 4 FEATURESmost completely described first
what's the number?

Each feature carries 0–100 for how completely the vendor documented it — not how big or important the work is. A major capability described in eight words scores low, and that is the finding.

  • depth0–40what it does and how it works or what changed
  • specificity0–30names real surfaces — APIs, flags, formats, limits, numbers
  • actionability0–30enough to go use it — a named endpoint, flag, or config key tops this; a UI path is a starting point

Code and config rank first by construction: a documented endpoint, flag or config key scores at the top of specificity and actionability, so it sorts above a feature described only in prose. Under 60 the notes go thin — everything below the “thinner coverage” line is thinner documentation, not smaller work. Hover any meter for that feature's three sub-scores.

01
Cluster-wide default sidecar resourcesNEW75

Adds cluster-wide default sidecar resources configured via the varmor-config ConfigMap, with independent nonMitm/mitm resource tiers that are hot-reloadable without restarting workloads.

— Names ConfigMap and resource tiers but no exact key paths.v0.10.4
02
iptables backend auto-detection in proxy-initBREAKING75

proxy-init now auto-detects the iptables backend (legacy/nft) and aborts with a CONFLICT error instead of silently blackholing traffic when backends conflict. This behavior requires proxyinit:v0.2 or newer; older proxy-init images will not support the new backend detection.

— Names component, image tag, and exact error behavior.v0.10.4
03
Egress audit-log persistence for micro-VM runtimesNEW70

Adds egress audit-log persistence for Kata/micro-VM runtimes (Kata, VCI, ECI) via an in-sidecar ALS sink, with micro-VM detection driven by the varmor-config ConfigMap.

— Names runtimes and mechanism but no config field details.v0.10.4
thinner coverage below
04
Shell-usage detection in policy-advisorIMPROVED40

Enhances policy-advisor to detect shell usage by file extension (e.g. .sh).

— Thin description with only one example extension given.v0.10.4
└──▷ BREAKING ON UPGRADE
  • !Requires proxyinit:v0.2 or newer for iptables backend auto-adaptation; older proxy-init images will not support the new backend detection.
Was this useful?

beelzebub

Sources Release notes → 1 RELEASE · 2026-08-05 NOTES

A secure low code deception runtime framework, leveraging AI for System Virtualization.

Beelzebub v3.9.0 overhauls its plugin system with YAML-based declarations and a new boot-time plugin interface, adds shared schema validation for honeypot configs, and improves the installer for headless deployment.

└──▷ WHAT SHIPPED · 4 FEATURESmost completely described first
what's the number?

Each feature carries 0–100 for how completely the vendor documented it — not how big or important the work is. A major capability described in eight words scores low, and that is the finding.

  • depth0–40what it does and how it works or what changed
  • specificity0–30names real surfaces — APIs, flags, formats, limits, numbers
  • actionability0–30enough to go use it — a named endpoint, flag, or config key tops this; a UI path is a starting point

Code and config rank first by construction: a documented endpoint, flag or config key scores at the top of specificity and actionability, so it sorts above a feature described only in prose. Under 60 the notes go thin — everything below the “thinner coverage” line is thinner documentation, not smaller work. Hover any meter for that feature's three sub-scores.

01
YAML-based plugin declarationsIMPROVED85

Plugin declarations move to configurations/plugins.yaml as the canonical home for plugin registration, replacing programmatic registration. Plugins listed under the plugins: key are installed and compiled into the binary at build time via make start or make docker.

Declare plugins in the new YAML config so make start automatically installs, wires, and compiles them into the binary.
yaml
plugins:
  - source: github.com/your-org/beelzebub-myplugin
  - source: github.com/your-org/[email protected]
— Names exact config file, key, and build commands with a runnable examplev3.9.0
02
Shared JSON Schema validation for honeypot configsNEW75

Adds shared JSON Schema validation for honeypot service configurations, enabling beelzebub validate to enforce a common schema across all service definition files.

Run a non-interactive local install and build without starting the runtime, then validate all configs before launching — useful in CI.
$ ./install.sh --local --no-run && beelzebub validate --conf-core ./configurations/beelzebub.yaml --conf-services ./configurations/services/
— Names the validate command with a runnable example including flagsv3.9.0
03
Non-interactive installer flagsIMPROVED75

Improves ./install.sh with new flags --local, --docker, and --no-run for non-interactive and headless deployment workflows, useful in CI.

Run a non-interactive local install and build without starting the runtime, then validate all configs before launching — useful in CI.
$ ./install.sh --local --no-run && beelzebub validate --conf-core ./configurations/beelzebub.yaml --conf-services ./configurations/services/
— Names each flag with a runnable example commandv3.9.0
04
ServicePlugin interface for boot-time pluginsNEW65

Introduces the ServicePlugin interface in pkg/plugin for background plugins that start automatically at runtime boot, alongside the existing CommandPlugin and HTTPPlugin interfaces.

— Names the interface and package but gives no usage examplev3.9.0
Was this useful?
◆  Local LLM Runtimes

vMLX

Sources Release notes → 2 RELEASES · 2026-08-29 → 2026-08-30 NOTES

vMLX - JANGTQ Uber Compressed MLX Models - L2 Disk Cache (survives restart) + L1 Paged (super fast ttft) + Hybrid SSM Scheduler + Cont Batching + etc!

vMLX 1.6.45-46 add full GLM-5.3-Flash support with native Multi-Token Prediction and a typed GLM prompt cache, alongside a broad set of decode-fusion optimizations for the GLM and Qwen model families and new prefix-cache telemetry endpoints.

└──▷ WHAT SHIPPED · 10 FEATURESmost completely described first
what's the number?

Each feature carries 0–100 for how completely the vendor documented it — not how big or important the work is. A major capability described in eight words scores low, and that is the finding.

  • depth0–40what it does and how it works or what changed
  • specificity0–30names real surfaces — APIs, flags, formats, limits, numbers
  • actionability0–30enough to go use it — a named endpoint, flag, or config key tops this; a UI path is a starting point

Code and config rank first by construction: a documented endpoint, flag or config key scores at the top of specificity and actionability, so it sorts above a feature described only in prose. Under 60 the notes go thin — everything below the “thinner coverage” line is thinner documentation, not smaller work. Hover any meter for that feature's three sub-scores.

01
GLM typed prompt cacheNEW70

Adds exact typed GLM native-state prefix caching (GLM typed prompt cache) with metadata validation on live restore, memory-bounded cache snapshots, and cache persistence through native MTP finalization.

— Rich mechanism detail but no exposed flag or config key.v1.6.46
02
Decode fusion and dispatch reduction for GLM and QwenIMPROVED70

Adds source-gated affine MoE pair fusion for hybrid decode, opt-in Qwen3.5 GDN decode fusion with exact gate preparation, and proven Qwen4 affine MoE pair decode with GLM mHC decode fusion. Fuses GLM KDA decode convolutions and state update, GLM mHC decode transform, GLM affine MoE down reduction, and GLM hyper-connection placement for fewer Metal dispatches; fuses Qwen GDN decode convolution state update, Qwen PLE decode convolution, and small-row gated RMSNorm for hybrid decode. Also groups GLM and Qwen4 affine projections and Qwen3.5 GDN decode projections at load time for fewer dispatches, parallelizes Qwen4 PLE decode row reads, and caches completed GLM DSA pool keys to reduce redundant computation.

— Extensive named internals but purely internal performance work, nothing to invoke.v1.6.46
03
Prefix-cache fetch provenance on cache endpointsIMPROVED65

Adds prefix-cache fetch provenance reporting to the /health and /v1/cache/stats endpoints.

— Exact endpoints named, directly callable by a reader.v1.6.45
04
Native MTP for GLM-5.3NEW60

Enables native Multi-Token Prediction (MTP) for GLM-5.3 at the public loader, with quantization mapped onto the attached head and an adaptive MTP depth policy.

— Names mechanism (quantization mapping, adaptive depth) but no direct usage flag.v1.6.46
thinner coverage below
05
GLM-5 family model support and UI integrationNEW55

Adds a GLM-5.3-Flash text runtime with a registry row and text-route, including bundle-stamped parser ID aliases for the GLM-5 family, plus a GLM-5-next family row, parser dropdown entries, and alias canonicalization in the server panel UI.

— Names registry/UI surfaces but no exact selection steps given.v1.6.46
06
Server panel UI enhancementsNEW55

The server panel gains a visual wired-limit recommendation popup at session launch (W0-W2 core), peak benchmark profiles, and engine-owned lifecycle load progress surfaced across every panel view, generation-guarded against stale attempts.

— Clear UI location named but no exact steps or values beyond one code.v1.6.45v1.6.46
07
Engine acceleration status reportingIMPROVED50

Exposes DSV4 indexer acceleration status and separates DSV4 indexer hits from fallbacks in engine reporting, reports observed fused decode paths, and standardizes cross-family acceleration status display.

— Named reporting surfaces but no way for reader to query them directly.v1.6.46
08
GLM DSA sparse indexer for full contextNEW40

Adds a GLM DSA sparse indexer path, unlocking full context for the GLM-5 family of models.

— States the outcome but not how to enable or configure it.v1.6.46
09
Tahoe/macOS 26 default buildBREAKING40

Tahoe/macOS 26 is now the default build; Sequoia is retained as the compatibility build.

— Clear platform note but no migration steps given.v1.6.46
10
MLLM detokenizer stream flush fixIMPROVED30

Flushes final MLLM detokenizer bytes to streams and reconciles terminal MLLM and visible stream suffixes.

— Bare description of an internal fix with no further detail.v1.6.46
Was this useful?

KoboldCpp

Sources Release notes →Source code → 1 RELEASE · 2026-08-29 NOTES CODE

Run GGUF models easily with a KoboldAI UI. One File.

KoboldCpp v1.120 adds a DirectIO model loading mode, expands architecture support to two new model families, and lets Kobold Lite users write custom JavaScript tools compatible with standard tool calling.

└──▷ WHAT SHIPPED · 3 FEATURESmost completely described first
what's the number?

Each feature carries 0–100 for how completely the vendor documented it — not how big or important the work is. A major capability described in eight words scores low, and that is the finding.

  • depth0–40what it does and how it works or what changed
  • specificity0–30names real surfaces — APIs, flags, formats, limits, numbers
  • actionability0–30enough to go use it — a named endpoint, flag, or config key tops this; a UI path is a starting point

Code and config rank first by construction: a documented endpoint, flag or config key scores at the top of specificity and actionability, so it sorts above a feature described only in prose. Under 60 the notes go thin — everything below the “thinner coverage” line is thinner documentation, not smaller work. Hover any meter for that feature's three sub-scores.

01
DirectIO model loading modeNEW80

Adds a --usedirectio flag to enable DirectIO model load mode, bypassing the OS page cache to reduce host memory pressure when loading large models. Also allows mlock and mmap to be combined simultaneously.

Load a large model with DirectIO to bypass OS page cache and reduce memory pressure on the host.
$ ./koboldcpp-linux-x64 --model mymodel.gguf --usedirectio --gpulayers 40
— Named flag plus runnable command with concrete purpose.v1.120
thinner coverage below
02
Custom JS tools in Kobold LiteNEW40

Adds custom, user-configurable JavaScript tools in Kobold Lite that are compatible with standard tool calling.

— Describes capability but no config/UI path given.v1.120
03
Support for Qwen3.8-Flash-Next and Ling-3.0-flashNEW35

Adds support for the Qwen3.8-Flash-Next and Ling-3.0-flash model architectures.

— Names models but no mechanism or usage detail.v1.120
Was this useful?
Other / Uncategorized
◆  AI OBSERVABILITY

LangChain LangSmith

Sources Release page → 1 RELEASE · 2026-08-10 NOTES

LangSmith is a platform for debugging, testing, and monitoring LLM applications built with LangChain.

LangSmith's latest update centers on a new endpoint for testing multi-turn thread evaluators before saving, plus OTEL resource attribute tracing, zstd-by-default bulk export compression, and per-project trace limits.

└──▷ WHAT SHIPPED · 7 FEATURESmost completely described first
what's the number?

Each feature carries 0–100 for how completely the vendor documented it — not how big or important the work is. A major capability described in eight words scores low, and that is the finding.

  • depth0–40what it does and how it works or what changed
  • specificity0–30names real surfaces — APIs, flags, formats, limits, numbers
  • actionability0–30enough to go use it — a named endpoint, flag, or config key tops this; a UI path is a starting point

Code and config rank first by construction: a documented endpoint, flag or config key scores at the top of specificity and actionability, so it sorts above a feature described only in prose. Under 60 the notes go thin — everything below the “thinner coverage” line is thinner documentation, not smaller work. Hover any meter for that feature's three sub-scores.

01
Thread evaluator testing endpointNEW90

Adds test_thread_id and session_id parameters to the /runs/rules/validate endpoint to test multi-turn thread evaluators against a real conversation before saving it, catching mapping or logic errors early.

Test a multi-turn thread evaluator against a real conversation before saving it to catch mapping or logic errors early.
$ curl -X POST 'https://<your-langsmith-host>/runs/rules/validate' \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: <api-key>' \
  -d '{"test_thread_id": "<thread-uuid>", "session_id": "<session-uuid>"}'
— Endpoint and params named with runnable curl examplesnapshot-20260830
02
OTEL resource attributes on tracesNEW90

Supports OTEL_RESOURCE_ATTRIBUTES values on traces as metadata namespaced under otel.resource.*, enabling user IDs and other resource attributes to appear on traces without changing span emission code.

Attach OpenTelemetry resource attributes (e.g. user ID, environment) to LangSmith traces without changing span emission code.
$ export OTEL_RESOURCE_ATTRIBUTES="user.id=u_123,deployment.environment=production"
python my_langchain_app.py
— Env var and namespace named with runnable examplesnapshot-20260830
03
Bulk export compression defaults to zstdIMPROVED90

Bulk export compression now defaults to zstandard (zstd) for improved performance; adds the FF_BULK_EXPORT_DEFAULT_COMPRESSION environment variable to override compression on self-hosted deployments, letting self-hosted retain gzip via this flag.

Keep gzip bulk export compression on a self-hosted LangSmith deployment instead of the new zstd default.
$ export FF_BULK_EXPORT_DEFAULT_COMPRESSION=gzip
— Default and override env var named with runnable examplesnapshot-20260830
thinner coverage below
04
Per-project and per-user monthly trace limitsNEW50

Enforces user-defined monthly trace limits scoped to individual projects and users, rejecting new traces that exceed the configured limit while still allowing patches and feedback on already-accepted traces to continue.

— Behavior described but no config key or API namedsnapshot-20260830
05
PEP 604 union types in code evaluator uploadsIMPROVED45

Code evaluator upload now accepts Python entrypoints annotated with PEP 604 union return types, e.g. -> dict | None.

— Named syntax example but no upload command shownsnapshot-20260830
06
Clearer 409 Conflict error messagesIMPROVED35

LangSmith now returns clearer 409 Conflict messages distinguishing duplicate run create from run update payloads.

— Status code named but no example or endpoint shownsnapshot-20260830
07
OTEL child span buffering and nesting fixIMPROVED35

Native OpenTelemetry child spans are now buffered and correctly nested when they arrive before an SDK-attributed parent span.

— Explains fix mechanism but offers no actionable stepsnapshot-20260830
└──▷ BREAKING ON UPGRADE
  • !Legacy dataset comparison helpers are removed from the public OpenAPI spec and generated SDKs; existing HTTP routes continue to work only for LangSmith UI clients.
Was this useful?

ai-gateway

Sources Release notes → 3 RELEASES · 2026-08-07 → 2026-08-29 NOTES

Unified AI Gateway for 30+ LLMs (OpenAI, Anthropic, Bedrock, Azure etc) with Caching, Guardrails, A/B test & cost controls. Go-native Fastest & Scalable AI Gateway LiteLLM & Kong AI Gateway alternative.

ai-gateway's biggest change this window is native gateway-lifecycle routing for rerank, moderation, audio, and Responses APIs, alongside new ways to embed the gateway as a Go library (run package, httpgateway facade) and provider credential aliasing — plus several breaking changes tightening retry semantics, redirect handling, admin-config redaction, and production startup safety.

└──▷ WHAT SHIPPED · 17 FEATURESmost completely described first
what's the number?

Each feature carries 0–100 for how completely the vendor documented it — not how big or important the work is. A major capability described in eight words scores low, and that is the finding.

  • depth0–40what it does and how it works or what changed
  • specificity0–30names real surfaces — APIs, flags, formats, limits, numbers
  • actionability0–30enough to go use it — a named endpoint, flag, or config key tops this; a UI path is a starting point

Code and config rank first by construction: a documented endpoint, flag or config key scores at the top of specificity and actionability, so it sorts above a feature described only in prose. Under 60 the notes go thin — everything below the “thinner coverage” line is thinner documentation, not smaller work. Hover any meter for that feature's three sub-scores.

01
Custom model declaration via targets[].modelsNEW86

Adds targets[].models field to declare models a target serves that are absent from the catalog or live discovery — new catalog IDs, regional/preview names, or self-hosted deployments — making them available in routing and GET /v1/models.

Declare a preview or self-hosted model ID so it appears in routing and /v1/models without waiting for catalog updates.
yaml
targets:
  - id: my-azure-preview
    provider: azure-openai
    base_url: https://my-resource.openai.azure.com
    models:
      - gpt-4o-2026-preview
      - gpt-4o-mini-regional
— Config key with example and effect on /v1/models endpointv1.4.0
02
Files/Batches proxying via batch_targetNEW86

Adds batch_target config key to forward /v1/files* and /v1/batches* transparently to a configured backend (openai, azure-openai, groq, novita, qwen); returns 501 when batch_target is unset.

Enable the OpenAI Batches API by pointing the gateway at a batch-capable backend so /v1/files* and /v1/batches* resolve without a 501.
yaml
batch_target: openai-prod

targets:
  - id: openai-prod
    provider: openai
    api_key: ${OPENAI_API_KEY}
— Config key with runnable example and error behaviourv1.4.0
03
Go library embedding via run.Main/run.RunNEW85

Adds run.Main() and run.Run(ctx, opts...) in a new public run package, letting Go programs embed the full ferrogw server; run.Run returns startup and listen errors instead of exiting, and honours context cancellation for graceful shutdown identical to SIGTERM. Custom binaries can be built by blank-importing plugins and calling run.Main(), enabling a plugin-composition workflow without forking the gateway binary.

Embed the gateway in a Go service so it shuts down cleanly when a parent context is cancelled — useful for test harnesses or multi-component binaries.
go
import (
    _ "your-org/your-plugin"
    "github.com/ferro-labs/ai-gateway/run"
)

func main() {
    ctx, cancel := signal.NotifyContext(context.Background(), os.Interrupt)
    defer cancel()
    if err := run.Run(ctx); err != nil {
        log.Fatal(err)
    }
}
— Named API with runnable embedding example and shutdown behaviourv1.5.0
04
Native rerank API routing (POST /v1/rerank)NEW85

Adds POST /v1/rerank (Cohere v2 contract) as a natively routed surface supporting cohere, together, deepinfra, nvidia-nim, and bedrock, with top_n normalised across providers (0 caps to no results, negative values are rejected). Like the other newly natively routed surfaces, it carries the full gateway lifecycle — targets, routing strategy, plugins, circuit breaker, per-target concurrency, metrics, and request logging — replacing the generic pass-through.

— Endpoint, providers, and normalisation rule named, no examplev1.4.0
05
Native audio API routing (transcriptions, translations, speech)NEW85

Adds POST /v1/audio/transcriptions and POST /v1/audio/translations (multipart upload, 25 MiB cap) as natively routed surfaces supporting openai, azure-openai, groq, together, sambanova, deepinfra, mistral, and fireworks. Adds POST /v1/audio/speech (JSON in, binary audio out; input capped at 4096 characters) supporting openai, azure-openai, groq, together, deepinfra, and mistral. All three carry the full gateway lifecycle — targets, routing, plugins, circuit breaker, concurrency, metrics, request logging — replacing generic pass-through.

— All three endpoints, caps, and providers named explicitlyv1.4.0
06
Provider registration aliases via RegisterProviderAsNEW83

Adds Gateway.RegisterProviderAs to register one provider under a distinct routing target, allowing multiple credentials for the same canonical provider while preserving all optional capabilities (streaming, embeddings, images, rerank, moderation, audio, discovery, batch, Responses, and generic pass-through).

Bind two sets of provider credentials to distinct routing targets so tenants can be isolated by alias rather than by separate gateway instances.
go
gw.RegisterProviderAs(openaiProvider, "openai-team-a")
gw.RegisterProviderAs(openaiProvider, "openai-team-b")
— Named method, code example, full capability list preservedv1.4.2
07
Redacted secrets in GET/PUT /admin/configBREAKING82

Withheld config map keys in GET /admin/config are no longer returned verbatim; each entry is replaced with [REDACTED_KEY_<n>] (sorted, stable index), and a PUT body containing placeholder key names is rejected. Affected maps: mcp_servers[].env, mcp_servers[].headers, observability.exporters[].config, observability.tracing.headers, and undeclared plugin settings.

— Endpoint, redaction format, and affected maps namedv1.4.0
08
Build provenance on GET /healthIMPROVED78

GET /health now returns version, commit, and built build metadata alongside provider status, sourced from internal/version (defaults: dev / none / unknown for unstamped local builds).

Confirm exactly which build is serving traffic without shelling into the container — useful after a rolling deploy.
$ curl -s https://gateway.internal/health | jq '{version, commit, built}'
— Exact endpoint, fields, and defaults with runnable curlv1.4.2
09
Governed Responses API routing (POST /v1/responses)NEW78

Adds POST /v1/responses (Responses API) as a governed, priced surface with plugins, guardrails, circuit breaker, concurrency, and request log; stateful sub-routes pin to responses_target and return 501 when it is unset.

— Endpoint, config key, and fallback behaviour namedv1.4.0
10
Unified routing internals across all surfacesBREAKING78

Unifies routing internals across chat, streaming, embeddings, and image generation so retry (targets[].retry), circuit breaking, error classification, metrics, and request logging behave identically on every surface. As a result, targets[].retry — previously honoured only under fallback routing mode — is now honoured under all modes, so a target that always fails produces attempts upstream calls where it previously produced one.

— Names config key and exact before/after call-count changev1.4.0
11
Production startup safety checks via GATEWAY_ENVBREAKING78

render.yaml now sets GATEWAY_ENV=production, enabling startup checks that refuse to boot when ALLOW_UNAUTHENTICATED_PROXY=true or CORS_ORIGINS contains *; a Render service carrying either setting will fail its next deploy.

— Exact env vars and failure condition namedv1.4.0
12
No automatic upstream redirect followingBREAKING68

Outbound HTTP clients no longer follow upstream 3xx redirects — the redirect is returned to the caller as-is; requests that previously succeeded via redirect will now fail until the provider base URL is updated to the redirect target.

— Clear before/after with required remediation actionv1.4.0
13
Native moderations API routing (POST /v1/moderations)NEW65

Adds POST /v1/moderations (OpenAI contract) as a natively routed surface supporting openai and mistral, carrying the full gateway lifecycle (targets, routing strategy, plugins, circuit breaker, concurrency, metrics, request logging) rather than generic pass-through.

— Endpoint and providers named, no usage example givenv1.4.0
14
Per-turn plugin execution in MCP tool loopsIMPROVED65

Agentic MCP tool loops now run before_request plugins (guardrails, rate limiters) on every turn, not only the first; transform and logging/metrics plugin types are deliberately excluded from per-turn execution.

— Explains mechanism and exclusions but lacks examplev1.4.0
thinner coverage below
15
Tracing dashboard and observability compose stackNEW55

Adds a Tracing page to the dashboard over the gateway's OpenTelemetry output, and a deploy/ compose stack running the gateway, a collector, a tracing backend, and a mock upstream for end-to-end observability without a provider key.

— Names dashboard page and deploy stack, no exact pathv1.4.0
16
Embeddable HTTP facade via httpgateway packageNEW50

Exposes the httpgateway package to embedding applications, giving them access to Files/Batches, Responses, and generic pass-through handlers while embedding apps keep their own authentication and tenant policy middleware.

— Names package and handlers but gives no usage examplev1.4.2
17
Expanded image generation and embeddings provider supportIMPROVED45

Extends image generation support to gemini (via generateContent), deepinfra, and together; extends embeddings support to azure-foundry.

— Names providers but no mechanism or example givenv1.4.0
└──▷ BREAKING ON UPGRADE
  • !targets[].retry was previously honoured only under fallback routing mode; it is now honoured under all modes, so a target that always fails will produce attempts upstream calls where it previously produced one.
  • !render.yaml now sets GATEWAY_ENV=production, enabling startup checks that refuse to boot when ALLOW_UNAUTHENTICATED_PROXY=true or CORS_ORIGINS contains *; a Render service carrying either setting will fail its next deploy.
  • !Outbound HTTP clients no longer follow upstream 3xx redirects — the redirect is returned to the caller as-is; requests that previously succeeded via redirect will now fail until the provider base URL is updated to the redirect target.
  • !Withheld config map keys in GET /admin/config are no longer returned verbatim; each entry is now replaced with [REDACTED_KEY_<n>] (sorted, stable index). A PUT body containing placeholder key names is rejected. Affected maps: mcp_servers[].env, mcp_servers[].headers, observability.exporters[].config, observability.tracing.headers, and undeclared plugin settings.
Was this useful?

Arize Phoenix

Sources Release notes → 1 RELEASE · 2026-08-29 NOTES

AI Observability & Evaluation

Arize Phoenix added a PII detection metric to its evaluation suite and shipped a deletePrompt helper in the phoenix-client library for fully removing prompts and their versions via the API.

└──▷ WHAT SHIPPED · 2 FEATURESmost completely described first
what's the number?

Each feature carries 0–100 for how completely the vendor documented it — not how big or important the work is. A major capability described in eight words scores low, and that is the finding.

  • depth0–40what it does and how it works or what changed
  • specificity0–30names real surfaces — APIs, flags, formats, limits, numbers
  • actionability0–30enough to go use it — a named endpoint, flag, or config key tops this; a UI path is a starting point

Code and config rank first by construction: a documented endpoint, flag or config key scores at the top of specificity and actionability, so it sorts above a feature described only in prose. Under 60 the notes go thin — everything below the “thinner coverage” line is thinner documentation, not smaller work. Hover any meter for that feature's three sub-scores.

01
deletePrompt helper in phoenix-clientNEW95

Adds a deletePrompt helper to the prompts subpath of @arizeai/phoenix-client, accepting a { name } or { promptId } selector (matching getPrompt style) and calling DELETE /v1/prompts/{prompt_identifier} on Phoenix server >= 13.20.0; deletion cascades to all prompt versions, version tags, and labels. Exports a PromptIdentifier type from types/prompts for the prompt-level selector union. Version-level selectors ({ versionId }, { name, tag }) are rejected rather than widened to delete the whole prompt.

Delete an entire prompt (and all its versions, tags, and labels) by name when retiring a deprecated prompt from production.
javascript
import { createClient } from '@arizeai/phoenix-client';
import { deletePrompt } from '@arizeai/phoenix-client/prompts';

const client = createClient();
await deletePrompt(client, { name: 'my-rag-prompt' });
Delete a prompt by its ID when the name is unknown but the ID was captured from a previous getPrompt call.
javascript
import { createClient } from '@arizeai/phoenix-client';
import { deletePrompt } from '@arizeai/phoenix-client/prompts';

const client = createClient();
await deletePrompt(client, { promptId: 'UHJvbXB0OjEyMw==' });
— Named endpoint, type, version requirement, and runnable code@arizeai/[email protected]
thinner coverage below
02
PII Detection pre-built metricNEW30

Adds a PII Detection pre-built metric that screens conversation records for personally identifiable information.

— Names the metric but no mechanism or usage shownproduct docs
└──▷ BREAKING ON UPGRADE
  • !Version-level selectors ({ versionId }, { name, tag }) passed to deletePrompt are rejected rather than widened to the whole prompt.
Was this useful?

Braintrust

Sources Release page → 1 RELEASE · 2026-08-01 NOTES

Braintrust is an open-source evals framework for testing and monitoring AI applications with custom test cases and metrics.

Braintrust shipped a new bt trace CLI workflow for managing tracing plugins across coding agents, project-scoped Monitoring dashboards, session-level Group scoring for online rules, an AWS Lambda Extension for lower-latency trace flushing, and broader model and instrumentation coverage including Kimi K3, DeepSeek V4 Flash, and new auto-instrumented AI libraries.

└──▷ WHAT SHIPPED · 7 FEATURESmost completely described first
what's the number?

Each feature carries 0–100 for how completely the vendor documented it — not how big or important the work is. A major capability described in eight words scores low, and that is the finding.

  • depth0–40what it does and how it works or what changed
  • specificity0–30names real surfaces — APIs, flags, formats, limits, numbers
  • actionability0–30enough to go use it — a named endpoint, flag, or config key tops this; a UI path is a starting point

Code and config rank first by construction: a documented endpoint, flag or config key scores at the top of specificity and actionability, so it sorts above a feature described only in prose. Under 60 the notes go thin — everything below the “thinner coverage” line is thinner documentation, not smaller work. Hover any meter for that feature's three sub-scores.

01
bt CLI tracing plugin management commandsBREAKING93

The bt CLI adds bt trace setup, bt trace run, and bt trace import subcommands for managing tracing plugins for Claude Code, Codex, OpenCode, and pi. This is a breaking change: the CLI now handles authentication and trace routing for these plugins, so older plugin-specific API key, project, tracing, and config-file settings must be migrated using the bt CLI migration guide and per-agent upgrade notes.

Set up tracing for Claude Code through the bt CLI, selecting your Braintrust project and writing the plugin's tracing settings in one step.
$ bt trace setup
— Named subcommands and breaking migration path fully specified.snapshot-20260830
02
Opt-in LiveKit Agents audio attachmentsBREAKING81

Python SDK v0.32.0 turns off LiveKit Agents audio attachments on agent_speaking spans by default; set BRAINTRUST_CAPTURE_AGENT_AUDIO_ATTACHMENTS=true to restore the previous behavior.

— Exact env var and span name given, mechanism clear.snapshot-20260830
03
Kimi K3 and DeepSeek V4 Flash models via GatewayNEW78

Adds Kimi K3 and DeepSeek V4 Flash 0731 as built-in open-source models, requestable as kimi-k3 and deepseek-v4-flash-0731 through the Braintrust Gateway with no AI provider setup required.

— Exact model identifiers and gateway usage given.snapshot-20260830
04
New auto-instrumentation for AI clients and librariesNEW75

TypeScript SDK versions add auto-instrumentation across a range of libraries: v3.27.0 adds Ollama and @cloudflare/think instrumentation, Anthropic beta sessions tracing via anthropic.beta.sessions.turn and anthropic.beta.sessions.thread.turn, Flue v2 support, and a vitest-evals span input override via meta.eval.input; v3.26.0 adds Cloudflare Agents and Cloudflare AI Chat auto-instrumentation.

— Names every library and API surface across both SDK versions.snapshot-20260830
05
Monitoring views as project dashboardsNEW73

Adds Monitoring views as named, project-scoped Dashboards with per-dashboard pages, search, starring, cloning from the built-in Cost and quality dashboard, and auto-saving of chart, filter, and grouping changes.

— Lists concrete dashboard features though no exact navigation path.snapshot-20260830
06
Harbor job plugin for syncing evaluation resultsNEW70

Python SDK v0.33.0 adds the Harbor job plugin for syncing Harbor evaluation results to Braintrust, defaulting the project name to Harbor so project_name is optional.

— Names default project and optional field, no command shown.snapshot-20260830
thinner coverage below
07
Grouped trace references in dataset rowsNEW57

Dataset rows can now reference a group of up to 64 traces, rendering each inline and flagging any that are unavailable.

— Gives concrete limit but no usage path.snapshot-20260830
└──▷ ALSO FROM THESE RELEASES
Initialize a Braintrust dataset directly by ID in Python when you know the ID but not the project name.
python
import braintrust

ds = braintrust.init_dataset(dataset_id="<your-dataset-id>")
└──▷ BREAKING ON UPGRADE
  • !The bt CLI now handles authentication and trace routing for Claude Code, Codex, OpenCode, and pi plugins; older plugin-specific API key, project, tracing, and config-file settings must be migrated using the bt CLI migration guide and per-agent upgrade notes.
  • !LiveKit Agents audio attachments on agent_speaking spans are now disabled by default in Python SDK v0.32.0; set BRAINTRUST_CAPTURE_AGENT_AUDIO_ATTACHMENTS=true to restore previous behavior.
Was this useful?
◆  VECTOR DB RAG

GrowGraph OntoCast

Sources Commits → 1 RELEASE · 2026-08-29 CODE

Agentic Ontology Assisted Framework for Semantic Triple Extraction

OntoCast v0.6.2 introduces a full /shapes REST API and moves SHACLSHACLA W3C standard language for defining constraints and validation rules over RDF graphs, allowing a tool to assert that graph data conforms to a required shape, cardinality, or value type before processing it. shape storage into per-tenant triple-store partitions, adds a selective include_shapes flush, and rewrites ontology/shape store access around a new StoreKind selector — a set of changes that breaks several existing function signatures and the ontology-render wire format.

└──▷ WHAT SHIPPED · 6 FEATURESmost completely described first
what's the number?

Each feature carries 0–100 for how completely the vendor documented it — not how big or important the work is. A major capability described in eight words scores low, and that is the finding.

  • depth0–40what it does and how it works or what changed
  • specificity0–30names real surfaces — APIs, flags, formats, limits, numbers
  • actionability0–30enough to go use it — a named endpoint, flag, or config key tops this; a UI path is a starting point

Code and config rank first by construction: a documented endpoint, flag or config key scores at the top of specificity and actionability, so it sorts above a feature described only in prose. Under 60 the notes go thin — everything below the “thinner coverage” line is thinner documentation, not smaller work. Hover any meter for that feature's three sub-scores.

01
Per-tenant SHACL shape storage in the triple storeBREAKING90

SHACL shapes are now stored in the triple store in a dedicated {tenant}--{project}--shapes partition (FUSEKI_SHAPES_DATASET), enabling per-tenant shape catalogs and removing the need for a shapes directory in containerised workers. FACTS_SHAPES_DIR changes from a live read directory to a read-only seed materialized into the shapes partition at startup, and the validation gate now reads the partition rather than the directory; collect_shacl_shapes(ontology_graph, shapes_dir) becomes collect_shacl_shapes(ontology_graph, stored_shapes: RDFGraph | None) and no longer performs disk I/O, so a containerised worker relying on the directory must migrate shapes to the store.

— Config key, signature change and migration path all namedv0.6.2
02
StoreKind partition selector replaces use_ontologies_datasetBREAKING90

Replaces the two-valued use_ontologies_dataset: bool parameter on aselect, aconstruct, drop_named_graph, drop_all_ontology_graphs_for_iri, serialize_graph, and serialize with a StoreKind ("facts" | "ontologies" | "shapes") partition selector; the LangChain tools ontocast_sparql_select and ontocast_sparql_construct now expose a store parameter in place of use_ontologies_dataset. aserialize(ontology) previously hard-coded the ontologies dataset and silently overwrote a caller's graph_uri; it now honours a store= override, so callers relying on the silent override must pass store='ontologies' explicitly.

— Every affected function and parameter named verbatimv0.6.2
03
Selective flush with include_shapes flagNEW88

Adds POST /flush?include_shapes=true to optionally drop the shapes partition on flush; by default flush retains shapes, and later runs report shacl_evaluated: null instead of failing when shapes are absent. Also adds an include_shapes flag to TripleStoreManager.clean() and clean_tenancy() to control whether the SHACL shapes partition is cleared.

Flush everything including shapes (e.g. to fully reset a CI environment between test suites).
$ curl -X POST 'https://ontocast.example.com/flush?include_shapes=true'
— Runnable curl command against exact endpoint and flagv0.6.2
04
GraphUpdateRenderReport flattens insert/delete graphsBREAKING85

GraphUpdateRenderReport now carries insert_graph and delete_graph as sibling fields instead of graph_update.triple_operations[]; to_graph_update() compiles them delete-then-insert for apply(), the SPARQL compiler, and the LangChain tool. Interleaving inserts and deletes within a single render is no longer expressible, and cached ontology-render responses are invalidated. Touches onto/model.py::GraphUpdateRenderReport, to_graph_update, prompt/graph_format.py, prompt/llm_json_schema.py.

— Exact fields and files named with before/after behaviourv0.6.2
05
/shapes REST API for SHACL shape managementNEW83

Adds /shapes routes — GET (list stored documents), POST (upload Turtle), and DELETE /{graph_uri} — mirroring /ontologies and tenancy-scoped the same way; a document declaring <iri> a owl:Ontology is stored under that IRI so re-uploading replaces it. Implemented via new modules tool/shapes_catalog.py and api/shapes.py for shape catalog discovery.

— Endpoints named with methods and paths, no example call givenv0.6.2
06
Module reorganization: facts_invariants renamed, data directory removedBREAKING78

tool/facts_invariants.py is removed; imports must switch to tool/facts_validation/ (public surface via package __init__). The data/ top-level directory and its importable data package are removed; TTL fixtures move to test/data/ontologies/, and local-source entries in run/fetch_schema_samples.py resolve via ONTOCAST_SCHEMA_SAMPLE_DIR, skipped when unset.

— Exact old and new paths plus env var namedv0.6.2
└──▷ BREAKING ON UPGRADE
  • !GraphUpdateRenderReport replaces graph_update.triple_operations[] with sibling fields insert_graph and delete_graph; interleaving inserts and deletes within a single render is no longer expressible, and cached ontology-render responses are invalidated. Touches onto/model.py::GraphUpdateRenderReport, to_graph_update, prompt/graph_format.py, prompt/llm_json_schema.py.
  • !tool/facts_invariants.py is removed; the previous module name no longer resolves. Replace all imports with tool/facts_validation/ (public surface via package __init__).
  • !The data/ top-level directory and its importable data package are removed. TTL fixtures are now in test/data/ontologies/; local-source entries in run/fetch_schema_samples.py resolve via ONTOCAST_SCHEMA_SAMPLE_DIR and are skipped when unset.
  • !FACTS_SHAPES_DIR changes meaning from a live read directory to a read-only seed; the validation gate now reads the {tenant}--{project}--shapes triple-store partition (FUSEKI_SHAPES_DATASET). A containerised worker that relied on the directory for validation must migrate shapes to the store.
  • !collect_shacl_shapes(ontology_graph, shapes_dir) signature changes to collect_shacl_shapes(ontology_graph, stored_shapes: RDFGraph | None); it no longer performs disk I/O.
  • !The use_ontologies_dataset: bool parameter is removed from aselect, aconstruct, drop_named_graph, drop_all_ontology_graphs_for_iri, serialize_graph, and serialize; callers must switch to the store: StoreKind ("facts" | "ontologies" | "shapes") parameter. The LangChain tools ontocast_sparql_select and ontocast_sparql_construct likewise replace use_ontologies_dataset with store.
  • !aserialize(ontology) previously hard-coded the ontologies dataset and silently overwrote a caller's graph_uri; it now honours a store= override, so callers relying on the silent override must pass store='ontologies' explicitly.
Was this useful?
◆  UNCATEGORIZED

Claudoscope

Sources Release notes → 1 RELEASE · 2026-08-26 NOTES

native macOS app that gives you a real-time dashboard for your Claude Code and Cowork sessions, with analytics, conversation history, security hardening, real time secrets detection and project insights.

Claudoscope v1.1.0 adds four new observability rails — Insights, Hooks Runtime, Tasks & Jobs, and Context — alongside six new configuration health checks, expanded GitLab secret detection and hardening, and a unified Health rail that merges three older sections.

└──▷ WHAT SHIPPED · 12 FEATURESmost completely described first
what's the number?

Each feature carries 0–100 for how completely the vendor documented it — not how big or important the work is. A major capability described in eight words scores low, and that is the finding.

  • depth0–40what it does and how it works or what changed
  • specificity0–30names real surfaces — APIs, flags, formats, limits, numbers
  • actionability0–30enough to go use it — a named endpoint, flag, or config key tops this; a UI path is a starting point

Code and config rank first by construction: a documented endpoint, flag or config key scores at the top of specificity and actionability, so it sorts above a feature described only in prose. Under 60 the notes go thin — everything below the “thinner coverage” line is thinner documentation, not smaller work. Hover any meter for that feature's three sub-scores.

01
Skill check for removed TodoWrite/Task tools (SKL014)NEW95

Adds SKL014, flagging a skill restricted only to TodoWrite or Task* tools, since Claude Code 2.1.233 removed these tools from Opus 4.8, Sonnet 5, Fable 5, Mythos 5, and newer models unless CLAUDE_CODE_ENABLE_TODO_TOOLS=1 is set.

Check whether a skill's allowed-tools list will trigger SKL014 after Claude Code 2.1.233 removed TodoWrite and Task* tools from newer models without the opt-in env var.
$ CLAUDE_CODE_ENABLE_TODO_TOOLS=1 claude
— Names check, models affected, and exact opt-in env var with runnable examplev1.1.0
02
Tasks & Jobs railNEW90

Adds a Tasks & Jobs rail surfacing Claude Code's background jobs from ~/.claude/jobs/ (state, timeline, tokens, result) and per-session task lists from ~/.claude/tasks/ (checklist with dependency chips), with jump-to-session links and a daemon status line; job providerEnv maps are never decoded.

— Names exact data paths and a security caveat on env decodingv1.1.0
03
Insights tab in Analytics railNEW85

Adds an Insights tab inside the Analytics rail (Usage/Insights toggle) that reads session facets from ~/.claude/usage-data/ written by Claude Code's /insights command and joins outcome, friction, satisfaction, goal, and session-type data to the cost engine, showing outcome distribution, friction frequency, average cost by outcome, and per-session facet detail.

— Names data source path and UI location clearlyv1.1.0
04
Hooks Runtime tab in Hooks railNEW85

Adds a Hooks Runtime tab inside the Hooks rail (Configuration/Runtime toggle) surfacing per-hook fire counts, failures, average and max duration, session counts, and a 'not in config' badge for commands seen in transcripts that match no current hook, with Stop-hook batches marked inline in the chat view; this requires a one-time full reparse of all transcripts on first launch due to a parser version bump.

— Describes mechanism and one-time reparse cost in detailv1.1.0
05
Channel plugin risk checks (CHN001-CHN003)NEW80

Adds CHN001, flagging each enabled channel plugin (Telegram, Discord, iMessage, fakechat) as a prompt-injection and permission-relay surface; CHN002, flagging channel plugins enabled under Vertex or Bedrock where they are silently ignored; and CHN003, surfacing the channelsEnabled org-policy key.

— Names three checks and the underlying config key preciselyv1.1.0
06
GitLab secret detection and credential hardeningIMPROVED80

Adds nine additional GitLab token families to secret detection beyond glpat-: runner, OAuth, pipeline-trigger, agent, import, service-account, CI-build, feature-flag, and deploy tokens, with the glpat-/gldt- pair classified as a critical account-level credential; also protects the glab credential store in the hardening sandbox baseline, matching the existing gh entry.

— Enumerates all nine token families and the credential store namev1.1.0
07
Six new config health checks (CFG013-CFG018)NEW75

Adds CFG013 through CFG018 config health checks covering filesystem isolation, sandbox network allowlist, credential mode: "mask" without TLS, sandbox binary overrides, remoteControlAtStartup in project settings, and cross-session messages auto-accepted under bypassed permissions.

— Names six checks and config keys but no usage walkthroughv1.1.0
08
Session provenance displayNEW75

Sessions started with --worktree or /fork now show their worktree and branch; sessions that opened a pull request or GitLab merge request link to it from the session header; Claude Code's ai-title generated session names are now used as titles.

— Names three concrete display additions and their triggersv1.1.0
09
Context tab for context-window utilizationNEW70

Adds a Context tab with a per-session chart of context-window utilization per assistant turn against the model's ceiling, compaction events, peak context, peak utilization, and a flag for sessions that mix model generations across the Claude 4.7 tokenizer change.

— Describes what's shown but no config or navigation pathv1.1.0
10
Plugin marketplace alias and source displayIMPROVED60

Reads additionalMarketplaces as an alias for extraKnownMarketplaces (Claude Code 2.1.232), and displays source URLs or commands for archive and command plugin sources (2.1.224/2.1.229).

— Names config keys and source types but limited mechanism detailv1.1.0
thinner coverage below
11
DirectoryAdded hook event supportIMPROVED50

Recognizes DirectoryAdded as a hook event (Claude Code 2.1.219), so matchers targeting it are correctly evaluated rather than flagged as dead config.

— Names event and fix but no example of usev1.1.0
12
Unified Health railIMPROVED40

Merges Health, Hardening, and Routing into a single Health rail with a section toggle, reducing icon-rail clutter.

— UI reorganization stated without further mechanismv1.1.0
└──▷ BREAKING ON UPGRADE
  • !Hooks Runtime requires a one-time full reparse of all transcripts on first launch due to a parser version bump.
Was this useful?

open-kritt

Sources Release notes → 2 RELEASES · 2026-08-04 → 2026-08-12 NOTES

Open-source, self-hosted AI vulnerability research tool that orchestrates agents to find and validate security issues in code.

open-kritt's biggest additions this window are a headless remote scan runner and scan findings export, paired with new engine-level resource controls (memory-aware admission, deterministic resume ordering, a disk-space override) and configurable post-processing models.

└──▷ WHAT SHIPPED · 8 FEATURESmost completely described first
what's the number?

Each feature carries 0–100 for how completely the vendor documented it — not how big or important the work is. A major capability described in eight words scores low, and that is the finding.

  • depth0–40what it does and how it works or what changed
  • specificity0–30names real surfaces — APIs, flags, formats, limits, numbers
  • actionability0–30enough to go use it — a named endpoint, flag, or config key tops this; a UI path is a starting point

Code and config rank first by construction: a documented endpoint, flag or config key scores at the top of specificity and actionability, so it sorts above a feature described only in prose. Under 60 the notes go thin — everything below the “thinner coverage” line is thinner documentation, not smaller work. Hover any meter for that feature's three sub-scores.

01
`ENGINE_IGNORE_LOW_STORAGE` advanced settingNEW90

Adds the ENGINE_IGNORE_LOW_STORAGE advanced setting for deployments where host disk usage is not a concern; setting ENGINE_IGNORE_LOW_STORAGE=true in .env allows the scan engine to keep running without halting when host disk space runs low.

Allow the scan engine to continue running without halting when host disk space runs low.
$ ENGINE_IGNORE_LOW_STORAGE=true
— Exact env var, value and config file givenv1.3.0
thinner coverage below
02
Separate post-processing model configurationNEW50

Supports separate post-processing models, allowing different models to be configured for the post-processing stage independently of the primary scan model.

— Explains the split but no config key or example modelv1.3.0
03
`kritt-headless` remote scan runnerNEW45

Introduces the kritt-headless runner for executing scans on remote machines without a UI.

— Named runner but no setup command or flags givenv1.4.0
04
Memory-aware runner admission controlNEW45

Adds memory-aware runner admission and controls to the engine, preventing runners from being scheduled when memory thresholds would be exceeded.

— Explains behavior but no threshold values or config keyv1.4.0
05
Deterministic resume ordering for paused scansNEW35

Adds deterministic resume ordering controls to the engine, giving operators predictable restart behavior across paused scans.

— Mechanism named but no controls or flags specifiedv1.4.0
06
Scan findings exportNEW25

Adds export of completed scan findings, enabling practitioners to retrieve scan results for offline analysis or reporting.

— No export format, endpoint or command namedv1.4.0
07
Frontend UI additions: sharing, worker visibility, community starsIMPROVED25

Adds community star support to the frontend UI, a privacy-safe sharing loop, and display of the active worker model and harness for operational visibility, plus improvements to the active worker status display.

— Several thin UI additions with no navigation or screenshotsv1.4.0v1.3.0
08
Scan runtime scaling and hardeningIMPROVED20

Scales provider accounts and scan processing to handle larger workloads, and hardens scan runtime and account handling for more robust operation.

— Vague scaling and hardening claims with no specificsv1.3.0
Was this useful?
◆  MCP TOOLING

gram

Sources Release notes → 29 RELEASES · 2026-07-31 → 2026-08-19 NOTES

Securely scale AI usage across your organization. A single stack to Connect, Secure, Observe and Distribute agents, MCPs, and Skills within your company.

Gram shipped a major MCP Approval workflow this window — evidence dossiers enriched with code-host, OSV.dev and domain-registry signals, an AI research agent, and daily drift detection — alongside allow-all/block-all Shadow MCP policy controls, OAuth Client ID Metadata Document (CIMD) support with a curated client catalog, RFC 7009 upstream token revocation, ChatGPT/Codex compliance imports, LiteLLM provisioning and guardrails, a reworked admin organizations console, and a large batch of billing, device-agent, and design-system changes.

└──▷ WHAT SHIPPED · 67 FEATURESmost completely described first
what's the number?

Each feature carries 0–100 for how completely the vendor documented it — not how big or important the work is. A major capability described in eight words scores low, and that is the finding.

  • depth0–40what it does and how it works or what changed
  • specificity0–30names real surfaces — APIs, flags, formats, limits, numbers
  • actionability0–30enough to go use it — a named endpoint, flag, or config key tops this; a UI path is a starting point

Code and config rank first by construction: a documented endpoint, flag or config key scores at the top of specificity and actionability, so it sorts above a feature described only in prose. Under 60 the notes go thin — everything below the “thinner coverage” line is thinner documentation, not smaller work. Hover any meter for that feature's three sub-scores.

01
MCP evidence dossier source enrichmentNEW90

The MCP approval evidence dossier now pulls from direct server probing (OAuth metadata via well-known endpoints covering auth mode, scopes and dynamic client registration, plus tool declarations via unauthenticated tools/list, falling back to the registry catalog entry), code-host repository signals (stars, forks, contributors, commit recency, archived status), OSV.dev vulnerability advisories, domain-registry registration records, and org-exposure signals (existing project contact, since when, call frequency, distinct-caller count). Package registries surface declared repository/homepage URLs, registry catalog matches populate a provenance section (official flag, lifecycle status, publish/update recency, visitor estimates), and a clean advisory check now shows as a positive finding. mcpApproval.refreshEvidence re-runs every source on demand without disturbing frozen decision snapshots, and mcpApproval.ensureServerReview opens a dossier for any server URL without queuing a decision.

Re-run all evidence sources for an MCP server under review after a registry record has been updated, without disturbing previously recorded decision snapshots.
$ mcpApproval.refreshEvidence
Resolve or open an evidence dossier for a server URL before any review decision is made, so evidence is ready when an admin later inspects the server.
$ mcpApproval.ensureServerReview
— Names every evidence source and two supporting endpoints with runnable examples.[email protected][email protected][email protected][email protected]
02
AI research agent for MCP approvalNEW90

New mcpApproval.startResearch endpoint (decide-scoped) launches a Temporal-backed AI research agent that runs a bounded tool-calling loop, extracts a schema-held report (summary, independent-coverage level, tiered claims with citations), and persists results to mcp_research_reports with model, prompt version, and per-run spend metadata; at most one run per request is in-flight and re-runs are additive. The agent uses a research platform toolset (platform_web_search via OpenRouter's web-search plugin tagged mcp-research, and platform_fetch_page with byte/redirect/per-run budgets reducing HTML to text), runs a prompt-injection judge over every fetched page recording flagged pages as findings, and the approval page gains a Run Research button that polls a live run and renders the report with coverage callout, tier chips, and citations.

— Names endpoint, storage table, toolset tools and UI trigger.[email protected][email protected]
03
Admin organizations list overhaulNEW90

Adds a 400px peek panel per row (account type, trial end, member count, creation date, both IDs; Arrow Up/Down navigation, Escape to close), new account_types, trial_states, and disabled_states filter parameters accepting multiple values each (replacing single-valued account_type and include_disabled, kept as a compatibility shim), matching toolbar filters persisted in the URL, a bulk account-type control for multi-row selection, a summary strip (total orgs with 7-day new count, trials ending within 7 days, disabled orgs with 7-day count) acting as clickable filter shortcuts, per-row Disable/Re-enable/Extend-trial actions, a pinned Actions column, Alt+click to open the peek panel, and a persistent Columns toolbar control. Organization endpoints now return real trial state and end date (running, ending-soon, expired, demoted, converted, never-trialled), and a redirect parameter on the login URL opens the dashboard already scoped to a chosen organization.

— Names every filter param, control and endpoint change.[email protected][email protected][email protected]
04
PAYG billing, Stripe portal and cost estimatorsNEW88

PAYG organization admins can set independent monthly Security inference and Other inference caps per platform-managed key (each change audit-logged), and view live Stripe PAYG subscription status through a controlled customer portal with end-of-period cancel/resume controls. The billing page shows current-cycle tokens-under-management with flat-rate cost, Other inference spend through the last completed day, and an estimated invoice total, plus a platform-admin TUM contract price estimator with a PAYG rate-adjustment (%) input and a contract value estimator for enterprise account value. A billing.TumComponents registry centralizes the token components feeding both the ClickHouse billing measure and a new weekly usage summary email (sent Mondays via a Temporal sweep) reporting TUM total with a percent-change badge, skipping and deduplicating organizations with no usage.

— Names every billing surface and its mechanism, all admin-facing.[email protected][email protected][email protected][email protected][email protected]
05
Enterprise trial signup and lifecycleNEW86

Organizations start a 14-day trial with $50 of chat credits applied as an inference ceiling, shown on the billing page. auth.login accepts optional email (sets WorkOS login_hint and screen_hint=sign-up) and org_name (creates the organization during the auth callback, logged as onboarding_event/new_org_created with created_via: 'signup'), and a new /sign-up page collects company name, with failed signups returning to /sign-up. An hourly job auto-demotes expired trials — returning the org to free, removing it from the whitelist, disabling its platform model key — logged under organization:enterprise_trial_demoted. Active trial status shows in nav, and orgs whose trial ended land on a dedicated upgrade-call page (reachable early via the sidebar countdown) instead of the generic demo-booking screen.

— Names every param, audit event and lifecycle stage.[email protected][email protected][email protected][email protected]
06
MCP approval decision queue and permissionsNEW85

Adds an MCP approval management API: list servers awaiting a decision, retrieve evidence and prior decisions for a server, and record an approval or denial with a rationale and explicit set of principals, gated by new mcp_approval:read and mcp_approval:decide permissions registered in the role editor's scope picker. Approval-request intake lets members submit a server for review by URL or launch command with no permission grant required, and admins can promote existing bypass requests into the queue; decisions automatically replace the server's risk-policy bypass audience with the decision's blast radius (approval) or revoke it (denial), inverting under allow-by-default policies. TypeScript SDK bindings and React Query hooks were generated for these endpoints.

— Names endpoints, permissions and decision semantics, no exact HTTP path.[email protected][email protected]
07
Curated MCP client admission via CIMDNEW84

A userSessionIssuersCimdClients service manages a curated catalog of verified MCP clients (Claude Code, Claude, VS Code, Zed, Goose, ChatGPT, Codex CLI, Notion, MCPJam, Factory Droid, ToolHive) and per-issuer URLs; admission mode — curated catalog, any spec-valid client, or none — is readable and writable on the existing userSessionIssuers endpoints. The dashboard exposes MCP server authentication settings letting admins choose accepted CIMD clients and allow-list additional document URLs, backed by userSessionIssuersCimdClients.verifyURL, which checks a client ID metadata document URL for reachability and spec compliance (rate-limited per project, distinguishing malformed URL, unreachable endpoint, non-JSON body, and spec-violation outcomes). CIMD documents are cached honoring Cache-Control/Expires within a 5-minute to 24-hour bound, revalidating with If-None-Match.

— Names catalog clients, admission modes and the verify endpoint.[email protected][email protected][email protected]
08
Slack image vision in assistant turnsNEW83

platform_slack_get_file_url mints short-lived sealed download URLs via the server's Slack file proxy, and inspect_asset fetches any directly reachable image URL, validates it, and attaches it to the conversation as a user message. Slack images are fetched server-side (up to 4 files, 8 MiB total per turn; png/jpeg/gif/webp, 10 MiB per file) and injected as image_url input parts via data: URIs, stripped to text placeholders before persistence; the input_parts field widens turn requests from plain strings to structured text/image content parts across the Go runtime and Rust runner protocol. Slack file attachment metadata (id, name, mimetype, size) is carried through trigger ingestion, addressable from Slack trigger CEL filters.

— Names both tools, exact limits, formats and wire field.[email protected]
09
Allow-all shadow MCP policy and URL blockingNEW83

Shadow MCP policy creation adds a default-disposition choice — 'Block all servers (allow exceptions)' or 'Allow all servers (block exceptions)' — with the server selector flipping to match; under allow-all, inventory servers are reported allowed by default and shown blocked only when a block rule lists them, the policy banner explains the posture, and the approval UI skips audience/policy pickers. Per-server 'Block Server'/'Unblock Server' actions add and remove risk_policy:block grants through dedicated inventory endpoints, and a new shadow_mcp_blocked_urls field on risk policy create/update payloads proactively blocks server URLs (including unobserved ones), stored as risk_policy:block grants held by the all-users principal; the hook path permits every non-Gram-hosted server unless blocked, and projects are limited to one enabled shadow MCP blocking policy.

— Names the config field, grant type and full enforcement path.[email protected][email protected][email protected][email protected]
10
ChatGPT and Codex compliance importNEW83

A chatgpt_compliance AI-integration provider polls workspace-scoped CONVERSATION_MESSAGE log files from the OpenAI Compliance Logs Platform and persists them as external chats/messages in Agent Sessions, configured with a workspace UUID (distinct from the per-org codex_compliance config). A codex_cloud_sessions schedule on the same integration polls the CODEX_LOG feed and imports Codex cloud web-task transcripts under a new codex-web chat source; Codex cloud usage is metered from the compliance COSTS feed, promoting token counts to gen_ai.usage.* for TUM when no OTEL stream is available, and account identity/billing mode are classified on every capture path, stamping account_type and resolving billing_mode. New chatgpt and chatgpt-work taxonomy sources use hook_source as a GROUP BY dimension so per-product splits survive summarization, and chatgpt:usage rows are admitted into attribute_metrics_summaries_mv and chat_session_summaries_mv.

— Names every provider, schedule, feed and table involved.[email protected][email protected][email protected][email protected]
11
Legacy OAuth proxy removalBREAKING82

Removes the legacy OAuth proxy provider system: the /oauth/* token endpoint now returns invalid_grant, with authorize and register endpoints removed entirely; toolsets.addOAuthProxyServer/updateOAuthProxyServer, the remoteSessionClients.cloneClientFromOAuthProxyProvider and userSessionIssuers.migrateLegacyGramRegistrations migration helpers, the oauth/providers package, and the AdditionalCacheKeys cache fan-out mechanism are all removed. Clients holding proxy refresh tokens must re-authorize against their user session issuer.

— Names every removed endpoint/helper and the required remediation.[email protected]
12
Risk exclusion and false-positive assistant toolsNEW80

platform_list_risk_exclusions and platform_create_risk_exclusion suppress whole classes of findings (the latter fingerprints exact and regex match values to reuse equivalent exclusions), platform_mark_risk_false_positive and platform_unmark_risk_false_positive dismiss and restore specific findings (gated on org admin permissions, fully audited), and platform_get_risk_rule_breakdown answers 'which rules fire most' in a single small call instead of many large paginated responses.

— Names all five tools with exact behavior and gating.[email protected]
13
Device Agent fleet installation and configurationNEW80

Adds GET /v1/install/device-agent-macos.pkg, a stable redirect that resolves the current signed macOS installer version server-side and 302s to the versioned pkg; the setup walkthrough now installs from this signed .pkg (covering installer CLI and MDM Package push), and Device Agent is the default onboarding choice and out of preview. opencode joins the managed tools list with the same off/user/managed enforcement layer selection as other tools, and a new Device Agent configuration tab lets org admins set per-tool enforcement layers, release policy, and reconciliation cadence, backed by organization-level device-agent remote configuration with admin management endpoints, versioning, validation, and audit logging.

Link to the always-current macOS device-agent installer from IT onboarding docs or MDM scripts without hardcoding a version string.
$ curl -L https://<your-gram-host>/v1/install/device-agent-macos.pkg -o device-agent.pkg
— Names the redirect endpoint and config surfaces with an example.[email protected][email protected][email protected]
14
Design system component overhaulBREAKING80

Adds a reveal prop to Input (absorbing PrivateInput), and new primitives Card.Dashboard (replacing DashboardCard), StatTile (replacing chart/MetricCard), and SegmentedControl (absorbing ToggleButton); SettingsSection and DetailSidebarNav move into @/components/detail, and new page-template components (ResourceListPage, DetailPage, TabbedPage, FormPage, SettingsPage, OverviewPage, WorkbenchPage, WizardPage, CenteredPage, FullBleedPage) plus InlineEmptyState, StatRow, SummaryCard, DetailBody land in @/components/page-templates. The Modal/IconButton subsystem, PrivateInput, DashboardCard, ToggleButton, and Editable are removed; chart/MetricCard is renamed StatTile while MetricCard now refers solely to the base primitive.

— Names every component added, renamed and removed.[email protected]
15
Unified Shadow MCP review surfaceBREAKING79

The Shadow MCP servers table becomes the single MCP approval review surface: rows carry review state and a target_kind field marking review-only targets (requested-but-unobserved URLs and stdio commands), evidence is grouped by admin question (identity, data access, capabilities, legitimacy, exposure, prior decisions), and allow/deny decisions with required rationale are made in-place. The standalone Approval Requests page is retired — URL-target links redirect to the server page, the command palette surfaces pending requests instead, block-link redemption now attaches the blocked employee as a requester on the server's single canonical review, and legacy enforcement endpoints (upsert/delete policy bypass, block/unblock server) are retired while resolveShadowMCPInventoryRequest remains during drain.

— Names retired endpoints and new grouping, no migration command given.[email protected][email protected]
16
Documentation lookup tools and resourcesNEW78

New search_gram_docs resource answers queries from a pinned corpus of reviewed Platform MCP setup guides, returning cited excerpts and falling back to guide_unavailable instead of invented steps. mcpRegistries.getSetupDocs returns published setup documentation for an upstream MCP server, locatable by endpoint URL, registry specifier, or both, deduplicated by guide slug and ordered by descending specificity. Managed-assistant tools platform_list_docs and platform_get_doc expose the ~110 pages under speakeasy.com/docs/ai-control-plane, with platform_list_docs returning an hourly-cached page index and platform_get_doc returning a page's markdown and permalink.

— Names three lookup surfaces with exact fallback behavior.[email protected][email protected]
17
GCP IAM external credentials verificationNEW76

Adds externalCredentials.verifyGcpIam to probe that Gram can impersonate a named GCP service account, and externalCredentials.getGcpSetupInfo to report the Gram service account that must be granted roles/iam.serviceAccountTokenCreator; both are gated behind a new customer_managed_encryption_keys entitlement enforced on externalCredentials and externalKeys, and the External Services page is now scoped to org admins.

— Names both endpoints and the required IAM role.[email protected][email protected]
18
MCP approval drift detectionNEW75

A daily sweep re-gathers evidence for approved MCP servers and diffs the permission-relevant slice (OAuth scopes, authority mode, demanded credentials, published advisories) against the approval snapshot, using new evidence_changed_at and notified_change_fingerprint columns to set a changed-since-approval flag and deduplicate recheck announcements. Each distinct change fires once via the audit-log webhook channel and surfaces as a diff banner on the review page and a badge on the inventory.

— Names the diffed fields and storage columns, no manual trigger.[email protected][email protected]
19
Upstream OAuth revocation and refresh policyNEW75

Remote Session credentials are now revoked upstream via RFC 7009: the revocation_endpoint is discovered from the issuer's RFC 8414 metadata and the stored token is posted on revoke, covering single-session revoke, bulk revoke, client delete, and the consent screen's 'Disconnect' flow. Organization admins can also set an org-wide automatic remote session refresh policy (Disabled, User controlled, or Required) from the MCP Connections page, surfaced to end users on the OAuth consent screen.

— Names both RFCs, discovery mechanism and policy options.[email protected][email protected]
20
OpenRouter platform key management and encryptionNEW74

A new adminOpenRouterKeys service and dashboard page lets platform admins list every organization's OpenRouter API keys with credit limit, live usage, and encryption state, with encrypt, enable, and disable actions (enable/disable audit logged against the owning organization). Platform OpenRouter API keys are now encrypted at rest using AES-256-GCM via a dual-write expand phase; reads prefer the encrypted copy and lazily back-fill ciphertext for legacy plaintext rows.

— Names the service, encryption scheme and migration path.[email protected][email protected]
21
Custom domain root routing and OpenAI verificationNEW73

Custom domains can route their root URL (https://your-domain.com/) to a designated default MCP server — configurable from the custom domain page or the MCP server's own settings — letting MCP clients connect at the root while browsers see the installation page, with slug renames auto-updating routing. Custom domains can also serve an OpenAI app-submission verification token at /.well-known/openai-apps-challenge for ChatGPT app review domain verification.

— Names both routes and configuration entry points.[email protected][email protected]
22
externalKeys KMS field restrictionBREAKING73

externalKeys.updateAwsKms and externalKeys.updateGcpKms now cover only name, external_credential_id, and customer_grant_referencekey_arn, resource_name, and algorithm are no longer accepted, so changing what a key points to now requires deleting it and creating a new one; createGcpKms now requires a fully-qualified crypto key version path.

— Names exact accepted/removed fields and the workaround.[email protected][email protected]
23
Platform Admin identity provider catalogNEW72

New adminRemoteSessions.listGlobalIssuers and adminRemoteSessions.getGlobalIssuer endpoints return platform-owned and tenant-owned client counts separately, backing a new Platform Admin sidebar section for curating the shared remote identity provider catalog (list, create, edit, refresh metadata, delete).

Check which platform-level and tenant-level OAuth clients are tied to a global issuer before deciding whether it is safe to delete.
$ curl https://<host>/api/adminRemoteSessions.listGlobalIssuers \
  -H 'Authorization: Bearer <platform_admin_token>'
— Names both endpoints and CRUD surface, has a usage example.[email protected][email protected]
24
Managed device lookup by ID or emailIMPROVED71

deviceIntegrations.listManagedDevices now accepts user_ids and user_emails (OR'd) to resolve managed devices per identity, handling MDM alias mismatches across both lookup legs.

Fetch managed devices for a user by both ID and email in one call, handling MDM alias mismatches that would otherwise split the results.
$ curl -X POST https://<gram-host>/rpc/deviceIntegrations.listManagedDevices \
  -H 'Authorization: Bearer <token>' \
  -H 'Content-Type: application/json' \
  -d '{"user_ids": ["<user-id>"], "user_emails": ["<[email protected]>"]}'
— Named endpoint and params with a runnable example.[email protected]
25
Skill assistant management toolsNEW71

platform_distribute_skill and platform_undistribute_skill attach and revoke a skill from a plugin or assistant, platform_list_plugins resolves a plugin by name to the ID those calls require, and platform_create_skill creates project skills from complete SKILL.md content using the same validation, versioning, permissions, feature gating, and audit logging as manual creation.

— Names all four tools with their exact function.[email protected][email protected]
26
Spend-gate enforcement for Codex and CursorIMPROVED71

Spend-gate enforcement now covers Codex and Cursor at parity with Claude: over-budget actors are denied on hooks.codex (PreToolUse, PermissionRequest, UserPromptSubmit), hooks.cursor (preToolUse, beforeMCPExecution, beforeSubmitPrompt), and the unified hooks.ingest path for codex and cursor adapters (case-insensitive match).

— Names every hook path and event covered.[email protected][email protected]
27
MCP Clients and Sessions tabNEW71

Adds an active_session_count field to the user session clients API, exposing how many active sessions each MCP client holds; clicking the count filters both the Clients and Sessions listings to that client. The MCP server's Clients and Sessions tab now leads with active counts and renders both listings as searchable, filterable, sortable tables paginated ten rows at a time, with member avatars and creation dates on sessions, distinguishing CIMD-resolved OAuth clients from DCR-registered ones.

— Names the exact field, table behavior and pagination size.[email protected][email protected][email protected]
28
Assistant detail panel configuration and session analyticsNEW70

The assistant detail panel is now fully configurable in place: overview settings (name, model, concurrency, warm TTL) are editable, and a Sessions tab shows aggregate stats (sessions, messages, cost, tokens) over a selectable time range defaulting to the last 30 days with per-session cost, backed by exact range-bounded activity totals and independent pagination on assistant sessions.

— Names editable fields and stats scope, no config keys given.[email protected][email protected]
29
OAuth CIMD support without DCRNEW70

Supports OAuth Client ID Metadata Documents (CIMD) on the Gram Session OAuth authorization server, gated per organization behind the gram-user-session-cimd feature flag, enabling MCP clients that use a URL-shaped client_id (such as Claude Code and VS Code) to complete the OAuth flow without Dynamic Client Registration, including loopback redirects on any port.

— Names the feature flag and exact clients supported.[email protected]
30
RFC 9207 authorization response iss parameterNEW70

The OAuth authorization server now emits the RFC 9207 iss parameter on every authorization response (success and error) and advertises authorization_response_iss_parameter_supported in its metadata document, satisfying the MCP 2026-07-28 Authorization Response Validation requirement and enabling mix-up attack detection across concurrent flows.

— Names exact RFC, spec requirement and metadata field.[email protected]
31
Live demo organization accessNEW70

Adds auth.enterDemo to switch any authenticated session into a shared read-only demo organization without requiring membership, enforced by a fixed read-only scope with a verb-based write guard as backstop; the dashboard gains an /explore-demo entry route and demo banner, which also routes new visitors directly to the demo org's default project.

Switch an authenticated session into the shared read-only demo org to let a prospect explore live data without provisioning a separate account.
$ curl -X POST https://<your-gram-host>/v1/auth.enterDemo \
  -H 'Authorization: Bearer <session-token>'
Let a prospect explore Gram features without creating an account or requesting org membership — flip their session into the demo org via the API.
$ curl -X POST https://<host>/api/auth.enterDemo \
  -H 'Authorization: Bearer <session_token>'
— Names the endpoint and route with two runnable examples.[email protected][email protected][email protected]
32
external_user_ids exact-match filter fixIMPROVED68

New risk.listResults filter external_user_ids performs exact whole-match lookups across both Postgres and ClickHouse paths, fixing the existing user_id substring match that caused cross-user result leakage; user_id itself is unchanged.

— Names endpoint, param and the exact bug fixed.[email protected]
33
Device agent configuration restricted to org adminsBREAKING68

Viewing device agent fleet configuration (agent.getConfiguration) now requires the org:admin role, aligning read access with the existing agent.updateConfiguration write requirement; the Device Agent Configuration tab is hidden from non-admins in the dashboard, and callers with lesser roles that previously could read fleet configuration will receive an authorization error after upgrading.

— Names exact endpoints and the newly required role.[email protected][email protected]
34
Watchdog risk investigation surfaceNEW67

A new risk.getSignals API endpoint backs a new Watchdog UI page for finding attribution. Watchdog signals are scored from the matched risk policy's configured score, the signal drawer is simplified to a single Create-exclusion action, and the agent-facing risk findings listing now defaults to 25 results and caps at 50 to prevent large pages from inflating assistant context during triage.

— Names endpoint and exact page-size defaults.[email protected][email protected][email protected][email protected]
35
Shadow MCP inventory per-user lookupNEW67

New GET /rpc/access.listShadowMCPInventoryServersForUser endpoint inverts the shadow MCP inventory to return all shadow servers reached by a single user, enriched with the same policy state shown in the project-wide listing.

— Exact method and path given, thin on further mechanism.[email protected]
36
Public skill share links on custom domainsNEW67

Public skill share links now use a verified custom domain, serving the share page and raw SKILL.md download at https://<your-domain>/shared/skills/<token>, scoped so a domain only serves skills belonging to its own organization.

— Names the exact URL pattern and scoping rule.[email protected]
37
MCP Connections graph view and statusNEW65

The MCP Connections view now renders as a graph — rows represent a person, provider, or client, and expanding a row shows the nodes on the other side of its edges; the list splits into active connections and inactive ones (dormant over a week or no longer usable), which remain visible and revocable. Each row also carries a status dot (green live, amber expiring, red needs re-auth, grey idle or revoked).

— Describes graph mechanism and status states, UI path only.[email protected]
38
chat.list user_id filterNEW65

Adds a user_id filter to chat.list so callers with project-wide chat visibility can narrow results to a specific Gram user.

Filter chat sessions to only those started by a specific user when querying project-wide chat history.
$ curl -X POST https://<your-gram-host>/api/chat.list \
  -H 'Authorization: Bearer <token>' \
  -H 'Content-Type: application/json' \
  -d '{"user_id": "usr_abc123"}'
Narrow Project Assistant chat history to sessions started by a specific user, using the new user_id filter on chat.list.
$ chat.list({ user_id: "<gram-user-id>", source_kind: "dashboard" })
— Exact endpoint and param with two runnable examples.[email protected][email protected]
39
Microsoft Teams assistant triggerNEW65

Adds Microsoft Teams as an assistant trigger source: Bot Framework activities (messages, reactions, membership and installation updates) posted to a trigger webhook are verified against Microsoft's signing keys and dispatched to assistants with the same CEL-based event type filtering as other webhook triggers.

— Names verification mechanism and filtering, no setup steps.[email protected]
40
Identity provider convergence toolNEW65

Adds a Convergence tab on platform identity providers, letting platform admins consolidate an organization's remote identity provider onto the shared platform catalog entry — showing how many clients would move and any metadata differences — and re-pointing those clients on consolidation without requiring users to sign in again.

— Describes the migration mechanism, UI path only.[email protected]
41
Browser hardening response headersIMPROVED65

Adds Cross-Origin-Resource-Policy: same-origin, Cross-Origin-Opener-Policy: same-origin, and X-Permitted-Cross-Domain-Policies: none headers to dashboard HTML responses, set per nginx location block to avoid inherited header loss; static assets under /assets and /external retain Access-Control-Allow-Origin: *.

— Names every header value and the asset exception.[email protected]
42
LiteLLM integration provisioning and telemetryNEW63

Adds authenticated OTLP trace ingestion for LiteLLM telemetry, project-scoped LiteLLM integration provisioning, key rotation, revocation and lifecycle metadata APIs, opt-in OTLP operational metrics excluded from usage billing and sessions, and health/attribution diagnostics for provisioned integrations. Agent sessions routed through LiteLLM retain their LiteLLM association when the agent's own hook stream captures the transcript, displaying as '<Client> via LiteLLM' in session views.

— Names the API surfaces, no exact endpoint paths.[email protected][email protected]
43
Local Docker runtime provider for assistantsNEW62

Adds a local runtime provider for assistants that starts one Docker container per assistant on demand, reuses it across turns, and replaces idle containers when the runtime image is rebuilt — with no Fly.io credentials required.

— Explains container lifecycle, no setup command given.[email protected]
44
User session detail field expansionIMPROVED62

userSessions.listUserSessions now returns last_used_at and upstreams (remote sessions Gram holds for the same subject and issuer) per session, exposing both legs of a brokered connection in a single call.

— Named endpoint and exact new fields returned.[email protected]
45
Business memory extraction and corpus browserNEW61

Selectively extracts high-value, reusable business memories from completed chats, deduplicating semantic duplicates to reduce corpus noise, with an organization-admin corpus browser offering semantic search, source-transcript navigation, and a content-scope tree showing distinct-memory counts.

— Describes mechanism and admin UI, no config surface given.[email protected][email protected]
thinner coverage below
46
Agent Plugins for Cursor and CodexNEW59

Publishes compatible Cursor and Codex plugins from a shared Agent Plugins 1.0 package and exposes compatibility on plugin responses; compatibility status and portable ZIP downloads now appear on plugin list and detail pages.

— Names the package version and download format, thin mechanism.[email protected][email protected]
47
Toolset OAuth configuration reworkIMPROVED59

Reworks the toolset OAuth configuration UI: the 'Configure OAuth' wizard's custom path now provisions a remote_session_issuer + remote_session_client and links the toolset instead of an OAuth proxy server; the external-OAuth path is unchanged.

— Names the exact resources now provisioned.[email protected]
48
MCP server icon fetchingNEW57

New assets.fetchImageFromURL endpoint downloads a catalog server's registry icon into an image asset at install time and stores it as the server's MCP metadata logo; collection listings now populate icon_url from mcp_metadata for both toolset-backed and mcp_server-backed servers.

— Names the endpoint and storage path, no UI location given.[email protected][email protected]
49
Prompt injection scanning for skillsNEW57

Captured skill manifests are scanned for prompt injection at capture time, with current-version findings surfaced on the skill details page; admins can configure the Prompt Injection policy directly from the Skills page.

— Names scan timing and config location, no scan mechanism.[email protected][email protected]
50
Organization name Unicode supportIMPROVED57

Organization names now accept punctuation and any Unicode script (Japanese, Chinese, Korean, Cyrillic, Arabic, Hebrew, etc.), capped at 100 characters and required to carry at least two letters or numbers; control characters, bidi overrides, and invisible formatting are still rejected.

— Names exact validation rules and character cap.[email protected][email protected]
51
Organization sessions page movedBREAKING55

The organization page moves from /user-sessions to /mcp-sessions with an updated nav entry and title; bookmarks or hardcoded links to /user-sessions will no longer reach that page.

— Exact old and new paths given, nothing more.[email protected]
52
On-demand MCP tool discoveryIMPROVED52

MCP tools are now discovered on demand through a search tool rather than sent in full on every call; MCP servers connect on first use instead of at assistant startup, and dropped connections reseat automatically.

— Describes mechanism, no named endpoint or flag.[email protected]
53
LiteLLM Generic Guardrail and response captureNEW52

Adds an authenticated LiteLLM Generic Guardrail endpoint that enforces prompt policies before model calls and captures blocked prompts, plus capture of LiteLLM model responses with per-call session and user attribution to support asynchronous risk analysis.

— Describes function, no endpoint path given.[email protected]
54
Skills page UI improvementsIMPROVED50

Skill details are split into focused pages for content, usage, feedback, versions, and settings, and the Skills table columns are now sortable from their headers (defaulting to 'recently updated'), with the table reduced to its most useful overview columns and rebalanced widths.

— Names the split pages and sort default, no config surface.[email protected][email protected]
55
Admin projects list MCP server countsIMPROVED48

The admin projects list now reports the count of MCP servers per project (covering both mcp_servers rows and MCP-enabled toolsets) without requiring the operator to open each project.

— Names the two counted sources, thin overall.[email protected]
56
Risk policy enable/disable toggleNEW48

Risk policies can now be disabled and re-enabled from Policy Center and the policy detail page, letting operators pause enforcement without deleting the policy.

— Names exact UI locations, thin mechanism.[email protected]
57
Chat composer prompt historyNEW48

The chat composer now recalls past prompts terminal-style using Up/Down arrow navigation, with history kept in localStorage scoped per project.

— Names the interaction and storage scope, thin overall.[email protected]
58
Policy bypass request justificationIMPROVED47

risk.createPolicyBypassRequest now carries a requester-supplied justification as the requester's note on the review, replacing the previous behavior where every requester's note defaulted to the policy's generic block reason.

— Names the endpoint and behavior change, nothing further.[email protected][email protected]
59
File attachments in Project AssistantNEW46

The Project Assistant now supports file attachments — images, text files, and OpenAPI specs travel with the turn; unreadable files get a short-lived download link.

— Names supported types, no size limits given.[email protected]
60
Directory groups as plugin assignment audiencesNEW40

Exposes active directory groups and exact directory attribute values as plugin assignment audiences for organization administrators.

— Bare description of the capability, no mechanism.[email protected]
61
Editorial design language refreshIMPROVED38

Applies a new editorial design language across the dashboard: flat square surfaces with hairline borders, serif display page titles, colorized metric tiles, and a dark-mode chart palette.

— Visual description only, no component names.[email protected]
62
Webhooks available to all organizationsIMPROVED37

Webhooks are now available to every organization (marked Beta) without a preview gate; delivery is controlled solely by the organization's own webhooks toggle.

— Brief statement of availability change.[email protected]
63
Project sidebar nav groupingIMPROVED37

Project sidebar nav groups now collapse by default with a chevron to pin groups open; only the group containing the current page opens automatically.

— UI behavior description only, no config.[email protected]
64
RBAC always on by defaultIMPROVED35

Makes RBAC always on, provisioning built-in roles and grants for new organizations and assigning the first organization user the Admin role.

— States the default change, no further mechanism.[email protected]
65
Figma direct server connectionIMPROVED30

Connects Figma added from the MCP catalog directly to Figma's official server instead of routing through a proxy.

— One-line change, minimal detail given.[email protected]
66
Durable block pages link to risk event logIMPROVED30

Durable block pages now link to the owning project's risk event log.

— Single-line UI addition, minimal detail.[email protected]
67
Shadow MCP warning policies visibilityIMPROVED28

Displays enabled warning policies in the Shadow MCP inventory status card.

— Single-line UI addition, no mechanism given.[email protected]
└──▷ BREAKING ON UPGRADE
  • !The organization MCP sessions page moves from /user-sessions to /mcp-sessions; any bookmarks or hardcoded links to /user-sessions will no longer reach that page.
  • !The standalone Approval Requests review page is removed; the Shadow MCP servers table is now the only review surface.
  • !Legacy Shadow MCP inventory enforcement endpoints (upsert/delete policy bypass, block/unblock server) are retired; all allow/deny actions must go through a recorded MCP approval decision.
  • !The standalone Approval Requests review page is retired; the Shadow MCP servers table is now the only review surface, and existing request links for URL targets redirect to the server page.
  • !agent.getConfiguration now requires org:admin; callers with lesser roles that previously could read device agent fleet configuration will receive an authorization error after upgrading.
  • !Viewing agent.getConfiguration now requires org:admin; users without that role who previously could view device agent fleet configuration will lose access.
  • !externalKeys.updateAwsKms and externalKeys.updateGcpKms no longer accept key_arn / resource_name or algorithm; changing what a key points to now requires deleting it and creating a new one.
  • !createGcpKms now requires a fully-qualified crypto key version path.
  • !externalKeys.updateAwsKms and externalKeys.updateGcpKms no longer accept key_arn, resource_name, or algorithm; only name, external_credential_id, and customer_grant_reference are accepted, so changing what a key points to now requires deleting it and creating a new one.
  • !The Modal and IconButton subsystem has been removed.
  • !PrivateInput is removed; use Input with the new reveal prop instead.
  • !DashboardCard is removed; use Card.Dashboard instead.
  • !ToggleButton is removed; use SegmentedControl instead.
  • !Editable is removed; use editable-text instead.
  • !The analytics tile chart/MetricCard is renamed to StatTile; MetricCard now refers solely to the base primitive.
  • !The /oauth/* proxy serving path is removed: the token endpoint now returns invalid_grant, and the authorize and register endpoints are gone — clients holding proxy refresh tokens must re-authorize against their user session issuer.
  • !The toolsets.addOAuthProxyServer and updateOAuthProxyServer proxy management endpoints are removed.
  • !The remoteSessionClients.cloneClientFromOAuthProxyProvider and userSessionIssuers.migrateLegacyGramRegistrations migration helpers are removed.
  • !The oauth/providers package and the AdditionalCacheKeys cache fan-out mechanism are removed.
Was this useful?
my-toolchain — 0 tools
paste an install list to detect your tools

A brew list, a Brewfile, requirements.txt, a Dockerfile — or just the product names, free-form. Nothing leaves your browser.

    browse all tools →