---
summary: "quota_exceeded and the new request_rejected reason now fail fast instead of retrying (#48, #47); bls_get_series surfaces BLS's 3- and 6-month net/percent changes (#50); .mcpbignore excludes /.cache/, fixing an oversized .mcpb bundle (#52)."
breaking: false
security: false
---

# 0.4.8 — 2026-07-17

## Added

- **`request_rejected`** — `bls_get_series`'s `errors[]` contract gains a new reason for BLS non-success statuses matching no other known failure mode (e.g. a rejected parameter combination). Thrown as `retryable: false` with a recovery hint resolved via `ctx.recoveryFor('request_rejected')`. ([#48](https://github.com/cyanheads/bls-labor-mcp-server/issues/48))
- **3- and 6-month calculations** — `Observation` gains `netChange3Month`, `netChange6Month`, `pctChange3Month`, and `pctChange6Month` alongside the existing 1- and 12-month fields. `bls_get_series`'s output schema, `format()` table, and `flattenToRows` canvas columns (`net_change_3m`, `net_change_6m`, `pct_change_3m`, `pct_change_6m`) all extended. ([#50](https://github.com/cyanheads/bls-labor-mcp-server/issues/50))

## Changed

- **`quota_exceeded` is non-retryable** — both throw sites in `parseSeriesResponse` now set `retryable: false`, so the framework's `withRetry` fails fast instead of burning up to 4 attempts against the 500/day cap. `series_locked` is unaffected and still retries. ([#47](https://github.com/cyanheads/bls-labor-mcp-server/issues/47))
- **`bls_get_series` `format()` table** — calculation columns now render only the intervals a survey actually returned instead of a fixed Net 1M/12M/Pct 1M/12M set, so a percent-change-only survey like CPI no longer shows empty Net columns.
- **`CLAUDE.md` / `AGENTS.md`** — corrected the `bls_get_latest` checklist line: the per-series fanout is concurrent (`Promise.allSettled`), not sequential. ([#47](https://github.com/cyanheads/bls-labor-mcp-server/issues/47))

## Fixed

- **`.mcpb` bundle size** — `.mcpbignore` now excludes `/.cache/`, so a local BLS catalog SQLite cache no longer ships inside the packaged `.mcpb`. ([#52](https://github.com/cyanheads/bls-labor-mcp-server/issues/52))
