- Added the ability to filter in or out certain languages from the analysis
- Added support for glob-based path exclusions
- Added
--fail-on-errorto opt into non-zero exit codes when files are skipped - Added many new languages, bringing the total to 464
- Added support for shell completions with the
completionssubcommand - Brang back
langsas a subcommand, rather than a top-level flag - Documented the code better
- Fixed a couple edgecases with whitespace classification
- Fixed the handling of shebangs with whitespace after the #!
- Improved UTF-16 detection without BOMs
- Updated dependencies to their latest versions
- Added a TOML config file
- Add JSON compact and TSV output formats
- Expand sorting, number formatting, size units, and precision controls
- Streamline CLI flags and improve output consistency
- Improve CSV and TSV escaping and blank field handling
- Add many new languages and updated benchmarks
- Rework display formatting to support sorting and custom output styles
- Add HTML and Markdown output formats using templates
- Remove the git dependency for gitignore handling
- Add more language fixtures and detection tests
- Improve documentation and CLI help formatting
- Add memory mapped I O for large files and improve comment parsing
- Switch pattern matching to globset and simplify language lookups
- Speed up core routines and reduce allocations
- Add more languages and fixes in the language data
- Switch language data to JSON5 with a cleaner build pipeline
- Add support for extensionless files with shebangs
- Improve output formatting and writer based rendering
- Expand language detection and add more tests
- Split the project into a library and binary crate and refactor the core
- Add stricter language data validation and cleanup for output
- Improve CLI flags and analyzer defaults
- Add many new languages and comment detection tweaks
- Initial release