Releases: lperezmo/pyofiles
v0.5.0
v0.5.0 (2026-04-28)
This release is published under the MIT License.
Features
- Parallelize disk_usage and tune release profile for max throughput (
c776450)
Rewrite disk_usage on top of ignore::WalkBuilder::build_parallel with DashMap + atomic aggregation, mirroring the RustSizer architecture. Per-file metadata calls now run on N worker threads instead of serialized through the main thread, eliminating the single-consumer bottleneck that made pyofiles du slow on large trees.
Also enable LTO=fat, codegen-units=1, opt-level=3, panic=abort, strip in [profile.release], which benefits every function in the crate.
No API change; behavior is preserved (gitignore is explicitly disabled so disk_usage continues to count every file).
Detailed Changes: v0.4.0...v0.5.0
v0.4.0
v0.4.0 (2026-03-19)
This release is published under the MIT License.
Bug Fixes
- Release workflow for publishing to pypi, and update readme with new version flag. (
f6fd3ba)
Continuous Integration
-
Add semantic release workflow with auto version bumping (
83eda39) -
Add semantic release workflow with auto version bumping (
b23227e)
Features
- Add --version/-v flag and expose version in Python package (
724ed62)
Detailed Changes: v0.3.0...v0.4.0
v0.3.0
Unify filters across all functions — names, size, time, extensions available everywhere
Previously only find and walk supported the full set of filters
(names, extensions, size, time). Now all 6 functions expose a consistent
filter interface: index and disk_usage gain time/name/size/extension
filters, glob gains time/size/max_depth, and list_dir gains all
filters including skip_hidden. Also fixes find to accept size-only
queries.
- Rust: extracted shared helpers (check_size_filters, check_name_filter,
check_ext_filter, mb_to_bytes) to reduce duplication across 6 functions - CLI: added add_name_args/add_size_args shared helpers, all subcommands
updated with new arguments