NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #848 most downloaded on crates.io
A tool for generating C bindings to Rust code.
Last release 4 months ago
09 Jun 2026
Release timing varies
gaps range from 2 weeks to 12 months
Most releases are documented
notes for 46 of the last 60 stable releases
7 versions withdrawn
withdrawn after publishing
9 years old
106 releases · first in 2017
docs.md: Fix deprecated_with_note and deprecated_variant_with_note being spelled as 'notes'
pub access to ReprType fieldsCARGO_BUILD_TARGET in tests by bryango in #1010unstable_ir feature flag that makes the ir pub by heesooy in #1011Config struct now has a private member.VaList compatibility (#970).>>= and <<= in constants.One column per quarter.
docs.md: Fix deprecated_with_note and deprecated_variant_with_note being spelled as 'notes'
pub access to ReprType fieldsCARGO_BUILD_TARGET in tests by bryango in #1010unstable_ir feature flag that makes the ir pub by heesooy in #1011Config struct now has a private member.VaList compatibility (#970).>>= and <<= in constants.docs.md: Fix deprecated_with_note and deprecated_variant_with_note being spelled as 'notes'
CARGO_BUILD_TARGET in tests by bryango in #1010unstable_ir feature flag that makes the ir pub by heesooy in #1011Config struct now has a private member.VaList compatibility (#970).>>= and <<= in constants.cf13c2b enum: Track dependencies properly in enumerations.
docs.md: Fix deprecated_with_note and deprecated_variant_with_note being spelled as 'notes'
CARGO_BUILD_TARGET in tests by bryango in #1010unstable_ir feature flag that makes the ir pub by heesooy in #1011Config struct now has a private member.VaList compatibility (#970).>>= and <<= in constants.Parse unsafe attributes in #1020
CARGO_BUILD_TARGET in tests by bryango in #1010unstable_ir feature flag that makes the ir pub by heesooy in #1011Nothing published for this version
Nothing published for this version
Breaking changes: The Config struct now has a private member.
...) (#805)
* Add --depfile option (#820)
* Breaking changes: The Config struct now has a private member.Support variadic arguments (...)
...) (#805)
* Add --depfile option (#820)Don't enforce tempfile version.
Move expand infinite recursion fix
Make struct expressions correctly generated through typedefs (#768).
Make bitfield operators use explicit constructors.
Add support for unary negation (#765).
constexpr is now enabled by default in C++ mode. You can use const.allow_constexpr=false to revert to previous behavior.
Support rename rule for union body members (#751).
Honor documentation_length in Cython.
Add Builder::with_using_namespaces.
Use --profile=check for macro expansion
Simplify types in nested types such as pointed-to types and function signatures
Add with_parse_extra_bindings to builder.
Remove artificial restriction on lifetime parameters on enums
Thanks to all the awesome contributors that contributed to this release.
Allow customizing mangling of generic parameters in C
sort_by configuration option has been made to work for constants (#587)Fixed the builds with older versions of rustc.
Add support to specify line ending style
Allow to override the mangling separator
Allow to override the mangling separator (#502)
cbindgen now handles better having ZSTs in template parameters, and default template parameters (#563).
Support for annotating nonnull pointers (#558)
Fixed bitflags that overflow a signed integer (#556)
Support for wildcard argument names (#550)
Support for the never return type, with configurable annotation (#549)
Properly reject arrays as function arguments (#540)
Introduce cbindgen:ignore comment annotation, to allow ignoring items or modules.
Fixed minimal dependency versions.
Unconditionally generate a return statement in partialeq implementations.
Minor tweak at how [export.exclude] is handled to allow excluding generic instantiations in C mode.
Constants now have suitable documentation.
default cases if the switch is not exhaustive. (#475)Support #[cfg] on individual enum variants.
#[cfg] on individual enum variants. (#469)Support 'swift_name' attributes on generated functions
Self in tagged enums, structs and unions (#455, #455, #456)Fixed version detection with lockfile v2. https://github.com/mozilla/cbindgen/pull/446
Added support for #[repr*64)] on enums. https://github.com/mozilla/cbindgen/pull/441
Added support for #[repr(align)] and #[repr(packed)] on structs and unions. https://github.com/mozilla/cbindgen/pull/431
More binary operators and expressions are supported. https://github.com/mozilla/cbindgen/pull/425
Made rust char map to uint32_t. https://github.com/mozilla/cbindgen/pull/424
Improved error message for missing config file. https://github.com/mozilla/cbindgen/pull/422
Initialize struct literal with list-initializer for C++11 standard. https://github.com/mozilla/cbindgen/pull/401
Various improvements to comment output. https://github.com/mozilla/cbindgen/pull/370 / https://github.com/mozilla/cbindgen/pull/375.
Support to generate C headers with C++ compatibility. https://github.com/mozilla/cbindgen/pull/349
Require C++11 to run the test-suite (#341, test-only)
Fixed a panic when missing a lock file
Improved support for Rust 2018 modules
Support for package renaming in Cargo.toml
Nothing published for this version
Improvements to bitflags parsing
Support for manual parsing and expanding of bitflags macros
support for 'includes' without default includes
Fix for crash when unwrapping unsupported type with associated constants
fix for transparent associated constants
ptrdiff_t is now a recognized primitive type
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →