- Version erhöht von 0.1.0 auf 0.2.0 - CHANGELOG.md hinzugefügt mit vollständiger Feature-Liste - Statistiken am Ende: Verarbeitete/geplante/umbenannte Dateien - Fehler-Zähler für übersprungene/fehlgeschlagene Umbenennungen - Kommentar-Klarstellung in sanitizer.rs - Bessere Fehlerbehandlung mit detaillierten Error-Messages Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
1.7 KiB
1.7 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.2.0] - 2025-02-10
Added
- CLI:
--dry-runas primary option (with--no-changesas deprecated alias for backward compatibility) - CLI:
--specialflag to process symlinks and special files (normally skipped) - Smart Default Excludes: Automatically ignore
.git,.svn,node_modules,.cache,__pycache__ - Double Extensions: Proper handling of
.tar.gz,.tar.bz2,.tar.xz,.tar.zst,.tar.lz,.tar.Z - Parallel Processing: Using
rayonfor parallel filename cleaning when processing ≥100 files - Write Permission Checks: Check write permissions before attempting rename operations
- Unit Tests: 9 comprehensive tests for
clean_filename()covering edge cases
Fixed
- Critical Bug: Hidden files (like
.gitignore) are no longer incorrectly renamed tounnamed.xxx - Leading dot in hidden files is now correctly preserved
- Fixed all clippy warnings
Changed
- Binary renamed from
NameToUnixtontu(shorter CLI usage) - Improved error messages for permission issues
- Better handling of hidden files with spaces (
.my config→.my_config)
Performance
- Parallel processing with rayon for large directory trees (threshold: 100 files)
- Optimized regex patterns using
once_cell::Lazy
[0.1.0] - 2025-03-07
Added
- Initial release
- Basic filename sanitization
- Configurable replacements via TOML
- Recursive directory processing
- Exclude patterns support
- German umlaut conversion
- Special identifier preservation (C++, C#)