Web Search Plus v2.4.0
Web Search Plus v2.4.0
This release focuses on runtime speed, research-mode latency, and cleaner provider-key discovery for Hermes profile installs.
Credits / PR attribution
- #50 by @robbyczgw-cla — in-process
web_search_plus/web_extract_plusexecution and parallel research mode. - #46 by @robbyczgw-cla — Hermes profile
.envloading for provider keys. - #49 by @wysie — plugin update instructions in the README.
Changed
web_search_plusandweb_extract_plusnow run in-process by default, avoiding per-call subprocess startup overhead while keeping the subprocess path as an automatic fallback and viaWSP_FORCE_SUBPROCESS=1. (#50)- Research mode now queries providers concurrently instead of sequentially, so wall-clock time tracks the slowest launched provider rather than the sum of provider calls. (#50)
- Standalone
search.py, config helpers, and setup status now load provider keys from the active Hermes profile.envas well as plugin-local legacy.envfiles. (#46) - README now documents how to update an installed plugin and when to reload/reset Hermes. (#49, thanks @wysie)
Hardening
- Added bounded retry jitter to avoid synchronized retry bursts. (#50)
- Guarded provider-health updates with a lock for safer concurrent in-process calls. (#50)
Validation
- Local release gate:
pytest tests/ -q→ 204 passed;ruff check .→ passed; compile smoke and CLI search/extract smokes passed. - Deep local post-release smoke: doctor edge matrix 15/15 passed; doctor CLI JSON/text/live matrix passed; golden eval smoke produced 10 rows, 0 errors, 0 flagged; fresh clone focused tests passed.
- GitHub Actions: Python 3.8 and 3.11 CI passed on the release commit.
Performance note: local microbenchmarks showed a large reduction in wrapper overhead and roughly 4× lower research-mode wall time in the benchmark scenario, but real-world latency remains provider/network-bound.