Skip to content

v2.12.0

Choose a tag to compare

@chrischall chrischall released this 02 Oct 22:02
1e222cb

2.12.0 (2026-10-02)

Features

  • concurrency: verifyAfterWrite, a bounded and cancellable re-read after a write (7b89cad)
  • fetchproxy: a shared direct-first transport that falls back to the bridge on an edge block (#315) (e8ba3f3)
  • fs: a shared upload guard, exclusive no-follow writes, and PDF/zip/MIDI sniffing (#320) (abeb285)
  • graphql: a shared GraphQL transport and operation-kind lexer (#322) (b79405c)
  • redact: redact Google OAuth2 access and refresh tokens (#318) (61cad19)
  • scrape: a linear extractNextData for NEXT_DATA blobs (#337) (8d77a5b)
  • scrape: add htmlToReadableText and extractJsonKeyAfterMarker (#319) (895204e)
  • server: a shared confirmWrite kit and untrusted-content framing (#317) (a1df857)
  • session: keep SessionStore and TokenManager stores consistent across processes (#326) (f86081d)
  • session: login-page expiry predicate and label-only session-tool descriptions (#327) (3ad9e57)

Bug Fixes

  • fetchproxy: retry and classify any declared timeout in bulk rows (#335) (47c54c0)
  • fs: refuse a final-component symlink in writeFileSafe even with allowedRoots (#332) (ca88027), closes #324
  • http: cancel abandoned response bodies on retry, 429, 204 and JSON 401 (#316) (83f7e19)
  • http: runBoundedBatch stops when the caller cancels, not only at the deadline (#329) (e2c58b6)

Documentation

  • server: publish the confirm-token format as a reference spec (#338) (1c4fa82)
  • skill: finish the confirmToken and allowedRoots migration in mcp-fleet-builder (#321) (3dfed0e)
  • skill: point mcp-fleet-builder at the shared confirm, fs, graphql and transport APIs (#334) (1b5252b)