Skip to content

v0.71.0

Compare
Choose a tag to compare
@github-actions github-actions released this 09 Dec 14:49
v0.71.0
93c5b8b

We are happy to announce a new release of bindgen 🎉

Changelog

Added

  • Add the ParseCallbacks::new_item_found callback to expose the original and final name of structs, unions and enums (#2658).
  • Add the field_type_name field to FieldInfo to expose the name of the type of a field (#2863)
  • Add support for custom attributes with the --with-attribute-custom flag (#2866)
  • Allow setting --rust-target to any Rust version supported by bindgen (#2993)
  • Use c-string literals if the --generate-cstr flag is used for Rust targets after 1.77 under the 2021 edition (#2996)
  • Add the --rust-edition flag which allows to select which Rust edition to target. (#3002, #3013)
  • Use unsafe extern instead of extern in blocks for any Rust target after 1.82. (#3015)

Changed

  • The --wrap-static-fns related options no longer require the experimental feature or flag (#2928)
  • Use the Display implementation instead of the Debug one for BindgenError in bindgen-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 libloading are now wrapped in unsafe blocks when using dynamic loading (#2961)
  • The ParseCallbacks::field_visibility callback is now called for newtypes as well (#2967)
  • Gate the use of the addr_of and addr_of_mut macros 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-cli

Install 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 | sh

Download 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-cli

Friends

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:

Want to help improve our documentation? Check out the issues labeled "docs".

Found a bug with bindgen? File an issue here.