PackageTrack
Sign in Get early access

bitfield

This crate provides macros to generate bitfield-like struct.

0.19.5 31M downloads/mo #1647 most downloaded on crates.io dzamlo/rust-bitfield

What this package is like to depend on

Last release 29 days ago

25 Jul 2026

Ships unpredictably

gaps range from 4 weeks to 3.1 years

Some releases are documented

notes for 14 of 34 stable releases

1 version withdrawn

withdrawn after publishing

12 years old

35 releases · first in 2014

3 releases in the last 12 months

see the full history below

Release timeline

35 releases · Nov 2014 to Jul 2026
2015 2017 2019 2021 2023 2025
Release Pre-release Withdrawn

Releases

latest 35
  1. 0.19.5 25 Jul 2026
    Release notes

    Added

    • Include the Apache 2.0 and MIT license files in the bitfield-macros package.

    Changed

    • Explain the MSB and LSB abbreviations in the README.
    • Upgrade bitfield-macros to syn 3.
    • Reduce stack usage in the bitfield-macros parser by boxing large enum variants.
    Open source →
  2. 0.19.4 16 Nov 2025
    Release notes

    Added

    • Support try_into keyword in field definition to use TryInto instead of Into

    Fixed

    • Print the correct error message on incorrect use of the impl in no_std crates, thanks to @stop5 for reporting and proposing the fix
    Open source →
  3. 0.19.3 10 Oct 2025
    Release notes

    Added

    • In debug mode, check that msb >= lsb in the default BitRange/BitRangeMut implementations and show a more helpful message than before if this is the case, thanks to @blaine-dodson for reporting
    • Mention MSB and LSB ordering in the readme
    • Explain sign extension and valid range of signed field in the readme
    Open source →
  4. 0.19.2 24 Aug 2025
    Release notes

    Fixed

    • Allow usage of a signed int types for the base of newtype, thanks to @FeeeeK
    Open source →
  5. 0.19.1 14 May 2025
    Release notes

    Fixed

    • Allow to use impl new with #[deny(missing_docs)].
    Open source →
  6. 0.19.0 23 Feb 2025
    Release notes

    Fixed

    • Allow to specify an array of bools.

    Breaking Changes

    • If the type of an array field is exactly bool, then the Bit/BitMut traits are used instead of BitRange/BitRangeMut. In some very unlikely case where the traits are implemented manually, this may break existing code.
    Open source →
  7. 0.18.1 29 Jan 2025
    Release notes

    Fixed

    • Don't use __bitfield_* macros from the code generated by the proc-macros. Otherwise, they need to be imported by the calling code.
    • Allow mask, from and ìnto as getter names.
    Open source →
  8. 0.18.0 27 Jan 2025
    Release notes

    Fixed

    • With the new proc macro implementation some corner-cases that were not handled are now handled correctly.

    Breaking Changes

    • The syntax to create a constructor by specifying individual fields has been removed.
    • Some syntax that was supposed to be internal and implementation details are now rejected.
    Open source →
  9. 0.17.0 08 Sep 2024
    Release notes

    Breaking Changes

    • Changes published as 0.16.2 (version now yanked) was breaking
    Open source →
  10. 0.16.2 07 Sep 2024 withdrawn
    Release notes

    Added

    • Allow creating bitfield structs with arbitrary visibilities, thanks to @ADSteele916
    Open source →
  11. 0.16.1 25 Jul 2024
    Release notes

    Added

    • Implement bitwise operations for all array-Like inner types, using AsRef/AsMut, thanks to @PokeJofeJr4th
    • Allow to derive constructors, thanks to @PokeJofeJr4th
    Open source →
  12. 0.16.0 22 Jul 2024
    Release notes

    Added

    • Easily Derive Bitwise Operations, thanks to @PokeJofeJr4th

    Breaking Changes

    • The minimum rustc version is now 1.79.0
    Open source →
  13. 0.15.0 09 Apr 2024
    Release notes

    Added

    • Allow to generate mask for a field

    Breaking Changes

    • The minimum rustc version is now 1.46.0
    Open source →
  14. 0.14.0 11 Jul 2022
    Release notes

    Added

    • Getters work with immutable Data

    Breaking Changes

    • The minimum rustc version is now 1.31.0
    • The setters of the BitRange and Bit has been separated in the BitRangeMut and BitMut traits.
    Open source →
  15. 0.13.2 27 May 2019
    Release notes

    Added

    • from into can be used in place of from to change the input type of the setter. Thanks to @roblabla
    Open source →
  16. 0.13.1 26 Oct 2018

    Nothing published for this version

  17. 0.13.0 06 May 2018

    Nothing published for this version

  18. 0.12.2 22 Apr 2018

    Nothing published for this version

  19. 0.12.1 15 Oct 2017

    Nothing published for this version

  20. 0.12.0 21 Jul 2017

    Nothing published for this version

  21. 0.11.0 20 Jul 2017

    Nothing published for this version

  22. 0.10.0 18 Jul 2017

    Nothing published for this version

  23. 0.0.13 28 Apr 2017

    Nothing published for this version

  24. 0.0.12 18 Apr 2017

    Nothing published for this version

  25. 0.0.11 06 Jan 2017

    Nothing published for this version

  26. 0.0.10 26 Nov 2016

    Nothing published for this version

  27. 0.0.9 27 Oct 2016

    Nothing published for this version

  28. 0.0.8 03 Jul 2016

    Nothing published for this version

  29. 0.0.7 31 May 2016

    Nothing published for this version

  30. 0.0.6 21 Apr 2016

    Nothing published for this version

  31. 0.0.5 20 Apr 2016

    Nothing published for this version

  32. 0.0.4 19 Apr 2016

    Nothing published for this version

  33. 0.0.3 14 Feb 2016

    Nothing published for this version

  34. 0.0.2 12 Jan 2016

    Nothing published for this version

  35. 0.0.1 20 Nov 2014

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive