# 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). ## [2.0.0] - 2026-10-10 ### Changed - Use the exact shared core revision also pinned by SizeQueen, with a public source snapshot and offline build inputs; the upstream forge stays private. - Public Rust API and incomplete-scan exit-status changes are documented in `docs/UPGRADING-2.md`. No private Git dependency is required. - Distribute full dependency notices and matching vendored source alongside platform-labelled packages. Mac delivery uses a signed, notarized disk image. ### Fixed - Include the executable before creating release archives. Use explicit host targets, build provenance and checksums; refuse existing outputs and symlinks. - Replace stale installation links and unavailable package-manager claims with verified Gitea availability and explicit source-build instructions. - 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 - Host archive extraction/executable checks on macOS and in Linux CI, plus the Sized project page and its connection to SizeQueen's scanning core. - 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. - Repeatable Linux ARM64/AMD64 Docker checks with unprivileged permission tests, a real mounted-filesystem boundary and an optimized-binary smoke test. ## [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.