Changelog

Every release, straight from the changesets. Newest first.

v1.6.0
minor

Coverage accuracy + external docs corpus (posthog-js dogfood fixes):

  • Coverage no longer counts external re-exports as undocumented. Exports whose declaration lives outside the analyzed program (source.file === '<external>' or a package-only source) are excluded from the denominator in buildDriftSpec, scan, coverage, and health, and surfaced separately: summary.externalExports / health.completeness.external in the SDK, coverage.external in CLI JSON, and a "+N external (not resolvable here)" note in human output. New SDK exports: isExternalExport, EXTERNAL_SOURCE_FILE; ApiSource gains package/version.
  • New --docs <patterns...> flag on scan and lint: point prose drift at an arbitrary markdown corpus (glob patterns or directories, e.g. a hosted docs site pulled down locally) instead of the repo-local defaults. Runs for any language when given explicitly; warns when patterns match no files.
v1.5.1
patch

Readable type labels for OpenAPI surfaces. The adapter preserves inlined schema names as title (so a resolved $ref still knows it was CandidateInfoSuccessResponse); drift get renders composed types (string | null, Success | Error) instead of bare anyOf/oneOf, and long parameter names no longer collide with the type column.

v1.5.0
minor

Agent-native drift. Multi-lang truth primitives: extract, list, get, coverage, lint, and health now accept any surface — --spec <path-or-URL> (OpenAPI 3.x), --abi + .clar (Clarity) — with language inferred from flags/extension. drift get candidateInfo --spec https://…/openapi.json returns the authoritative operation. New drift mcp: stdio MCP server exposing drift_extract/list/get/scan/diff/breaking to any agent. Skills shipped in-repo (skills/drift, skills/docs-verify).

v1.4.0
minor

OpenAPI adapter: map OpenAPI 3.0/3.1 documents to ApiSpec and scan REST API surfaces with drift scan --lang openapi --spec <file>. Operations become exports (operationId or METHOD path), requestBody object schemas flatten into named parameters, local $refs resolve (cycle-safe), success responses carry through — including RPC-style oneOf [success, error] shapes. Named component schemas map to ApiSpec types.

minor

Publish integrity + audit fixes. CLI: replace workspace:* internal dep ranges with real semver (1.3.0 was uninstallable via npm — the workspace protocol leaked into the published manifest), drop dead main/types/exports fields (bin-only package), correct --help claims. SDK: ship schemas/ so SCHEMA_URL stops 404ing, remove orphaned scan/install modules, move type-only @vercel/sandbox out of runtime deps. All packages: engines.node >=20, prepublishOnly build guard; clarity adapter now ships LICENSE + README.

v1.3.0
minor

Add --lang clarity and --abi flags to drift scan for Clarity smart contract support