---
summary: "Author list paging/cap on crossref_get_work and crossref_search_works, reference markup stripped via element-name allow-list"
breaking: false
security: false
---

# 0.3.5 — 2026-08-09

## Added

- **`crossref_get_work`** paginates the deposited author list with new `offset`/`limit` inputs (default 25, max 500). `authorCount` reports the full deposited total; a `nextOffset` enrichment field carries the next page's offset when authors remain, and an offset past the end returns an empty page with a notice naming the true total. Only the author list is paged — every other record field returns in full on every page. [#43](https://github.com/cyanheads/crossref-mcp-server/issues/43)
- **`crossref_search_works`** caps each work's author list with a new `authorLimit` input (default 25, max 500) and reports each work's full deposited total as `authorCount`. A page-level `truncated`/`cap` pair and `notice` disclose when any work on the page was cut, naming `crossref_get_work` as the route to the rest. [#43](https://github.com/cyanheads/crossref-mcp-server/issues/43)

## Changed

- **`crossref_get_references`** strips inline formatting markup from `unstructured`, `author`, `journalTitle`, and `articleTitle` via a new `normalizeReferenceText`/`stripReferenceMarkup` pass in `crossref-service.ts`, bounded by a closed element-name allow-list (`i`, `b`, `em`, `small`, `italic`, `bold`, `scp`, `sc`, `u`, `strong`, `sub`, `sup`, `subscript`, `superscript`, `stack`, `br`, `p`, plus MathML spans). Angle-bracket spans not on the list — bracketed URLs, Miller indices, DOI fragments, `href` attributes on `a`/`ext-link` — pass through unchanged. Previously these fields ran through the baseline `normalizeText` pass only, leaving all markup intact. [#49](https://github.com/cyanheads/crossref-mcp-server/issues/49)

300 tests pass; `bun run devcheck` and `bun run rebuild` clean.
