CrossRename
Harmonize file and directory names for Linux, Windows, and macOS.
Installation
-
With PIP (PyPI)
pip install CrossRename==1.5.0
-
Using the Wheel File
pip install CrossRename-1.5.0-py3-none-any.whl
-
Using the Source Tarball File
pip install crossrename-1.5.0.tar.gz
What's Changed
1.5.0 - 2026-02-21
Added
--max-filename-bytes Nflag to set a custom maximum filename length in bytes (valid range: 4–255, default: 255)- Test suite for filename sanitization (
tests/test_sanitize.py) with unit tests covering byte-limit truncation, character sanitization, reserved names, and edge cases - WSL integration test script (
tests/test_wsl.sh) for end-to-end testing with real filesystem operations
Changed
- Filename truncation is now byte-aware instead of character-based (#8)
- ext4/btrfs filesystems limit filenames to 255 bytes, not 255 characters
- Multi-byte UTF-8 characters (CJK, Cyrillic, emoji) are now correctly accounted for
- This is a behavioral change: filenames with non-ASCII characters that previously passed unchanged may now be truncated to fit the byte limit
- Updated README and PyPI README to document the byte-based limit and
--max-filename-bytesflag
Full Changelog: https://github.com/Jemeni11/CrossRename/blob/master/CHANGELOG.md
Compare this version to v1.4.0: v1.4.0...v1.5.0