---
summary: "crossref_search_works force-includes DOI in select= and stops capping author lists at 10; crossref_get_references pages instead of truncating content[]; crossref_get_member scales coverage precision so small fractions don't round to 0%"
breaking: false
security: false
---

# 0.2.1 — 2026-08-06

## Fixed

- **`crossref_search_works` DOI-safe `select=`** — `CrossrefService.searchWorks` force-includes `DOI` in the `select=` projection even when the caller's `fields` list omits it, and `WorkSummarySchema.doi` is required again with the handler mapping unconditional; a projection without `DOI` previously produced a schema-valid but unresolvable work summary ([#1](https://github.com/cyanheads/crossref-mcp-server/issues/1)).
- **`crossref_search_works` full author lists** — dropped the `.slice(0, 10)` cap on `authors`; `crossref_get_work` already returned the full list, so the two tools now agree ([#32](https://github.com/cyanheads/crossref-mcp-server/issues/32)).
- **`content[]` / `structuredContent` parity** — `crossref_get_references` no longer caps its rendered text at 50 references with 120-character citation strings, and `crossref_search_works` no longer slices the rendered abstract to 300 characters; both surfaces now render every element `structuredContent` carries ([#31](https://github.com/cyanheads/crossref-mcp-server/issues/31)).
- **`crossref_get_references` paging** — new `offset`/`limit` inputs (default 0/100, max 500) page the deposited reference list symmetrically across `structuredContent` and `content[]`; `nextOffset` enrichment carries the input for the next page, and a distinct `notice` covers the past-the-end case ([#31](https://github.com/cyanheads/crossref-mcp-server/issues/31)).
- **`crossref_get_member` coverage precision** — `formatCoverage()` scales rendered decimal precision to magnitude so a small nonzero fraction (e.g. `0.0000138`) no longer rounds to a flat `0%` ([#31](https://github.com/cyanheads/crossref-mcp-server/issues/31)).

## Changed

- **`crossref_get_work` description** — clarified that outgoing references are reported as a count (`referencesCount`); the reference entries themselves come from `crossref_get_references`.

## Dependencies

- `@cyanheads/mcp-ts-core` ^0.10.14 → ^0.11.1
- `typescript` ^6.0.3 → ^7.0.2
- `@biomejs/biome` ^2.5.0 → ^2.5.6, `@types/node` ^26.0.0 → ^26.1.2, `tsc-alias` ^1.8.17 → ^1.9.1
