Skip to content

Releases: vernikr/biblio-mcp

v2.2.11

Choose a tag to compare

@vernikr vernikr released this 11 Oct 03:05

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

Choose a tag to compare

@vernikr vernikr released this 11 Oct 02:02

Wave 4 of the iteration-2 refactor: a download attempt that meets a silent file server comes back.

Fixed

  • download_book and fetch_book gave 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 with BIBLIO_DOWNLOAD_TIMEOUT_MS and BIBLIO_DOWNLOAD_STALL_MS.
  • A failed download now says which silence killed it — no response headers within 30000 ms … or transfer stalled for 30000 ms after N bytes … — instead of the transport's This operation was aborted.

v2.2.9

Choose a tag to compare

@vernikr vernikr released this 11 Oct 01:37

Wave 3 of the iteration-2 refactor: the tree stops stating facts it cannot keep true.

Fixed

  • The advice scripts/preflight.mjs gives 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.ts no 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 the healthcheck tool.

v2.2.8

Choose a tag to compare

@vernikr vernikr released this 11 Oct 01:06

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_papers already resolved is not resolved again by the follow-up get_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

Choose a tag to compare

@vernikr vernikr released this 11 Oct 00:34

Fixed

  • A truncated download whose first bytes are a ZIP signature was saved as .bin, and a mirror
    sending Application/PDF produced 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 --selfcheck prints for a broken dependency pairing, and the advice
    scripts/preflight.mjs gives for it, now name the versions this package pins instead of a
    hand-written pair that drifts on the first dependency bump.

Changed

  • --selfcheck lists 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:all script is gone; verify:live already 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

Choose a tag to compare

@vernikr vernikr released this 10 Oct 23:12

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 to docs/about-this-fork.md, the development section to
    AGENTS.md, the request flow to docs/architecture.md, and the roadmap to docs/STATE.md.
  • docs/architecture.md describes the request flow and the three invariants an agent must not
    break, so reading it is cheaper than reading src/.
  • 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 pnpm script exists now scans AGENTS.md as 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

Choose a tag to compare

@vernikr vernikr released this 10 Oct 00:55

Changed

  • The "For AI agents" install steps are shorter and pnpm-free. The agent checks Node, writes mcpServers.biblio into ~/.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 uses claude mcp add. The agent no longer runs --selfcheck or --print-config first; those stay available for debugging.

v2.2.4

Choose a tag to compare

@vernikr vernikr released this 10 Oct 00:38

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

Choose a tag to compare

@vernikr vernikr released this 10 Oct 00:30

Changed

  • --print-config writes an npx entry instead of a pnpm one: command is the absolute path to npx, args are --yes @vernikr/biblio-mcp@latest, and env.PATH lists the folders holding node and npx. npx resolves latest without 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

Choose a tag to compare

@vernikr vernikr released this 09 Oct 23:51

Fixed

  • The @latest launcher 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, so latest resolved to 2.0.0. The --print-config entry 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.