Added
- (mkfs) #30: Add support for different FAT12 cluster sizes for filesystems up to 256MB by @zurcher / @Microsoft
- #36: Add Python 3.12 support by @zurcher / @Microsoft
Fixed
- #34 (DosDateTime) #35: Gracefully handle invalid file timestamps by @beckerben
- #31 (FATDirectoryEntry): Handle file sizes larger than 4GB gracefully by responding with
PyFATException
anderrno=E2BIG
- Properly lock I/O on write operations to avoid issues on concurrent writes
Changed
- Deprecated
FATDirectoryEntry.{g,s}et_size()
method in favor ofFATDirectoryEntry.filesize
property (will be removed in PyFatFS 2.0) - Only warn of broken long filename entries, do not fail when encountering them
- Convert given PyFilesystem2 opener string arguments to correct type (e.g., string to int)
- Discard unknown PyFilesystem2 opener arguments, do not pass through to underlying PyFatFS constructor
- Lazy load directory entries for performance and regex2fat compatibility
- Introduce lazy_load parameter to allow restoring previous behavior
- #32: Fix tree iteration on non-lazy load by @zurcher / @Microsoft
- #33: Fix missing parent directory entry link on lazy-load by @zurcher / @Microsoft
- #33: Do not re-populate directory structure from disk on pending entry change by @zurcher / @Microsoft