-------------------
Added
~~~~~
* (mkfs) `PR 30 <https://github.com/nathanhi/pyfatfs/pull/30>`_: Add support for different FAT12 cluster sizes for filesystems up to 256MB by `zurcher <https://github.com/zurcher>`_ / `Microsoft <https://github.com/Microsoft>`_
* `PR 36 <https://github.com/nathanhi/pyfatfs/pull/36>`_: Add Python 3.12 support by `zurcher <https://github.com/zurcher>`_ / `Microsoft <https://github.com/Microsoft>`_
Fixed
~~~~~
* `34 <https://github.com/nathanhi/pyfatfs/issues/34>`_ (DosDateTime) `PR #35 <https://github.com/nathanhi/pyfatfs/pull/35>`_: Gracefully handle invalid file timestamps by `beckerben <https://github.com/beckerben>`_
* `31 <https://github.com/nathanhi/pyfatfs/issues/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.size`` 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 <https://github.com/8051Enthusiast/regex2fat>`_ compatibility
- Introduce ``lazy_load`` parameter to allow restoring previous behavior
- `PR 32 <https://github.com/nathanhi/pyfatfs/pull/32>`_: Fix tree iteration on non-lazy load by `zurcher <https://github.com/zurcher>`_ / `Microsoft <https://github.com/Microsoft>`_
- `PR 33 <https://github.com/nathanhi/pyfatfs/pull/33>`_: Fix missing parent directory entry link on lazy-load by `zurcher <https://github.com/zurcher>`_ / `Microsoft <https://github.com/Microsoft>`_
- `PR 33 <https://github.com/nathanhi/pyfatfs/pull/33>`_: Do not re-populate directory structure from disk on pending entry change by `zurcher <https://github.com/zurcher>`_ / `Microsoft <https://github.com/Microsoft>`_
Removed
~~~~~~~
* `PR 36 <https://github.com/nathanhi/pyfatfs/pull/36>`_: Drop Python 3.6 & 3.7 support by `zurcher <https://github.com/zurcher>`_ / `Microsoft <https://github.com/Microsoft>`_