---
summary: "configurable BLS User-Agent via BLS_USER_AGENT; @cyanheads/mcp-ts-core ^0.9.21"
breaking: false
security: false
---

# 0.3.0 — 2026-06-02

## Added

- **`BLS_USER_AGENT`** env var — configures the `User-Agent` header sent on all HTTP requests to the BLS API and LABSTAT flat-file server. Default: `cyanheads-bls-mcp/1.0 (https://github.com/cyanheads/bls-labor-mcp-server; casey@caseyjhand.com)`. BLS data-access policy requires a descriptive UA with contact; this default satisfies it while remaining overridable.

## Changed

- **`@cyanheads/mcp-ts-core`** `^0.9.16` → `^0.9.21` — HTTP transport per-request log context fix; `fetchWithTimeout` strips query-string secrets from error messages and logs; `withRetry` now fails fast on non-retryable errors and auto-populates `ctx.fail` retryable status.
- **`scripts/devcheck.ts`** — adds `Open-Indexed Interfaces` check (guards framework-only AST rule) and `Skill Versions` check (enforces version bumps when skill body changes).
- **`scripts/check-skill-versions.ts`** (new) — enforces skill-versioning policy: any change to a `skills/<name>/SKILL.md` body must bump `metadata.version` in the same edit.
- **`scripts/release-github.ts`** (new) — creates or repairs a GitHub Release on the current annotated tag with the correct `v<VERSION>: <subject>` title format.
- **Skills synced** — `add-service`, `add-tool`, `api-canvas`, `api-context`, `api-linter`, `api-utils`, `design-mcp-server`, `release-and-publish` updated from upstream; `api-mirror` and `orchestrations` added.
- **`README.md`** client-config server key normalized from `bls` to `bls-labor-mcp-server` across stdio, npx, and Docker examples.

## Dependencies

- `@cyanheads/mcp-ts-core` `^0.9.16` → `^0.9.21`
- `@duckdb/node-api` `^1.5.3-r.2` → `^1.5.3-r.3`
- `vitest` `^4.1.7` → `^4.1.8`
