Repository navigation
Releases: vernikr/biblio-mcp
Release list
v2.2.11
Documentation release: the package page now describes what the last four releases actually ship.
Changed
- The README cover names what the recent releases changed for the user: a paper a search already found is not looked up again when it is opened, a download that meets an unresponsive server gives up in seconds instead of hanging past the assistant's patience, and a call with a bad argument says which argument.
- The install section no longer pins artifacts of one particular release, which went stale on every subsequent one.
No runtime bytes changed in this release: the compiled server is identical to 2.2.10.
v2.2.10
Wave 4 of the iteration-2 refactor: a download attempt that meets a silent file server comes back.
Fixed
download_bookandfetch_bookgave a silent file server up to ten minutes to send response headers, while the transfer itself was guarded by a 30 s stall watchdog — so a dead link outlived every client waiting on the call (measured: one failure answered after 125 s, two more never answered at all). Both phases now share the 30 s budget, still overridable withBIBLIO_DOWNLOAD_TIMEOUT_MSandBIBLIO_DOWNLOAD_STALL_MS.- A failed download now says which silence killed it —
no response headers within 30000 ms …ortransfer stalled for 30000 ms after N bytes …— instead of the transport'sThis operation was aborted.
v2.2.9
Wave 3 of the iteration-2 refactor: the tree stops stating facts it cannot keep true.
Fixed
- The advice
scripts/preflight.mjsgives when a zod-3-only SDK meets zod 4 named a version (3.23.8) that nothing in the project pins. It now names the range the installed SDK declares.
Changed
src/mirrors.tsno longer annotates each host with status and latency from a past audit — three of those annotations were already false on the day this release was cut. The host order, the deliberate absences and their reasons stay; live numbers come from thehealthchecktool.
v2.2.8
Wave 2 of the iteration-2 refactor: one more duplicate resolution removed, and a page budget for mirror bodies.
Changed
- Sci-Hub resolutions are reused for the short agent loop: a DOI an enriched
search_papersalready resolved is not resolved again by the follow-upget_paper(measured: that second call made a full extra mirror round trip). Concurrent callers share one resolution, and a miss is still asked for again.
Fixed
- A mirror answering with an oversized page can no longer balloon the process: page bodies are read against a 20 MB budget — a declared length is refused before the body is read, a streaming body is cut off mid-transfer, and the identity probe reads through the same reader.
v2.2.7
Fixed
- A truncated download whose first bytes are a ZIP signature was saved as
.bin, and a mirror
sendingApplication/PDFproduced no extension at all. File-type sniffing no longer requires
four bytes before it looks, and reads the content-type header case-insensitively. - The fix line
--selfcheckprints for a broken dependency pairing, and the advice
scripts/preflight.mjsgives for it, now name the versions this package pins instead of a
hand-written pair that drifts on the first dependency bump.
Changed
--selfchecklists the tool names it verified, so "my client shows no tools" can be diffed
against the server's own answer.- Argument errors are built from the tool's own schema rather than from the SDK's error text: the
sentences are unchanged, and a reworded SDK upgrade can no longer hand agents raw validation
output. - The
test:allscript is gone;verify:livealready runs the offline gate and the live checks.
Wave 1 of refactor iteration 2 — internal de-duplication with no user-facing behaviour removed.
Full gate green: typecheck, preflight, verify (259 tests, 0 skips), installer dry-run, package and
consumer acceptance on Linux/macOS/Windows.
v2.2.6
Changed
- The README is a page for the person installing, not for the person changing the code: 581 lines
became 395. The comparison tables moved todocs/about-this-fork.md, the development section to
AGENTS.md, the request flow todocs/architecture.md, and the roadmap todocs/STATE.md. docs/architecture.mddescribes the request flow and the three invariants an agent must not
break, so reading it is cheaper than readingsrc/.- One recommended launcher everywhere: the README's FAQ no longer offers a second way to start the
server, and the source installer says that the entry it writes runs the checkout, not the
published release.
Fixed
- The check that every documented
pnpmscript exists now scansAGENTS.mdas well as the README,
so the script list cannot move out from under it again.
No runtime behaviour changes. This release exists so the split README reaches the package page.
v2.2.5
Changed
- The "For AI agents" install steps are shorter and pnpm-free. The agent checks Node, writes
mcpServers.bibliointo~/.agents/mcp.json(read by FreeBuff and ZCode) or the config path the user gives, and verifies the eight tools through the client. Claude Code usesclaude mcp add. The agent no longer runs--selfcheckor--print-configfirst; those stay available for debugging.
v2.2.4
Changed
- The README no longer documents a pnpm launcher for clients. Install and Quick start give one entry,
npx --yes @vernikr/biblio-mcp@latest, and one Claude Code command. The release-age and cache flags that the pnpm entry needed are gone with it.
v2.2.3
Changed
--print-configwrites an npx entry instead of a pnpm one:commandis the absolute path tonpx,argsare--yes @vernikr/biblio-mcp@latest, andenv.PATHlists the folders holdingnodeandnpx. npx resolveslatestwithout pnpm's release-age check, so no extra flags are needed.- The README Quick start is the second block, right after the title and description. Its JSON entry uses npx and has one argument per line. The pnpm launcher stays under Install with its flags.
v2.2.2
Fixed
- The
@latestlauncher from 2.2.1 could start an older release for about a day after each publish. pnpm 12 skips versions younger than its minimum release age, solatestresolved to 2.0.0. The--print-configentry and the README launcher now add--config.minimum-release-age-exclude=@vernikr/biblio-mcp, which exempts only this package. Other packages keep the check. - 2.2.1 shipped the same launcher without that exclude. Use 2.2.2 for the fix.