Releases: awnion/fastgrep
Releases · awnion/fastgrep
v0.1.7
New features
--json— emit JSON Lines output for machine parsing. Each record has atypefield (match,context,path,summary,warning) with structured data including submatches with byte offsets, truncation metadata, and file size warnings
Performance
- Optimized search hot path and walker scheduling for faster parallel traversal
Build
- Build script always recomputes git SHA for accurate
--versionoutput
Testing
- 207 integration tests (up from 204)
v0.1.6
New flags
-q/--quiet/--silent— suppress all output, exit with status 0 on match-h/--no-filename— suppress filename prefix in multi-file output-H/--with-filename— force filename prefix even for single file--exclude-dir=GLOB— skip directories matching the glob pattern-L/--files-without-match— print names of files with no matches-m NUM/--max-count=NUM— stop reading a file after NUM matches--colour— alias for--color-s/--no-messages— suppress error messages about nonexistent or unreadable files--group-separator=SEP/--no-group-separator— customize or disable the context group separator-b/--byte-offset— print byte offset of each matching line-I— equivalent to--binary-files=without-match-f FILE/--file=FILE— read patterns from a file (one per line)--no-ignore-case— cancel a preceding-i-x/--line-regexp— match only whole lines--label=LABEL— use LABEL as filename for stdin-T/--initial-tab— align content after prefix with a tab (GNU grep compatible field widths)-Z/--null— print NUL byte after filenames--exclude-from=FILE— read exclude globs from a file-a/--text— process binary files as text-U/--binary— do not strip CR characters (no-op on Unix, accepted for compatibility)
Improvements
- Baseline benchmark separated from default
cargo bench - README updated with
-o/-A/-B/-Cexamples and corrected unsupported flags list
Testing
- 204 integration tests (up from 125)
v0.1.5
Improvements
- Trigram index now carries a format version; incompatible or corrupted indexes are automatically deleted and rebuilt
--versionoutput shows the index format version
Testing
- Integration tests split into 9 focused modules (basic matching, flags, files/recursive, stdin, edge cases, binary, only-matching, context, regression)
- Added
rstestfor parametrized test cases, reducing boilerplate
v0.1.4
v0.1.4
v0.1.3
Packaging
- Release binaries are now distributed as
.tar.gzarchives - Added one-line install commands for Linux (musl) and macOS in README
v0.1.2
CI/CD
- Reusable workflow architecture (
_lint.yml,_test.yml,_build.yml) - Release pipeline: lint → test → build → smoke-test → publish (crates.io + GitHub Releases)
- Nightly toolchain for
rustfmtandclippyin CI - Release tests run under
--releaseprofile - Added
x86_64-unknown-linux-muslandaarch64-unknown-linux-muslbuild targets - Parallel lint jobs (format, clippy, docs run concurrently)
- GitHub Releases with platform binaries and changelog