Skip to content

Releases: nathanhi/pyfatfs

1.1.0

03 Mar 20:49
Compare
Choose a tag to compare

Added

Fixed

  • #34 (DosDateTime) #35: Gracefully handle invalid file timestamps by @beckerben
  • #31 (FATDirectoryEntry): Handle file sizes larger than 4GB gracefully by responding with PyFATException and errno=E2BIG
  • Properly lock I/O on write operations to avoid issues on concurrent writes

Changed

  • Deprecated FATDirectoryEntry.{g,s}et_size() method in favor of FATDirectoryEntry.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

1.0.5

16 Apr 17:28
Compare
Choose a tag to compare

Fixed

  • Issue #26: Fix deserialization of date and time values ({a,c,m}time)

1.0.4

15 Apr 18:39
Compare
Choose a tag to compare

Fixed

  • Issue #24: Do not reorder directory entries when adding/removing entries in a directory
  • Issue #25: Properly truncate files when configured for truncating (PyFilesystem2/FatIO)
  • Always retain last cluster when truncating a file to 0 bytes
  • Issue #27: Remove outdated Not yet properly implemented hint from setinfo docstring

1.0.3

27 Feb 20:51
Compare
Choose a tag to compare

Fixed

  • Issue #22: Properly combine date and time DosDateTime objects when querying ctime/mtime

1.0.2

27 Feb 20:50
Compare
Choose a tag to compare

Fixed

  • PR #23: Do not try to write FAT if filesystem has been opened read-only by @abrasive

1.0.1

08 Feb 11:05
a35586b
Compare
Choose a tag to compare

Fixed

  • (mkfs) Handle offset correct in case of multiple partitions.
  • (mkfs) Issue #18 Add volume label dir entry
  • (mkfs) Fix default size detection

1.0.0

03 Feb 16:58
Compare
Choose a tag to compare

Added

  • Static new method for FATDirectoryEntry
  • PR #17 <https://github.com/nathanhi/pyfatfs/pull/17>: mkfs method by @wackinger <https://github.com/wackinger> / @Draegerwerk <https://github.com/Draegerwerk>_
    • FATHeader class replaced by BootSectorHeader
    • Initial support of FSInfo for mkfs
  • Expose PyFat.set_fp function to allow using BytesIO / in-memory files. Provide PyFatBytesIOFS class for PyFilesystem2

Fixed

  • Remove duplicated code
  • Properly handle non-ASCII short file names / 8DOT3
  • Mark dir/file entries as empty on deletion
  • Do not allow creating files when a folder with the same name already exists
  • Do not allow creating folders when a file with the same name already exists

Changed

  • In order to fix non-ASCII short file names, FATDirectoryEntry.name
    is now of EightDotThree type instead of bytes

Removed

  • Legacy byte_repr() function, __bytes__() is to be used instead
    as a drop-in replacement to serialize FAT and dentry data for writing to
    disk

0.3.1

04 Sep 09:46
Compare
Choose a tag to compare

Fixed

  • Fix performance regression on FAT16/32 when serializing a FAT to disk via __bytes__
  • Improve performance by only parsing fat size once on open() instead of multiple times

0.3.0

03 Sep 23:51
Compare
Choose a tag to compare

Added

  • Support for dirty bit, detects unclean unmounts of a filesystem, sets dirty bit on mount and clears it on unmount/close

Deprecated
Implement __bytes__() instead of byte_repr(), it will be removed in 1.0

0.2.0

07 Apr 17:06
Compare
Choose a tag to compare

Added

  • readinto method to directly read into a bytearray
  • Write support for FAT12

Fixed

  • Lower required minimum version of PyFilesystem2 to 2.4.0
  • Do not fail with RemoveRootError on removetree("/")
  • openbin now sets the b mode on file open
  • Support non-standard Linux formatted filesystems (i.e. FAT32 with less than 65525 clusters)
    • Emits a warning when such a filesystem is encountered
  • Remove check for boot signature version