All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Language detection and registry now use the upstream
linguistcrate definitions directly, improving accuracy and keeping in sync with GitHub Linguist. - CLI text output now shows a Top 5 language summary and scan performance stats (elapsed time and files/second).
- JSON output now includes per-language file counts via a new
language_countsfield.
- Directory headings in text output now show the total files without the fixed
"files"suffix (e.g.foo/ (10)). - The internal scanner has been reworked to use parallel traversal with
rayonwhile preserving stable output order.
- JSON schema changed: the top-level
extensionsfield has been replaced bylanguage_counts. Clients consuming the JSON output should update accordingly.
- Initial stable release of
treestat. - CLI options for language presets (
--lang), custom extensions (--ext), counting mode (--count-mode), depth limiting (--max-depth), and JSON output (--format json). - Default ignores for common build/output directories, hidden files, and
.gitignoreintegration.