---
summary: "An OpenAlex 500 now retries instead of failing on the first attempt, and a caller that disconnects mid-call surfaces as a cancellation rather than an internal error."
breaking: false
security: false
---

# 0.7.10 — 2026-09-02

## Changed

- **An OpenAlex `500` retries and reports `reason: upstream_unavailable`** — inherited from `@cyanheads/mcp-ts-core` 0.12.4, which stopped mapping any HTTP status to `InternalError`. Every search, trend, and citation-graph call previously failed a 500 on the first attempt while retrying the 502 beside it.
- **A client that disconnects mid-call classifies as `RequestCancelled` (-32011)**, not `InternalError`, and the in-flight OpenAlex request is not retried.
- **`MCP_SESSION_MODE` in `.env.example`** documents `stateless` — what the published Docker image sets — and names `auto` as the schema default.
- Framework skills synced to the versions shipped with `@cyanheads/mcp-ts-core` 0.12.4 and 0.12.5: `add-tool`, `api-config`, `api-context`, `api-errors`, `api-linter`, `api-utils`, `design-mcp-server`, `maintenance`, `release-and-publish`, `setup`.

## Dependencies

Runtime:

- `@cyanheads/mcp-ts-core` `^0.12.3` → `^0.12.5`
- `zod` `^4.4.3` → `^4.5.4`

Dev:

- `@biomejs/biome` `^2.5.9` → `^2.5.11`
- `@types/node` `^26.2.0` → `^26.4.0`
- `ignore` `^7.0.6` → `^7.0.7`
