Changed
- Breaking Change:
VolumeManager
now uses interior-mutability (with aRefCell
) and so most methods are now&self
. This also makes it easier to open multipleFile
,Directory
orVolume
objects at once. - Breaking Change: The
VolumeManager
,File
,Directory
andVolume
no longer implementSend
orSync
. VolumeManager
uses an interior block cache of 512 bytes, increasing its size by about 520 bytes but hugely reducing stack space required at run-time.- Breaking Change: The
VolumeManager::device
method now takes a callback rather than giving you a reference to the underlyingBlockDevice
- Breaking Change:
Error:LockError
variant added. - Breaking Change:
SearchId
was renamed toHandle
- Fixed writing at block start mid-file (previously overwrote subsequent file data with zeros up to the end of the block)
Added
File
now implements theembedded-io
Read
,Write
andSeek
traits.- New
iterate_dir_lfn
method onVolumeManager
andDirectory
- provides decoded Long File Names asOption<&str>
Removed
- Breaking Change: Removed the
reason: &str
argument fromBlockDevice
Pull Requests
- Implement embedded-io traits for File. by @qwandor in #140
- Rename SearchId to Handle. by @thejpster in #149
- Better volume label support by @thejpster in #144
- Use chunks_exact and remove 'reason' from BlockDevice API by @thejpster in #147
- Use a RefCell to provide interior mutability for VolumeManager. by @thejpster in #143
- Better trace logs. by @thejpster in #151
- Add a universal block cache by @thejpster in #148
- Create a VolumeManager type alias by @thejpster in #152
- Add LFN support when iterating directories by @jonathanpallant in #157
- Write to the second FAT by @thejpster in #160
- Remove stacked block by @thejpster in #159
- Move FAT-specific code in make_dir_in_dir (and fix .. entries) by @thejpster in #158
- Add support for partition id 04h by @Graicc in #165
- Set rust-version to 1.76 & add matrix for building and testing for MSRV by @elpiel in #167
- docs: README write to file example; reminder to run
file.flush()
by @zpg6 in #174 - docs: adds same snippet of writing to files to
lib.rs
for crate doc by @zpg6 in #175 - Clean up imports and help text for examples. by @thejpster in #177
- fix bad typing in defmt debug by @ValouBambou in #183
- Update develop by @thejpster in #190
- fix seek and write to block start zeros rest of block after written data (#188) by @yanshay in #189
- Release v0.9.0 by @thejpster in #192
New Contributors
- @qwandor made their first contribution in #140
- @Graicc made their first contribution in #165
- @zpg6 made their first contribution in #174
- @ValouBambou made their first contribution in #183
- @yanshay made their first contribution in #189
Full Changelog: v0.8.2...v0.9.0