Files
sized/CHANGELOG.md
T
gamertan f379064e44 feat: v0.2.0 optimization refactor and docs
- Refactor core traversal to single-pass O(N) tree construction
- Optimize CSV output using `csv` crate for robust escaping
- Optimize JSON output with zero-copy serialization
- Add MANUAL.md
- Bump version to 0.2.0
- Remove walkdir dependency
2026-01-22 13:17:12 -05:00

37 lines
1.6 KiB
Markdown

# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [0.2.0] - 2026-01-22
### Changed
- Refactored core traversal logic to a **single-pass, in-memory tree construction** algorithm. This visits every file exactly once, replacing the previous $O(N \times Depth)$ behavior with $O(N)$.
- Switched default CSV output to use the `csv` crate for robust escaping (fixes issues with filenames containing commas).
- Optimized JSON output to use zero-copy serialization, improving performance and memory usage.
### Added
- Added `MANUAL.md` with comprehensive usage documentation.
### Removed
- Removed `walkdir` dependency (replaced by `ignore::WalkBuilder` for all traversal).
## [0.1.0] - 2026-01-22
### Added
- Core directory traversal and size calculation logic.
- Parallel processing using `rayon` for high performance.
- Rich table output format using `comfy-table` with colored entries.
- Recursive depth control via `-d`/`--depth`.
- Minimum size filtering via `-m`/`--min-size`.
- Multi-column sorting support (`--sort`).
- Relative path display by default, with `-f`/`--path-full` override.
- "Total size" summary with dual units (Binary/Decimal) and block counts.
- Concurrency control via `-j`/`--threads`.
- `.gitignore` and `.ignore` file support via `-i`/`--ignore`.
- Multiple output formats: Text (Table), CSV, JSON (`--format`).
- Save to file functionality with auto-naming (`--save`).
- Shell completion generation (`--completions`).