Harden scanner accounting and expose controlled scan reports

This commit is contained in:
2026-10-09 18:28:48 -04:00
parent 9c8d1d43fd
commit 8b177e21a0
9 changed files with 839 additions and 179 deletions
+18 -1
View File
@@ -5,6 +5,23 @@ 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.
@@ -19,4 +36,4 @@ This stable release marks the official launch of `sized` under the GNU General P
- **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.
- **Licensing**: GPL-3.0 to ensure the tool remains a shared public resource.