---
summary: "Adopts MCP 2026-07-28 and SDK v2 with strict tool inputs, structured search truncation metadata, and sparse OneBusAway response handling."
breaking: false
security: false
---

# 0.1.14 — 2026-08-23

## Changed

- **MCP runtime** — `@cyanheads/mcp-ts-core` `^0.10.14` → `^0.12.3` adopts the MCP SDK v2 server and MCP 2026-07-28 protocol support; all 15 tools now reject undeclared root arguments and advertise closed input schemas.
- **Search truncation enrichment** — `onebusaway_search_stops` and `onebusaway_search_routes` add structured `truncated`, `shown`, and `cap` metadata when the upstream result exceeds `maxCount`.
- **Session mode** — `.env.example`, the Docker image, and the README now consistently select `stateless`; the documented `auto` schema default remains available and resolves to `stateful`.
- **Framework tooling and packaging** — synchronized framework scripts and 33 skills, moved builds to Bun 1.4 and TypeScript 7, added native-binding pruning for portable MCPB bundles, and made multi-architecture Docker builds use the build platform explicitly.
- **Project metadata** — added contributor and conduct guides, a shared `AGENTS.md` protocol link, the Codex `data` category, and the dedicated `security@caseyjhand.com` disclosure address.

## Fixed

- **Sparse OneBusAway responses** — omitted `limitExceeded` values normalize to `false`, vehicles without complete coordinates are excluded instead of receiving fabricated `0,0` positions, and empty route schedule short names fall back to the route ID.

## Dependencies

- `@cyanheads/mcp-ts-core` `^0.10.14` → `^0.12.3`
- `onebusaway-sdk` `^1.10.12` → `^1.20.0`
- `@biomejs/biome` `^2.5.0` → `^2.5.9`
- `@types/node` `^26.0.0` → `^26.2.0`
- `ignore` `^7.0.5` → `^7.0.6`
- `tsc-alias` `^1.8.17` → `^1.9.2`
- `typescript` `^6.0.3` → `^7.0.2`
- `vitest` `^4.1.9` → `^4.1.11`
- `bun` (package manager) `1.3.14` → `1.4.0`
