Release Notes
Added
- New source: Hackage (Haskell) — searches the package archive and
batch-fetches cabal files for synopsis/homepage (#40). 17 sources total
--keyword-only flag: rank by keyword overlap instead of semantic similarity,
skipping the ~80 MB embedding model download entirely (#30)
- Shared search→rank→verdict pipeline (
pipeline.rs) used by both CLI and TUI,
fixing TUI bugs (missing relevance gate, wrong eval limit) (#63)
- Stable
--json output: schema_version field, Source/Saturation serialize
to kebab-case/lowercase with backward-compatible aliases (#61)
- Per-source 15 s wall-clock timeout prevents a single slow source from blocking
the entire fan-out (#33)
- Homebrew source caches formula.json/cask.json in memory — repeated searches
in the TUI reuse the catalog instead of re-downloading ~10 MB (#45)
- dist: Homebrew tap installer (
brew install r14dd/patent/patent) and
PowerShell installer for Windows (#35)
dist: Windows prebuilt binary — reverted; ort-sys static linking still
has 43 unresolved MSVC externals. Windows users install via
cargo install patent (#36)
Changed
- pypi: PyPI's search failure is now surfaced accurately. Its search page is
bot-walled to non-browser clients (a 403, or a 200 JS-challenge stub with
no results) — that now returns honest wording ("PyPI search is unavailable to
non-browser clients") instead of the misleading "search page structure may have
changed" parse error. PyPI is still reported as not reached, never as an
empty result.
- sources: the fan-out no longer wastes its one 800ms retry on a persistently
unavailable source — only transient failures (network blips, HTML parse drift)
are retried; a walled search surface is attempted once.
Breaking (library API)
- New
Error::Unavailable(String) variant (downstream exhaustive matches on
patent::Error must update)
Source enum gained Hackage variant
rank::rank_by_keywords added to the public API
Install patent 0.8.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/r14dd/patent/releases/download/v0.8.0/patent-installer.sh | sh
Install prebuilt binaries via Homebrew
brew install r14dd/patent/patent
Download patent 0.8.0