cbindgen
A tool for generating C bindings to Rust code.
0.29.4
98M downloads/mo
#814 most downloaded on crates.io
mozilla/cbindgen
What this package is like to depend on
Last release 2 months ago
09 Jun 2026
Release timing varies
gaps range from 2 weeks to 12 months
Some releases are documented
notes for 46 of 99 stable releases
7 versions withdrawn
withdrawn after publishing
9 years old
106 releases · first in 2017
4 releases in the last 12 months
see the full history below
Release timeline
106 releases · Apr 2017 to Jun 2026Releases
latest 60 of 106-
0.29.409 Jun 2026Release notes
Open source →0.29.4
- Support constant enums and arrays.
0.29.3
- Expose the line_endings config option to use with the builder
- Fix doc attribute parsing to properly handle block comments
- Check for CMSE ABI's as well
- ci: Add a meta job to block the merge queue on it.
- Allow
pubaccess toReprTypefields - In C23 mode, define sized enums as enums rather than typedefs.
0.29.2
- Request serde's std feature to avoid issues with newer toml versions.
0.29.1
- cf13c2b enum: Track dependencies properly in enumerations.
- 307d1e9 constant: Handle cfg in associated constants.
- 0902d02 Remove "display" feature from the toml crate
- 9068410 Fix incorrect detection of duplicated constants
- 451e768 docs: Correct after_include type in example config (fix)
- aff68c6 cargo update
- 09666f6 Update toml to 0.9
0.29.0
- Support no-export annotation for statics and functions.
- Fixed conditional fields of constexpr literal structs
- Add rename rule for generated associated constant
- Upgrade heck to 0.5
- Add support for an optional nullable attribute
- docs.md: Fix deprecated_with_note and deprecated_variant_with_note being spelled as 'notes'
- Fix generic with "void" default
- Fixed error generation of structures using the keyword as inside arrays
- Added test for unsafe(no_mangle) attribute
- Fixed handling of trait methods containing the unsafe attribute
- Rename -Zparse-only
0.28.0
- Parse unsafe attributes in #1020
- Fix local override of enum prefix-with-name by jsgf in #1006
- Add rename-all=prefix in #1021
- ir: add support for UnsafeCell and SyncUnsafeCell by alekitto in #1003
- Implement mangling for arrays in #1022
- Fix: Ignore
CARGO_BUILD_TARGETin tests by bryango in #1010 - Newline for each field for constexpr field constants by youknowone in #988
- Fix clippy warnings by youknowone in #1026
- Add aarch64/arm64 to CI by NickeZ in #1036
- Add
unstable_irfeature flag that makes the ir pub by heesooy in #1011 - Support generated a symbols file by TheElectronWill in #916
0.27.0
- Revert: The
Configstruct now has a private member. - Allow users to specify a crate version for bindings generation (#901).
- Update MSRV to 1.74 (#912, #987).
- Support #[deprecated] on enum variants (#933).
- Support integrating the package_version information in a header file comment (#939).
- Add a language backend (#942).
- Support generics with defaulted args (#959).
- Add
VaListcompatibility (#970).
0.26.0
- Fix swapping of
>>=and<<=in constants. - Add support for #[deprecated] (#860).
- Built-in support for bitflags 2.0.
- Support for "C-unwind" ABI.
- Generate bindings for non-public extern items if they are #[no_mangle].
-
0.29.328 May 2026Release notes
Open source →0.29.3
- Expose the line_endings config option to use with the builder
- Fix doc attribute parsing to properly handle block comments
- Check for CMSE ABI's as well
- ci: Add a meta job to block the merge queue on it.
- Allow
pubaccess toReprTypefields - In C23 mode, define sized enums as enums rather than typedefs.
0.29.2
- Request serde's std feature to avoid issues with newer toml versions.
0.29.1
- cf13c2b enum: Track dependencies properly in enumerations.
- 307d1e9 constant: Handle cfg in associated constants.
- 0902d02 Remove "display" feature from the toml crate
- 9068410 Fix incorrect detection of duplicated constants
- 451e768 docs: Correct after_include type in example config (fix)
- aff68c6 cargo update
- 09666f6 Update toml to 0.9
0.29.0
- Support no-export annotation for statics and functions.
- Fixed conditional fields of constexpr literal structs
- Add rename rule for generated associated constant
- Upgrade heck to 0.5
- Add support for an optional nullable attribute
- docs.md: Fix deprecated_with_note and deprecated_variant_with_note being spelled as 'notes'
- Fix generic with "void" default
- Fixed error generation of structures using the keyword as inside arrays
- Added test for unsafe(no_mangle) attribute
- Fixed handling of trait methods containing the unsafe attribute
- Rename -Zparse-only
0.28.0
- Parse unsafe attributes in #1020
- Fix local override of enum prefix-with-name by jsgf in #1006
- Add rename-all=prefix in #1021
- ir: add support for UnsafeCell and SyncUnsafeCell by alekitto in #1003
- Implement mangling for arrays in #1022
- Fix: Ignore
CARGO_BUILD_TARGETin tests by bryango in #1010 - Newline for each field for constexpr field constants by youknowone in #988
- Fix clippy warnings by youknowone in #1026
- Add aarch64/arm64 to CI by NickeZ in #1036
- Add
unstable_irfeature flag that makes the ir pub by heesooy in #1011 - Support generated a symbols file by TheElectronWill in #916
0.27.0
- Revert: The
Configstruct now has a private member. - Allow users to specify a crate version for bindings generation (#901).
- Update MSRV to 1.74 (#912, #987).
- Support #[deprecated] on enum variants (#933).
- Support integrating the package_version information in a header file comment (#939).
- Add a language backend (#942).
- Support generics with defaulted args (#959).
- Add
VaListcompatibility (#970).
0.26.0
- Fix swapping of
>>=and<<=in constants. - Add support for #[deprecated] (#860).
- Built-in support for bitflags 2.0.
- Support for "C-unwind" ABI.
- Generate bindings for non-public extern items if they are #[no_mangle].
Release notes
Open source →- Expose the line_endings config option to use with the builder
- Fix doc attribute parsing to properly handle block comments
- Check for CMSE ABI's as well
- ci: Add a meta job to block the merge queue on it.
- Allow
pubaccess toReprTypefields - In C23 mode, define sized enums as enums rather than typedefs.
-
0.29.221 Oct 2025Release notes
Open source →0.29.2
- Request serde's std feature to avoid issues with newer toml versions.
0.29.1
- cf13c2b enum: Track dependencies properly in enumerations.
- 307d1e9 constant: Handle cfg in associated constants.
- 0902d02 Remove "display" feature from the toml crate
- 9068410 Fix incorrect detection of duplicated constants
- 451e768 docs: Correct after_include type in example config (fix)
- aff68c6 cargo update
- 09666f6 Update toml to 0.9
0.29.0
- Support no-export annotation for statics and functions.
- Fixed conditional fields of constexpr literal structs
- Add rename rule for generated associated constant
- Upgrade heck to 0.5
- Add support for an optional nullable attribute
- docs.md: Fix deprecated_with_note and deprecated_variant_with_note being spelled as 'notes'
- Fix generic with "void" default
- Fixed error generation of structures using the keyword as inside arrays
- Added test for unsafe(no_mangle) attribute
- Fixed handling of trait methods containing the unsafe attribute
- Rename -Zparse-only
0.28.0
- Parse unsafe attributes in #1020
- Fix local override of enum prefix-with-name by jsgf in #1006
- Add rename-all=prefix in #1021
- ir: add support for UnsafeCell and SyncUnsafeCell by alekitto in #1003
- Implement mangling for arrays in #1022
- Fix: Ignore
CARGO_BUILD_TARGETin tests by bryango in #1010 - Newline for each field for constexpr field constants by youknowone in #988
- Fix clippy warnings by youknowone in #1026
- Add aarch64/arm64 to CI by NickeZ in #1036
- Add
unstable_irfeature flag that makes the ir pub by heesooy in #1011 - Support generated a symbols file by TheElectronWill in #916
0.27.0
- Revert: The
Configstruct now has a private member. - Allow users to specify a crate version for bindings generation (#901).
- Update MSRV to 1.74 (#912, #987).
- Support #[deprecated] on enum variants (#933).
- Support integrating the package_version information in a header file comment (#939).
- Add a language backend (#942).
- Support generics with defaulted args (#959).
- Add
VaListcompatibility (#970).
0.26.0
- Fix swapping of
>>=and<<=in constants. - Add support for #[deprecated] (#860).
- Built-in support for bitflags 2.0.
- Support for "C-unwind" ABI.
- Generate bindings for non-public extern items if they are #[no_mangle].
Release notes
Open source →- Request serde's std feature to avoid issues with newer toml versions (fixes #1114).
-
0.29.121 Oct 2025Release notes
Open source →- cf13c2b enum: Track dependencies properly in enumerations.
- 307d1e9 constant: Handle cfg in associated constants.
- 0902d02 Remove "display" feature from the toml crate
- 9068410 Fix incorrect detection of duplicated constants
- 451e768 docs: Correct after_include type in example config (fix)
- aff68c6 cargo update
- 09666f6 Update toml to 0.9
-
0.29.020 May 2025Release notes
Open source →0.29.0
- Support no-export annotation for statics and functions.
- Fixed conditional fields of constexpr literal structs
- Add rename rule for generated associated constant
- Upgrade heck to 0.5
- Add support for an optional nullable attribute
- docs.md: Fix deprecated_with_note and deprecated_variant_with_note being spelled as 'notes'
- Fix generic with "void" default
- Fixed error generation of structures using the keyword as inside arrays
- Added test for unsafe(no_mangle) attribute
- Fixed handling of trait methods containing the unsafe attribute
- Rename -Zparse-only
0.28.0
- Parse unsafe attributes in #1020
- Fix local override of enum prefix-with-name by jsgf in #1006
- Add rename-all=prefix in #1021
- ir: add support for UnsafeCell and SyncUnsafeCell by alekitto in #1003
- Implement mangling for arrays in #1022
- Fix: Ignore
CARGO_BUILD_TARGETin tests by bryango in #1010 - Newline for each field for constexpr field constants by youknowone in #988
- Fix clippy warnings by youknowone in #1026
- Add aarch64/arm64 to CI by NickeZ in #1036
- Add
unstable_irfeature flag that makes the ir pub by heesooy in #1011 - Support generated a symbols file by TheElectronWill in #916
0.27.0
- Revert: The
Configstruct now has a private member. - Allow users to specify a crate version for bindings generation (#901).
- Update MSRV to 1.74 (#912, #987).
- Support #[deprecated] on enum variants (#933).
- Support integrating the package_version information in a header file comment (#939).
- Add a language backend (#942).
- Support generics with defaulted args (#959).
- Add
VaListcompatibility (#970).
0.26.0
- Fix swapping of
>>=and<<=in constants. - Add support for #[deprecated] (#860).
- Built-in support for bitflags 2.0.
- Support for "C-unwind" ABI.
- Generate bindings for non-public extern items if they are #[no_mangle].
Release notes
Open source →* Support no-export annotation for statics and functions. * Fixed conditional fields of constexpr literal structs * Add rename rule for generated associated constant * Upgrade heck to 0.5 * Add support for an optional nullable attribute * docs.md: Fix deprecated_with_note and deprecated_variant_with_note being spelled as 'notes' * Fix generic with "void" default * Fixed error generation of structures using the keyword as inside arrays * Added test for unsafe(no_mangle) attribute * Fixed handling of trait methods containing the unsafe attribute * Rename -Zparse-only -
0.28.015 Jan 2025Release notes
Open source →0.28.0
- Parse unsafe attributes in #1020
- Fix local override of enum prefix-with-name by jsgf in #1006
- Add rename-all=prefix in #1021
- ir: add support for UnsafeCell and SyncUnsafeCell by alekitto in #1003
- Implement mangling for arrays in #1022
- Fix: Ignore
CARGO_BUILD_TARGETin tests by bryango in #1010 - Newline for each field for constexpr field constants by youknowone in #988
- Fix clippy warnings by youknowone in #1026
- Add aarch64/arm64 to CI by NickeZ in #1036
- Add
unstable_irfeature flag that makes the ir pub by heesooy in #1011 - Support generated a symbols file by TheElectronWill in #916
-
0.27.010 Aug 2024Nothing published for this version
-
0.26.013 Sep 2023Nothing published for this version
-
0.25.025 Aug 2023Release notes
Open source →- Re-release of yanked 0.24.6 as a major release
* Update MSRV to 1.57
* Support variadic arguments (
...) (#805) * Add --depfile option (#820) * Breaking changes: TheConfigstruct now has a private member.
- Re-release of yanked 0.24.6 as a major release
* Update MSRV to 1.57
* Support variadic arguments (
-
0.24.631 May 2023 withdrawnRelease notes
Open source →- Update MSRV to 1.57
* Support variadic arguments (
...) (#805) * Add --depfile option (#820)
- Update MSRV to 1.57
* Support variadic arguments (
-
0.24.529 May 2023 -
0.24.429 May 2023Release notes
Open source →- Move expand infinite recursion fix (#799) * Add with_cpp_compat to the builder (#796) * Handle never type in return position consistently (#780) * Fix warnings (#816, #819) * Updated documentation (#788, #791, #792, #810, #823)
-
0.24.309 Jun 2022 -
0.24.207 Jun 2022 -
0.24.107 Jun 2022Release notes
Open source →- Add support for unary negation (#765). * Make more bitfield operators constexpr (#765).
-
0.23.021 Apr 2022Release notes
Open source →- Better support for constexpr. (#756) * constexpr is now enabled by default in C++ mode. You can use const.allow_constexpr=false to revert to previous behavior. (#756) * Minimum syn version no longer parses old rust code. (#754)
-
0.22.019 Apr 2022Release notes
Open source →- Support rename rule for union body members (#751). * constant: Add support for associated constant expressions (#752). * Fix regression in CamelCase rename rule (should be lowerCamelCase) (#750). * enumeration: simplify standard types in variants (#749). * Avoid generating and writing bindings when called recursively (#747). * Cython: Omit per-variant tags in unions generated for Rust enums (#748). * Update various dependencies.
-
0.21.025 Mar 2022Release notes
Open source →- Update MSRV to 1.54.0 * Update clap to 3.1. * Update heck to 0.4.0 * unraw identifiers * Honor documentation_length in Cython. * Add documentation_style to with short and full options * Map RawFd to Int * Respect remove_underscores config when prefixing name to enum
-
0.20.029 Jul 2021Release notes
Open source →- Add Builder::with_using_namespaces. (#688)
- Ignore PhantomPinned. (#695)
- Simplify Pin<T> to T. (#697)
- Update --pretty=expanded to -Zunpretty=expanded. (#706)
- Add Builder::with_using_namespaces. (#688)
-
0.19.008 Apr 2021Release notes
Open source →- Simplify types in generics (#663)
- Use --profile=check for macro expansion (#671)
- Use exported name to prefix enum variants (#672)
- Fix path attribute handling in inline submodules (#679)
- Fix a stack overflow with some recursive typedefs (#680)
- Simplify types in generics (#663)
-
0.18.026 Feb 2021Release notes
Open source →- Simplify types in nested types such as pointed-to types and function signatures (#661)
-
0.17.001 Feb 2021Release notes
Open source →- Add with_parse_extra_bindings to builder. (#645)
- Support NonZero and fix incorrect simplification of Option<ptr> into ptr. (#647)
- Deal with name conflicts correctly in declaration type resolution. (#651)
- Support pointers to ZSTs. (#656)
- Add with_parse_extra_bindings to builder. (#645)
-
0.16.020 Dec 2020Release notes
Open source →- Remove artificial restriction on lifetime parameters on enums (#604)
- Add an option for converting usize/isize into size_t/ptrdiff_t. (#606)
- Allow controlling the cargo profile used for expansion. (#607)
- Support wider range of expressions in enum discriminants (#614)
- Support generation of Cython bindings (#590)
- Fixed some issues with style=tag and recursive structs (#615)
- Default C style to Both (as specified in docs) (#615)
- Fix resolution of path dependencies from certain modules. (#629)
- Support inlined definitions for tuple variants with a single field in C (#631)
Thanks to all the awesome contributors that contributed to this release.
- Remove artificial restriction on lifetime parameters on enums (#604)
-
0.15.007 Oct 2020Release notes
Open source →- Allow customizing mangling of generic parameters in C (#575)
- Box<T> simplifies to T* in C (4ce324c)
- ManuallyDrop<T> and MaybeUninit<T> simplify to T in C, and are opaque in C++ (0076a17)
- C++ supports a derive-ostream annotation to derive serialization of structs, unions and enums (#582)
- Large character constants have been fixed on Windows (#586)
- Constants are now generated for typedefs, etc (#589)
- The
sort_byconfiguration option has been made to work for constants (#587) - Default sort order is source order now (sort_by = "None"), and can be changed by the above option (#587)
- Allow customizing mangling of generic parameters in C (#575)
-
0.14.621 Sep 2020 withdrawn -
0.14.519 Sep 2020 withdrawnRelease notes
Open source →- Add support to specify line ending style (#568)
- Add cbindgen:ptrs-as-arrays annotation to allow making function arguments C/C++ arrays.
- Add support to specify line ending style (#568)
-
0.14.420 Aug 2020 withdrawnRelease notes
Open source →-
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)
-
-
-
0.14.324 Jun 2020Release notes
Open source →- Introduce cbindgen:ignore comment annotation, to allow ignoring items or modules. (#519)
- Support for casts in constant expressions. (#526)
- Make a non-fatal error a warning message. (#535)
- Add a --metadata option to the CLI, to allow passing pre-computed cargo metadata. (#538)
- Introduce cbindgen:ignore comment annotation, to allow ignoring items or modules. (#519)
-
0.14.230 Apr 2020Release notes
Open source →- Fixed minimal dependency versions. (#507)
- Add an option to write pragma once. (#511)
- Fix submodule scanning for implicit Rust 2018 modules. (#512)
- Fix dependency parsing / scanning to handle target-specific versions. (#513)
- Use heck for case conversion. (#514)
- Add support for verbatim content after includes. (#416)
- Allow to add attributes to most generated functions. (#515)
- Fixed minimal dependency versions. (#507)
-
0.14.110 Apr 2020Release notes
Open source →- Handle mangling pointers. (#508)
- Unconditionally generate a return statement in partialeq implementations. (#509)
- Handle mangling pointers. (#508)
-
0.14.004 Apr 2020Release notes
Open source →- Minor tweak at how [export.exclude] is handled to allow excluding
generic instantiations in C mode. (#501)
- Documented cpp_compat option. (#496)
- Fixed a panic when parsing associated constants for a built-in type. (#494)
- Minor tweak at how [export.exclude] is handled to allow excluding
generic instantiations in C mode. (#501)
-
0.13.221 Mar 2020Release notes
Open source →- Constants now have suitable documentation. (#471)
- Fixed some C warnings by emitting void when there are no arguments. (#470)
- Avoids reading cargo.toml when not needed, which can cause panics in workspace situations.
- Only write
defaultcases if the switch is not exhaustive. (#475) - Some warnings have been refined. (#477)
- Code generation for static arrays has been fixed. (#479)
- Opt-in support for constexpr in constants. (#481)
- Fix C code generation and some warnings when extremely large constants are used. (#490)
- Proper escaping of enum variants and fields. (#483)
- Added support for RefCell (as an opaque type) and Cell. (#489)
- Constants now have suitable documentation. (#471)
-
0.13.109 Feb 2020 -
0.13.031 Jan 2020Release notes
Open source →- Support 'swift_name' attributes on generated functions (#449)
- Add [export.pre_body] to config (#452)
- Handle new line in doc attribute (#454)
- Add support for
Selfin tagged enums, structs and unions (#455, #455, #456) - Make sentinel variant respect regular config (#459)
- Fix layout of tagged enums with size under some configurations (#463)
- Add an option to allow configuring the order of function names in generated headers (#466)
- Support 'swift_name' attributes on generated functions (#449)
-
0.12.210 Jan 2020Release notes
Open source →- Fixed version detection with lockfile v2. https://github.com/mozilla/cbindgen/pull/446
- Added support for export_name on functions. https://github.com/mozilla/cbindgen/pull/447
- Fixed version detection with lockfile v2. https://github.com/mozilla/cbindgen/pull/446
-
0.12.129 Dec 2019Release notes
Open source →- Added support for #[repr*64)] on enums. https://github.com/mozilla/cbindgen/pull/441
- Added support to generate plain enums instead of enum classes for C++. https://github.com/mozilla/cbindgen/pull/443
- Fixed dependency resolution with lockfile v2. https://github.com/mozilla/cbindgen/pull/438
- Added support for #[repr*64)] on enums. https://github.com/mozilla/cbindgen/pull/441
-
0.12.016 Dec 2019Release notes
Open source →- Added support for #[repr(align)] and #[repr(packed)] on structs and unions. https://github.com/mozilla/cbindgen/pull/431
- Added support to generate copy-assignment operators for enums. https://github.com/mozilla/cbindgen/pull/434
- Added support for #[repr(align)] and #[repr(packed)] on structs and unions. https://github.com/mozilla/cbindgen/pull/431
-
0.11.108 Dec 2019Release notes
Open source →- More binary operators and expressions are supported. https://github.com/mozilla/cbindgen/pull/425
- More built-in bitflags operators. https://github.com/mozilla/cbindgen/pull/426
- More binary operators and expressions are supported. https://github.com/mozilla/cbindgen/pull/425
-
0.11.003 Dec 2019Release notes
Open source →- Made rust char map to uint32_t. https://github.com/mozilla/cbindgen/pull/424
-
0.10.102 Dec 2019Release notes
Open source →- Improved error message for missing config file. https://github.com/mozilla/cbindgen/pull/422
- Add missing header for char32_t. https://github.com/mozilla/cbindgen/pull/414
- Improved error message for missing config file. https://github.com/mozilla/cbindgen/pull/422
-
0.10.019 Nov 2019Release notes
Open source →- Initialize struct literal with list-initializer for C++11 standard. https://github.com/mozilla/cbindgen/pull/401
- Surround namespace with __cplusplus ifdef in cpp_compat mode. https://github.com/mozilla/cbindgen/pull/407
- Add support for --quiet flag. https://github.com/mozilla/cbindgen/pull/400
- Map char to char32_t. https://github.com/mozilla/cbindgen/pull/396
- Improve binding_crate_ref() error message. https://github.com/mozilla/cbindgen/pull/395
- avoid prematurely returning during expansion. https://github.com/mozilla/cbindgen/pull/389
- Add support for adding "using namespace" statements. https://github.com/mozilla/cbindgen/pull/387
- Initialize struct literal with list-initializer for C++11 standard. https://github.com/mozilla/cbindgen/pull/401
-
0.9.126 Aug 2019Release notes
Open source →- Various improvements to comment output. https://github.com/mozilla/cbindgen/pull/370 / https://github.com/mozilla/cbindgen/pull/375.
- Fixed expand when ran from build.rs. https://github.com/mozilla/cbindgen/pull/371
- More debugging output for expansion. https://github.com/mozilla/cbindgen/pull/383
- New option to add a default private constructor in C++ tagged enums. https://github.com/mozilla/cbindgen/pull/377
- Syn and related dependencies updated to 1.0. https://github.com/mozilla/cbindgen/pull/379
- Various improvements to comment output. https://github.com/mozilla/cbindgen/pull/370 / https://github.com/mozilla/cbindgen/pull/375.
-
0.9.026 Jun 2019Release notes
Open source →- Support to generate C headers with C++ compatibility. https://github.com/mozilla/cbindgen/pull/349
- Fix include guard generation when no_includes is set. https://github.com/mozilla/cbindgen/pull/352
- Fix crate parsing order so that types from the binding crate are preferred in presence of conflicting names. https://github.com/mozilla/cbindgen/pull/355
- Add extra_bindings option to generate bindings for dependencies. https://github.com/mozilla/cbindgen/pull/362
- Clap dependency is optional now so it's feasible to avoid building it if cbindgen is used as a library. https://github.com/mozilla/cbindgen/pull/363
- Support to generate C headers with C++ compatibility. https://github.com/mozilla/cbindgen/pull/349
-
0.8.713 May 2019Release notes
Open source →- Require C++11 to run the test-suite (#341, test-only)
- Improve mangling error message (#340)
- Add the ability to automatically derive copy-constructors for tagged enums (#339)
- Use placement new for constructing in tagged unions' helper methods (#333)
- Require C++11 to run the test-suite (#341, test-only)
-
0.8.606 May 2019 -
0.8.503 May 2019 withdrawnRelease notes
Open source →- Improved support for Rust 2018 modules
- Add possibility to autogenerate tagged union destructors
- Improved support for Rust 2018 modules
-
0.8.429 Apr 2019Release notes
Open source →- Support for package renaming in Cargo.toml
- Improved error messages for |cargo metadata| failures
- Replaced 'test.py' harness with |cargo test|
- Char constants will now be escaped properly
- Visibility of constants will now be respected
- Added a C99 doc comment style
- Support for package renaming in Cargo.toml
-
0.8.330 Mar 2019Nothing published for this version
-
0.8.206 Mar 2019 -
0.8.105 Mar 2019Release notes
Open source →- Support for manual parsing and expanding of bitflags macros
- Support for optional tagged enum casts with asserts
- Support for manual parsing and expanding of bitflags macros
-
0.8.014 Feb 2019Release notes
Open source →- support for 'includes' without default includes
- removed dependency on ancient serde_derive!
- support for 'includes' without default includes
-
0.7.126 Jan 2019Release notes
Open source →- Fix for crash when unwrapping unsupported type with associated constants
-
0.7.024 Jan 2019Release notes
Open source →- support for libc::ssize_t
- fixed some warnings on nightly
- fix for transparent associated constants
- switched more API's to use AsRef<Path>
- impl std::error::Error for cbindgen::Error
- now support putting user-defined content in item bodies
- support for libc::ssize_t
-
0.6.807 Jan 2019Release notes
Open source →- ptrdiff_t is now a recognized primitive type
- named function type arguments are now propagated
- fixes for struct literals in constants
- reserved C/C++ keywords are now escaped automatically
- negative enum discriminants are now supported
- fix for prefixing and formatting variant names
- fix for snake_case formatter
- syn update
- doxygen style comments are now output by default
- VaList is now a recognized primitive type
- fix for comment processing
- constant is propagated into array types
- references are now supported in IR, and used for some helper method generation
- assignment helper functions will generate array copies if necessary
- ptrdiff_t is now a recognized primitive type
-
0.6.730 Oct 2018Nothing published for this version
-
0.6.617 Oct 2018Nothing published for this version
-
0.6.516 Oct 2018Nothing published for this version
-
0.6.404 Oct 2018Nothing published for this version
-
0.6.328 Aug 2018Nothing published for this version
-
0.6.221 Aug 2018Nothing published for this version