Skip to content

v0.8.17

Latest

Choose a tag to compare

@github-actions github-actions released this 28 Oct 22:00

Changes

Bing relevance fix, reliable result limits, extraction cleanup, and a README for agent builders.

Highlights

  • Bing: the query is typed into the homepage search box, then paging and date filters load in the same tab. This reduces the unrelated results reported in #69. On by default (bing.search_box: true).
  • Google: the organic limit is enforced after URL resolution and deduplication. Ads and answer rows don't count toward it.
  • DuckDuckGo: y.js ad links are typed ad and no longer take organic ranks (#59, #60). Image search honors limit.
  • Logging: app.save_log: false (--save_log=false, OPENSERP_APP_SAVE_LOG=false) stops writing ./logs.txt. Logs still go to stderr (#56, #61).
  • Inline extraction: extract=N reads organic results only. Ads and answer rows are never fetched, so extraction no longer registers ad clicks.
  • Extraction API: an unparsable body on /extract returns 400 instead of being ignored. Raw fetches stop reading at the byte limit.
  • Docs: README rewritten around agent use - MCP setup for Claude Code, Codex, Cursor and Claude Desktop, Open WebUI, SDK snippets, a Claude Code skill in skills/openserp-search, and the duck/ddg aliases (#64).

Upgrade notes

  • Bing web searches make one extra homepage navigation (~0.5s). If the search form fails, the request returns an error instead of falling back to a direct URL. Set bing.search_box: false or OPENSERP_BING_SEARCH_BOX=false to use direct /search URLs again; they can return unrelated results.
  • limit counts organic results. Ads and answer rows can be additional.
  • extract=N can return fewer extracted results than before when top results are ads or answer rows.
  • Clients sending an unparsable body to /extract now get 400.

Thanks to @910User and @lemts for the Bing reports, and @hasandenizuk for #60 and #61.

Full Changelog: v0.8.15...v0.8.17