40 lines
2.0 KiB
Markdown
40 lines
2.0 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).
|
|
|
|
## [Unreleased]
|
|
|
|
### Fixed
|
|
- Count hard-link allocation once in a deterministic traversal order while
|
|
retaining apparent sizes per pathname. Filtered comparison has independent
|
|
allocation ownership, including when the first link is ignored.
|
|
- Report filesystem errors and incomplete ancestor totals instead of silently
|
|
dropping errors or treating vanished entries as accessible empty directories.
|
|
- Inherit ignore rules when scanning nested directories; accept dangling
|
|
symlinks as scan targets and distinguish special files from directories.
|
|
|
|
### Added
|
|
- A scanner module with structured reports, file identities, progress counters,
|
|
cooperative cancellation, and per-scan thread pools.
|
|
- Optional `-x` / `--one-file-system` boundary handling. Partial CLI reports
|
|
return a nonzero exit status and include `complete` in JSON output.
|
|
|
|
## [1.0.0] - 2026-01-22
|
|
|
|
This stable release marks the official launch of `sized` under the GNU General Public License v3.0.
|
|
|
|
### Added
|
|
- **Fast & Concurrent Analysis**: Multi-threaded directory traversal using `rayon` and `ignore`.
|
|
- **Physical vs. Logical Distinction**: Accurate reporting of **Apparent Size** vs. **Disk Usage** (blocks).
|
|
- **Unit & Precision Control**: Configurable unit systems (Binary/Decimal) and decimal precision.
|
|
- **Advanced Filtering**: Filter by directory depth and minimum file size.
|
|
- **Sorting**: Flexible sorting by name, type, size, or blocks.
|
|
- **Gitignore Support**: Native support for `.gitignore` and `.ignore` files.
|
|
- **Exporting**: Support for CSV and NDJSON output formats.
|
|
- **Documentation**: Comprehensive standard Unix man pages and a detailed user guide.
|
|
- **Shell Completions**: Automatic generation for Bash, Zsh, and Fish.
|
|
- **Licensing**: GPL-3.0 to ensure the tool remains a shared public resource.
|