PackageTrack

crates.io · #1160

cfb

0.14.055M downloads/momdsteele/rust-cfb

Read/write Compound File Binary (structured storage) files

Release timeline

21 releases since 2017
20172019202120232025

Releases

  1. 0.14.013 Feb 2026
    Release notes

    This project publishes no release notes. Between v0.13.0 and v0.14.0 there were 11 commits, 7 of them substantive:

    • perf: improve case-insensitive string compare
    • perf: optimize MiniFAT free sector management
    • feat: dynamic stream buffer
    • feat: improve benchmark
    • api cleanup, tried to stay close to initial api before I introduced stream options.
    • Aggressively grow buffer on the read side.
    • bench: add a 10000x0B case
  2. 0.13.027 Jan 2026
    Release notes

    This project publishes no release notes. Between v0.12.1 and v0.13.0 there were 9 commits, 5 of them substantive:

    • feat: improve writing speed
    • feat: use web_time instead of std::time to support wasm
    • feat: allow specifying stream buffer size
    • feat: stream option / create options
    • feat: stream option / create options defaults
  3. 0.12.18 Nov 2025
    Release notes

    This project publishes no release notes. Between v0.12.0 and v0.12.1 there were 12 commits, 9 of them substantive:

    • fix: clippy
    • chore: run clippy on all targets
    • fix: more compact debug printing by summarizing contiguous sections of same type
    • fix: use Rust notation to clarify range includes endpoint
    • refactor: use variable that is right there already
    • fix: strip fat sectors beyond end of file
    • refactor: split cfb fixes between validation.is_strict() and permissive
    • fix: sync code comment with src
    • chore: track Cargo.lock
  4. 0.12.014 Oct 2025
    Release notes

    This project publishes no release notes. Between v0.11.0 and v0.12.0 there were 7 commits, 5 of them substantive:

    • deps: remove icu_casemap from dependencies
    • clarify comment
    • refactor: scope AsArray correctly
    • deps: remove once_cell
    • chore: add a MSRV to Cargo.toml
  5. 0.11.027 Jul 2025
    Release notes

    This project publishes no release notes. Between v0.10.0 and v0.11.0 there were 40 commits, 29 of them substantive:

    • test for deterministic cfb files
    • Introduce fn set_modified_time(), fn set_created_time() to override timestamps
    • fmt
    • Allow a DIFAT sector to be padded with zeroes
    • Add test for zero-padded DIFAT sector
    • Updated method for comparing directory entry names
    • Refactored comparison so that new strings aren't allocated.
    • Remove unnecessary byteorder dependency
    • cargo fmt
    • fix: clippy and warnings
    • Derive more stdlib traits
    • Add cross references to specification
    • Fix red-black tree sorting function
    • Apply suggestions from code review
    • Adjusted formatting
    • Update src/internal/path.rs
    • test: synthesize FAT with inconsistent DIFAT_SECTOR entries
    • fix: strip DIFAT_SECTOR that are beyond file end
    • test: expand to cover additional sector allocations to inconsistent cfb
    • feat: improved Header pretty printing

    …and 9 more.

  6. 0.10.015 Apr 2024
    Release notes

    This project publishes no release notes. Between v0.9.0 and v0.10.0 there were 16 commits, 11 of them substantive:

    • Make CompoundFile implement Send + Sync.
    • Add tests for asserting Send + Sync in
    • Allow DIFAT chains to end with FREESECT
    • Remove test file
    • Use latest runners for tests workflow
    • fix: num_dir_sectors
    • improve test
    • Run linters after tests, instead of before
    • Fix clippy warning
    • fmt
    • remove unused imports
  7. 0.9.024 Oct 2023
    Release notes

    This project publishes no release notes. Between v0.8.1 and v0.9.0 there were 7 commits, 3 of them substantive:

    • Add Debug implementation to Entry
    • Add Debug implementation for CompoundFile
    • feat: upgraded clap in examples
  8. 0.8.120 Jun 2023
    Release notes

    This project publishes no release notes. Between v0.8.0 and v0.8.1 there were 8 commits, 6 of them substantive:

    • Fix spec nonconformity, v3 must always have Number of Directory Sectors = 0, p.19
    • Fix spec nonconformity that sets nonzero timestamps for streams
    • Fix clippy warnings
    • Forbid adjacent red nodes under strict validation
    • Forbid non-zero stream creation/modified times under strict validation
    • Forbid non-zero num_dir_sectors for V3 headers under strict validation
  9. 0.8.029 May 2023
    Release notes

    This project publishes no release notes. Between v0.7.3 and v0.8.0 there were 12 commits, 8 of them substantive:

    • Allow strict or permissive validation (fixes #30)
    • Refactor Stream struct into a separate submodule
    • Add Timestamp struct to represent created/modified times internally
    • Allow multiple open Streams at once (fixes #14)
    • Fix clippy warning
    • Update macOS test runner to macos-11
    • Upgraded CI
    • issues/34 Fixed validation in minialloc
  10. 0.7.35 Jul 2022

    Nothing published for this version

  11. 0.7.227 Jun 2022

    Nothing published for this version

  12. 0.7.120 Jun 2022

    Nothing published for this version

  13. 0.7.08 May 2022

    Nothing published for this version

  14. 0.6.129 Sept 2021

    Nothing published for this version

  15. 0.6.08 Sept 2021

    Nothing published for this version

  16. 0.5.021 Aug 2021

    Nothing published for this version

  17. 0.4.023 Nov 2020

    Nothing published for this version

  18. 0.3.125 Oct 2017

    Nothing published for this version

  19. 0.3.07 Oct 2017

    Nothing published for this version

  20. 0.2.028 Sept 2017

    Nothing published for this version

  21. 0.1.020 Mar 2017

    Nothing published for this version