v0.10.6

phiresky/ripgrep-allv0.10.6Jan 16, 2024by github-actions[bot]

AI Summary

Major release adding config file support, sqlite caching, and async refactoring. Originally planned as 1.0.0 but delayed due to stability concerns. Introduces custom adapter support and community sharing capabilities.

Key Highlights

  • Config file support (~/.config/ripgrep-all/config.jsonc) with schema generation
  • Custom subprocess-spawning adapters definable via config file
  • Cache database migrated to sqlite for inspectability and robustness
  • Full async code base refactoring with changed adapter interface
  • New mbox adapter for email file searching

Breaking Changes

  • Adapter interface changed from sync `(&Read, &Write) -> ()` to async `AsyncRead -> AsyncRead` - custom adapters will need updating

New Features

  • Config file support with JSONC format and auto-generated schema
  • Custom subprocess-spawning adapters via config file
  • External adapter community sharing via discussions
  • SQLite-based cache database for inspectability
  • Mbox email adapter
  • Cross-platform rga-fzf binary
  • Debug logs and performance timings with --debug flag
  • Improved error messages via anyhow library
  • Auto-generated README sections

Full Release Notes

# 0.10.6

This was originally supposed to be version 1.0.0, but I don't feel confident enough in the stability to call it that.

Highlights:

- rga is now configurable via a config file (~/.config/ripgrep-all/config.jsonc) that is generated on first use, including schema.
- Custom subprocess-spawning adapters can be defined via config file. See https://github.com/phiresky/ripgrep-all/wiki
- External adapters can be shared with the community at https://github.com/phiresky/ripgrep-all/discussions

Others:

- cache database is now sqlite for inspectability and robustness
- mbox adapter (@FliegendeWurst https://github.com/phiresky/ripgrep-all/pull/104)
- auto generate parts of the readme
- add loads of debug logs and performance timings when `--debug` is used
- better error messages via `anyhow`
- add cross-platform rga-fzf binary
- change whole code base to be async
- change adapter interface from `(&Read, &Write) -> ()` to `AsyncRead -> AsyncRead` to allow chaining of adapters