Releases: ronnieops/pi-search-hub
Releases · ronnieops/pi-search-hub
v2.3.3
v2.3.2
v2.3.1
Bug Fixes
- Fixed missing closing brace in
exa_mcpbackend that caused pi to fail loading. - Fixed orphaned
returnblock insearch-hub.tsthat caused parse errors.
v2.3.0 Features
- Exa MCP — Zero-config backend (no API key needed)
- SSRF guard —
isPrivateHost(),validateUrl(),assertSafeUrl() - Large-page spillover — Handles oversized responses
- Statusline activity — Search tools show activity in status line
- Tool selection persistence — Remembers last used tool
- Sibling URL probing — Tries .md, README.md variants
- GFM support — Tables, task lists, strikethrough, code blocks
- Content negotiation pipeline — Markdown detection
- Cache system with TTL — Configurable TTL cache
- TLS fingerprinting — For Cloudflare bypass
- Exa usage tracking — Monthly quota tracking (1000/mo)
Setup Menu Enhancements
- "⚡ Enable all free backends" quick option
- "⚙️ Global settings" — configure compact, showStatus, combine, cacheTtl, cacheMax, reader, selectionStrategy
- Show rate limits in backend list
- Free backends auto-enable without prompting
Stats
- 18 backends (added Exa MCP)
- 228 tests passing
v2.3.0
New Features
- Exa MCP (zero-config, no API key needed)
- SSRF guard for fetch utilities
- Large-page spillover for oversized responses
- Statusline activity to search tools
- Tool selection persistence
- Sibling URL probing for README/source files
- GFM support (tables, task lists, strikethrough, code blocks)
- Content negotiation pipeline for Markdown detection
- Cache system with TTL to backends
- TLS fingerprinting (wreq-js) for Cloudflare bypass
- Exa usage tracking (monthly quota)
Backends
Now 18 backends: DuckDuckGo, Jina AI, Marginalia, Tavily, Serper, Brave, Brave LLM, Exa, Exa MCP, LangSearch, WebSearchAPI, Perplexity, SearXNG, Firecrawl, Linkup, You.com, fastCRW, Sofya.
Tests
228 tests passing.
v2.2.1 — brave-llm type fix, free backend setup, docs cleanup
Fixes
- Critical: type mismatch in types.ts — added proper key to match registry (users' config was silently ignored)
- Bug: Free backend setup no longer crashes for backends needing instance URL (SearXNG)
- Bug: web_read description now mentions Sofya reader option
Docs
- README: Added missing Sofya row 17 (was 16 rows, claimed 17 backends)
- README: Complete config example with all 17 backends including
brave-llm - README: Sofya notes added, registry path corrected in 'Adding a new backend'
- MISSING_KEY_HELP: Clarified Marginalia has optional public key
- jina.ts: Clarified search needs key, web_read reader is free
Tests
- 74 tests passing (was 70)
Run pi install npm:pi-search-hub to update.
Release v2.2.0
What's Changed
- feat: add Sofya backend (web_search) + pluggable web_read reader by @yusufgurdogan in #14
New Contributors
- @yusufgurdogan made their first contribution in #14
Full Changelog: v2.1.0...v2.2.0
v2.1.0
Release v2.1.0 (4 new backends)
🚀 New Backends
- Brave LLM Context — pre-extracted AI-grounding chunks, token-budget aware. Same API key as Brave Search.
- Linkup — EU/GDPR-compliant AI-native search. x402 crypto payment support. $20/mo free credit.
- You.com — web + news search. Up to 100 results per call. Built-in news intent detection. $100 free credits.
- fastCRW — Firecrawl-compatible search + scrape. Self-hostable (AGPL-3.0). 500 free credits/mo.
📊 Stats
- 16 backends total (was 12)
- 65 tests passing (was 47)
- 27
.tsfiles (4 new adapters)
🔧 Changes
types.ts: AddedbraveLLM,linkup,youcom,fastcrwto SearchConfig. AddedtokenBudget,depth,baseUrlper-backend options.registry.ts: Registered 4 new BACKEND_DEFS with proper key resolution.parsers.ts: AddedparseBraveLLM,parseLinkup,parseYoucom,parseFastcrw.package.json: Updated description to reflect 16 backends.
Release v2.0.1 (fix broken 2.0.0 tarball)
v2.0.0 was deprecated. NPM tarball was missing module files due to restrictive .npmignore.
Features same as 2.0.0:
- Smart backend scoring (composite: success rate + latency + quality)
- Search result caching (LRU with TTL, configurable)
- DuckDuckGo v9.x metasearch (backend, region, timelimit)
- Per-backend config (timeout, maxResults, headers)
- Combine mode config option in search.json
- Modular architecture (20 files from 1 monolith)
- 21 new integration tests
Fixes:
.npmignorenow includes all extension module files- Publish workflow skips if version already on registry
v2.0.1
Release v2.0.1 (fix broken 2.0.0 tarball)
v2.0.0 was deprecated. NPM tarball was missing module files due to restrictive .npmignore.
Features same as 2.0.0:
- Smart backend scoring (composite: success rate + latency + quality)
- Search result caching (LRU with TTL, configurable)
- DuckDuckGo v9.x metasearch (backend, region, timelimit)
- Per-backend config (timeout, maxResults, headers)
- Combine mode config option in search.json
- Modular architecture (20 files from 1 monolith)
- 21 new integration tests
Fixes:
.npmignorenow includes all extension module files- Publish workflow skips if version already on registry
v2.0.0
Release v2.0.0
🚀 New Features
- Smart Backend Scoring: Uses composite scoring (Success Rate, Latency, and Result Quality) for the
best-latencystrategy. - Search Result Caching: LRU cache with TTL to reduce API quota usage.
- Enhanced DuckDuckGo: Leverages ddgs v9.x metasearch features (backend selection, region, and timelimit).
- Per-Backend Configuration: Custom
timeout,maxResults, andheadersper search provider. - Combine Mode Config: Option to force multi-backend RRF mode directly from
search.json.
🛠 Refactoring & Improvements
- Modular Architecture: Major refactor from a single-file monolith to a modular structure for improved maintainability.
- Improved Marginalia: Updated to the new
api2.marginalia-search.comendpoint. - Robustness: Enhanced error sanitization and credential resolution (env/shell/literal).
🧪 Testing
- Added comprehensive integration tests covering dispatch, config, credentials, and caching.