Releases: RileyLeff/dirgrab
Releases · RileyLeff/dirgrab
Release v0.4.0
Breaking Changes
-e/--excludeno longer greedily consumes multiple arguments. Each-e
takes exactly one value. Use comma-separated patterns for convenience:
-e "*.log,target/,*.tmp". Previously,dirgrab -e foo bartreated both
fooandbaras exclude patterns; nowbaris correctly interpreted as
the target path.--tracked-onlyand-u/--include-untrackednow conflict. Passing both
produces a clear error instead of silently letting-uwin.
New Features
- Added
-l/--listflag for dry-run file listing. Prints one file path per
line without reading contents — useful for verifying exclude patterns before
a full grab. - Added
list_files()public API todirgrab-libfor programmatic file
listing without content processing. - Output format is now documented in
--help(viaafter_long_help).
Bug Fixes
- Fixed symlink handling in
--no-gitmode: symlinks are now followed,
matching Git mode behavior. Circular symlinks are detected and skipped. - Fixed PDF extraction failure producing inconsistent segment metadata
(header/body byte ranges now match the structure of successful files). - Made
strip_header_lines(used for--tokens-exclude-headers) more
robust: only strips lines matching both the--- FILE:prefix and
---suffix, preventing false positives in file content. - Deduplicated
normalize_globacross library and binary crates. - Added warnings when
--all-repoor--tracked-onlyare used with
--no-git(these flags have no effect in plain directory mode). - Documented that
-oauto-excludes the output filename from the grab. - Fixed symlink boundary traversal in
--no-gitmode: symlinks that resolve
outside the target directory are now skipped, preventing unintended file
inclusion from external paths. - Fixed active output file always being excluded, even when
--include-default-outputis set. Previously-o dirgrab.txt --include-default-outputcould re-ingest the output file.
Release v0.3.2
- Fixed
-e/--excludeso a single flag can absorb every shell-expanded
argument (e.g.,-e integration_tests/*), avoiding clap parse errors when
globbing produces multiple paths. - Documented quoting expectations for exclude globs and added Homebrew install
instructions in the READMEs. - Ran
cargo updateto resolve the warning about the yankedderangedcrate
and refresh other transitive dependencies.
Release v0.3.1
- Expanded
-s/--statsinto a multi-report flag with defaults for totals and
top-files=5, plus support for selecting custom report bundles (e.g.
--stats overview top-files=10). - Added a per-file token leaderboard to the CLI stats output and exposed
detailed file metadata via the newgrab_contents_detailedAPI in
dirgrab-lib.
Release v0.3.0
- Added layered configuration (global
config.toml/ignore, project
.dirgrab.toml/.dirgrabignore, CLI precedence). - Git mode now scopes to the requested subtree, includes untracked files by
default, and exposes--tracked-only/--all-reposwitches. - Ensured deterministic file ordering and automatic exclusion of the active
output file. - Extended
--statswith configurable token estimates (--token-ratio,
--tokens-exclude-*). - Reduced binary-file log noise and streamlined file reading for better
performance. - Fixed the release workflow to generate source archives via null-delimited tar
input.