v0.11.0
silvia-odwyer/photonv0.11.0Sep 21, 2026by github-actions[bot]
Upgrading?
AI Summary
This release introduces new package distributions for npm, Rust crates, and Python, alongside a new MCP server binary. It includes significant performance optimizations, specifically a 70% reduction in indexing RSS, and adds new features like Git recency bonuses and case sensitivity options.
Key Highlights
- New package distributions available (npm, Rust crates, Python wheels).
- New MCP Server binary for integration.
- Significant performance improvement: 70% reduction in indexing RSS.
- New feature: Git recency bonuses for search results.
- New feature: Case mode options (smart, sensitive, insensitive).
New Features
- Neovim Plugin support (Lua module).
- C FFI Library support for Bun/Node/Python.
- Python package available on PyPI (`fff-search`).
- MCP Server binary.
- Git recency bonuses.
- Case sensitivity options for SDK.
Full Release Notes
Release 0.11.0
npm packages, rust crates and python wheels are available under this version 0.11.0
## Neovim Plugin
- `{target}.so` / `.dylib` / `.dll` - Lua module for Neovim
## C FFI Library (for Bun/Node/Python)
- `c-lib-{target}.so` / `.dylib` / `.dll` - C FFI library
## MCP Server
- `fff-mcp-{target}` - MCP server binary
## Python Package
- `python/*.whl` / `python/*.tar.gz` - Python wheels and sdist
- Install from PyPI: `pip install fff-search` (when published)
Update mcp via:
```sh
curl -fsSL https://raw.githubusercontent.com/dmtrKovalenko/fff/main/install-mcp.sh | bash
```
## What's Changed
* test: Commit CI regression by @dmtrKovalenko in https://github.com/dmtrKovalenko/fff/pull/696
* fix(fff-mcp): omit git:clean from find_files output by @gustav-fff in https://github.com/dmtrKovalenko/fff/pull/845
* fix(grep): enforce_time_budget option for zero-match searches (#826) by @gustav-fff in https://github.com/dmtrKovalenko/fff/pull/827
* fix(core): skip only the binary file, not the rest of its bigram chunk by @kevin9327 in https://github.com/dmtrKovalenko/fff/pull/865
* chore: regenerate Neovim vimdoc by @gustav-fff in https://github.com/dmtrKovalenko/fff/pull/861
* fix(query-parser): parse file:line after a Windows drive letter by @kevin9327 in https://github.com/dmtrKovalenko/fff/pull/864
* fix(core): compare relative paths longer than 512 bytes by @kevin9327 in https://github.com/dmtrKovalenko/fff/pull/862
* fix(nvim): keep End path shortening on a char boundary by @kevin9327 in https://github.com/dmtrKovalenko/fff/pull/860
* fix(core): stop labelling unclassified git statuses as clean by @kevin9327 in https://github.com/dmtrKovalenko/fff/pull/863
* fix(query-parser): stop treating dotted numbers as file-path filters by @kevin9327 in https://github.com/dmtrKovalenko/fff/pull/870
* perf(core): cut indexing RSS by 70% and peak by 30% by @dmtrKovalenko in https://github.com/dmtrKovalenko/fff/pull/859
* fix(fff-mcp): apply --max-cached-files as a cap, not a repo size (#847) by @gustav-fff in https://github.com/dmtrKovalenko/fff/pull/848
* chore: regenerate Neovim vimdoc by @gustav-fff in https://github.com/dmtrKovalenko/fff/pull/871
* chore: regenerate Neovim vimdoc by @gustav-fff in https://github.com/dmtrKovalenko/fff/pull/876
* chore: Add rapidproxy sponsor by @dmtrKovalenko in https://github.com/dmtrKovalenko/fff/pull/877
* fix(pi-fff): fall back to fff-node when fff-bun cannot be imported by @manooog in https://github.com/dmtrKovalenko/fff/pull/779
* feat: Git recency bonuses by @dmtrKovalenko in https://github.com/dmtrKovalenko/fff/pull/841
* fix(pi-fff): skip the picker instead of erroring when cwd scanning is opted out (#857) by @gustav-fff in https://github.com/dmtrKovalenko/fff/pull/858
* fix(pi-fff): drop stale mode tool names on reload (#855) by @gustav-fff in https://github.com/dmtrKovalenko/fff/pull/856
* fix: Do not start fallback grep if index is not ready by @dmtrKovalenko in https://github.com/dmtrKovalenko/fff/pull/880
* perf(core): share frizbee hot-loop instantiations to cut binary size ~17% by @dmtrKovalenko in https://github.com/dmtrKovalenko/fff/pull/872
* feat(c): support cargo-c and install pkg-config file by @bet4it in https://github.com/dmtrKovalenko/fff/pull/879
* feat: Catch renames during watcher by @dmtrKovalenko in https://github.com/dmtrKovalenko/fff/pull/767
* feat(pi-fff): add compact clickable rendering for search tools by @RunMintOn in https://github.com/dmtrKovalenko/fff/pull/852
* fix(pi-fff): preserve FFF tool renderers across reload by @RunMintOn in https://github.com/dmtrKovalenko/fff/pull/854
* feat(sdk)!: add case_mode: smart, sensitive, insensitive option by @gustav-fff in https://github.com/dmtrKovalenko/fff/pull/609
* chore: regenerate Neovim vimdoc by @gustav-fff in https://github.com/dmtrKovalenko/fff/pull/882
* fix(windows): rename events paths arrive correctly by @dmtrKovalenko in https://github.com/dmtrKovalenko/fff/pull/881
## New Contributors
* @kevin9327 made their first contribution in https://github.com/dmtrKovalenko/fff/pull/865
* @manooog made their first contribution in https://github.com/dmtrKovalenko/fff/pull/779
* @bet4it made their first contribution in https://github.com/dmtrKovalenko/fff/pull/879
**Full Changelog**: https://github.com/dmtrKovalenko/fff/compare/v0.10.6...v0.11.0Related Repositories
A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io
An open-source remote desktop application designed for self-hosting, as an alternative to TeamViewer.
Build smaller, faster, and more secure desktop and mobile applications with a web frontend.
π RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video.
Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one