Skip to content

Releases: josifb/whichlib

whichlib 0.2.4

Choose a tag to compare

@josifb josifb released this 28 Oct 12:23

Agents now find and use whichlib more reliably.

  • Server instructions: whichlib tells the agent when to call it (before adding a dependency, when unsure a package exists). Claude Code loads these even when tool search hides tool definitions.
  • recommend_repos loads up front in Claude Code 2.1.285+ (anthropic/alwaysLoad).
  • Install line in results: each result shows Install: npm install <name> / pip install <name> from the registry, so agents install the verified name instead of one typed from memory.
  • Security: zod 4.6.7 (fixes a high-severity memory-exhaustion bug in validating oversized collections).
  • MCP TypeScript SDK v2 2.4.0.

whichlib 0.2.3

Choose a tag to compare

@github-actions github-actions released this 15 Oct 08:41

A ranking fix for the word-match ranking (the npm package, and hosted calls made with your own GitHub token). The tools, their inputs and their results are unchanged.

Changes

  • Repositories that never mention the need rank after those that do. A repository whose name, description and topics say nothing about what you asked for already had its relevance halved, but a very high score could still lift it above real, smaller libraries: for "html sanitizer" a storefront ranked second. Such repositories now sort after every repository that mentions the need, then by fit. "html sanitizer" now gives DOMPurify, isomorphic-dompurify, vue-sanitize, the same as the default hosted ranking. The default hosted ranking (with the fit judgment) is unchanged.

Eval (right library ranked first), npm package: 90% of 20 popular needs, 70% of 20 held-out niche needs, unchanged by this release (hit@3, hit@5 and MRR also unchanged).

Full changelog: v0.2.2...v0.2.3

whichlib 0.2.2

Choose a tag to compare

@github-actions github-actions released this 14 Oct 23:23

A ranking fix for needs that start with "html", plus small clean-ups. The tools, their inputs and their results are unchanged.

Changes

  • Better candidates for "html …" needs. The topic search treated html as a specific subject, so "html sanitizer" searched topic:html (every web project) and the word-match ranking put a video framework first. html is now handled like xml and json: the search uses the phrase (topic:html-sanitizer), and DOMPurify ranks first. This affects the npm package and hosted calls made with your own GitHub token; the default hosted ranking was already right.
  • Anonymous call counting sends the MCP protocol version only when it is a dated revision (for example 2026-07-28); anything else is sent as unknown. Nothing else changed; see PRIVACY.md.
  • Internal: one shared protocol-version check for the server, the hosted service and the call counter; the smoke test reports the negotiated protocol version.

Eval (right library ranked first), npm package: 90% of 20 popular needs, 70% of 20 held-out niche needs (was 65%; the gain is the "html sanitizer" need itself). Hosted: 100% / 85%, unchanged.

Full changelog: v0.2.1...v0.2.2

whichlib 0.2.1

Choose a tag to compare

@github-actions github-actions released this 14 Oct 19:43

Full Changelog: v0.2.0...v0.2.1

whichlib 0.2.0

Choose a tag to compare

@github-actions github-actions released this 14 Oct 19:36

whichlib now speaks MCP 2026-07-28, the latest protocol revision. Older clients keep working: the npm package and the hosted server at https://whichlib.com/mcp answer both the 2026-07-28 protocol and the 2025 initialize handshake.

The three tools, their inputs and their results are unchanged.

Changes

  • Built on the MCP TypeScript SDK v2 (@modelcontextprotocol/server 2.3.1), replacing @modelcontextprotocol/sdk 1.x, which does not support 2026-07-28.
  • Clients on 2026-07-28 may cache the tool list for an hour.
  • Hosted server: 2025-era requests are now answered as a single SSE event instead of plain JSON. MCP clients read both; if you wrote your own client, send Accept: application/json, text/event-stream as the docs say.
  • Anonymous call counting now also records the MCP protocol version of each call (for example 2026-07-28). Nothing else changed; see PRIVACY.md. Turn it off with WHICHLIB_TELEMETRY=off.

Install

claude mcp add whichlib -- npx -y whichlib

or the hosted server: claude mcp add --transport http whichlib https://whichlib.com/mcp

Full changelog: v0.1.5...v0.2.0

whichlib 0.1.5

Choose a tag to compare

@github-actions github-actions released this 03 Oct 11:36

Full Changelog: v0.1.4...v0.1.5

whichlib 0.1.4

Choose a tag to compare

@github-actions github-actions released this 02 Oct 17:33

Full Changelog: v0.1.3...v0.1.4

whichlib 0.1.3

Choose a tag to compare

@github-actions github-actions released this 02 Oct 16:45

Full Changelog: v0.1.2...v0.1.3

whichlib 0.1.2

Choose a tag to compare

@github-actions github-actions released this 29 Sep 07:29

Full Changelog: v0.1.1...v0.1.2

whichlib 0.1.1

Choose a tag to compare

@josifb josifb released this 28 Sep 10:01

Clearer tools for agents, and no more hanging calls on GitHub rate limits.

  • Tool definitions now say when to use each tool, what the score means, how many GitHub/npm/PyPI calls each makes and the rate limit without a token; every parameter is described; all tools are annotated read-only (readOnlyHint, openWorldHint).
  • trending_repos states that results are sorted by score (starsRank keeps the stars order).
  • When GitHub's rate limit is exhausted, a tool call now returns an error within 15 s saying when the limit resets and that a GITHUB_TOKEN raises it, instead of waiting up to an hour.
  • compare_repos rejects owner/. and owner/...

Install: claude mcp add whichlib -- npx -y whichlib · Claude Code plugin: /plugin marketplace add josifb/whichlib