v0.31.2 Release Notes
New Features
-tflag for time-based sorting β Added-tas a shorthand flag to sort by modification time, complementing the existing--sort=timeoption for a quicker workflow
Performance Improvements
- Iterative tree traversal (#272) β Replaced recursive directory tree traversal with an explicit stack-based iterative DFS, significantly reducing memory pressure and goroutine count in deep directory trees. Also refactored
TreeBuilder/TreePrinter, added typedParentPath/Levelfields onFileInfo, and added unit tests - Adaptive batch processing strategy β Introduced intelligent strategy selection for directory processing:
- Directories with < 50 files: uses traditional approach to avoid optimization overhead
- Directories with β₯ 50 files: uses batch file processing for better throughput
- JSON output: always uses traditional processing to prevent ~24% performance regression
Bug Fixes
- fish shell path completion (#267) β Removed the
-fflag from fish completions to fix broken path auto-completion in fish shell - Lint violations (#280) β Fixed remaining lint warnings across benchmarks, printers, and content helpers
Maintenance
- Go 1.24.1 upgrade (#279) β Updated CI workflows and docs to use Go 1.24.1
go fixcleanup (#274) β Rango fixto update deprecated API usage- Dependency bump (#287) β
github.com/buger/jsonparser1.1.1 β 1.1.2 - Release workflow fixes (#286, #288) β Fixed dirty-file check failures and non-deterministic man page generation; release process now uses PRs for consistency
Full Changelog: v0.31.0...v0.31.2