v0.71.0
We are happy to announce a new release of bindgen 🎉
Changelog
Added
- Add the
ParseCallbacks::new_item_foundcallback to expose the original and final name of structs, unions and enums (#2658). - Add the
field_type_namefield toFieldInfoto expose the name of the type of a field (#2863) - Add support for custom attributes with the
--with-attribute-customflag (#2866) - Allow setting
--rust-targetto any Rust version supported by bindgen (#2993) - Use c-string literals if the
--generate-cstrflag is used for Rust targets after 1.77 under the 2021 edition (#2996) - Add the
--rust-editionflag which allows to select which Rust edition to target. (#3002, #3013) - Use
unsafe externinstead ofexternin blocks for any Rust target after 1.82. (#3015)
Changed
- The
--wrap-static-fnsrelated options no longer require the experimental feature or flag (#2928) - Use the
Displayimplementation instead of theDebugone forBindgenErrorinbindgen-cli(#3005)
Removed
- Dropped support for any Clang versions strictly lower than 9.0 (#2932)
- Dropped support for any Rust version strictly lower than 1.33 (#2993)
Fixed
- Represent opaque types in a FFI-safe way (#2880)
- Use the underlying type of any atomic type instead of panicking (#2920)
- Use the right characters for newlines on windows (#2923)
- Inlined namespaces are properly recognized now (#2950)
- Unsafe calls to
libloadingare now wrapped inunsafeblocks when using dynamic loading (#2961) - The
ParseCallbacks::field_visibilitycallback is now called for newtypes as well (#2967) - Gate the use of the
addr_ofandaddr_of_mutmacros under the 1.51 rust version (#2988)
Upgrade bindgen
Upgrade to this release by updating your Cargo.toml:
bindgen = "0.71.0"Install bindgen-cli
Install prebuild binaries using cargo binstall
Just run
cargo binstall bindgen-cliInstall prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/rust-lang/rust-bindgen/releases/download/v0.71.0/bindgen-cli-installer.sh | shDownload bindgen-cli 0.71.0
| File | Platform | Checksum |
|---|---|---|
| bindgen-cli-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| bindgen-cli-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| bindgen-cli-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
Compile and install binaries from source
Just run
cargo install bindgen-cliFriends
Thanks to everyone who contributed to this release!
- Brian Ward
- Christiaan Biesterbosch
- Christian Poveda
- David Tolnay
- Emilio Cobos Álvarez
- Enes
- George Bateman
- John Baublitz
- Jonathan Schwender
- Jubilee Young
- Martin Kröning
- Maxence Younsi
- Miguel Ojeda
- Mossa
- myyrakle
- Nik Konyuchenko
- Valentin
- Yuri Astrakhan
- Zhang Jingqiang
Contributing
Want to join us? Check out our CONTRIBUTING.md and take a look
at some of these issues:
- Issues labeled "easy"
- Issues labeled "less easy"
- Still can't find something to work on? Drop a comment here.
Want to help improve our documentation? Check out the issues labeled "docs".
Found a bug with bindgen? File an issue here.