Skip to content

Commit 96ccf69

Browse files
author
Red Team
committed
release: v2.8.0 -- OpenAI Codex backend + targeted combine mode
1 parent db00328 commit 96ccf69

2 files changed

Lines changed: 26 additions & 1 deletion

File tree

RELEASE_NOTES.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,28 @@
1+
# Release v2.8.0
2+
3+
## 🚀 New Features
4+
- **OpenAI Codex search backend** — 19th search provider. Uses Pi-managed authentication via `AuthStorage.getApiKey` (no API key in config). Run `/login` in Pi and select OpenAI Codex. Supports configurable `model` (default: `gpt-5.4-mini`). Hosted web_search injected via `injectCodexSearchPayload`.
5+
- **Targeted combine mode** — New `combineMode: "targeted"` option caps combine fan-out to 3 usable backends instead of querying all enabled backends. Uses configured selection strategy to order backends, queries in batches until 3 return non-empty results, then RRF-merges. Set in `search.json`: `{ "combine": true, "combineMode": "targeted" }`.
6+
7+
## 🐛 Fixes (from code review)
8+
- **timeoutSignal wrapper added** to OpenAI Codex stream call — only backend missing the 30s timeout guard.
9+
- **combineMode validated at runtime** — unrecognized values now log a warning and fall back to `"all"` instead of silently falling through.
10+
- **search-status display fixed** for Pi-managed auth backends — shows `"— (Pi auth)"` instead of a misleading `"key: ✓"` checkmark.
11+
- **Content field used as fallback** in `normalizeSearchResult` when snippet is missing — valid results no longer silently dropped.
12+
13+
## 🧪 Tests
14+
- **164 tests passing** (13 new: URL helpers, content fallback, targeted combine edge cases).
15+
- **URL normalization helpers exported and unit-tested**`normalizeHttpUrl`, `normalizeUrlForDedup`, `looksLikeDomainOrPath` now directly tested.
16+
- **runTargetedCombine edge cases** — empty backends, all fail, single backend, numResults distribution.
17+
- **Content fallback test** — verifies results with content but no snippet are preserved.
18+
19+
## 📊 Stats
20+
- 19 backends total (added OpenAI Codex)
21+
- 164 tests passing (9 test files)
22+
- 978 lines added, 10 lines removed
23+
24+
---
25+
126
# Release v2.7.1
227

328
## Bug Fixes

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "pi-search-hub",
3-
"version": "2.7.1",
3+
"version": "2.8.0",
44
"description": "Unified web search + content extraction extension for pi with 19 backends (DuckDuckGo, Jina AI, Tavily, Brave, Brave LLM, Exa, Exa MCP, OpenAI Codex, Serper, Firecrawl [keyless], fastCRW, Marginalia, LangSearch, Linkup, Perplexity Sonar, SearXNG, WebSearchAPI, You.com, Sofya). Auto-fallback, RRF combine mode, pluggable web_read reader (Jina or Sofya), secure credential resolution.",
55
"keywords": [
66
"pi-package",

0 commit comments

Comments
 (0)