Sourced from bindgen's changelog.
0.71.0 (2024-12-06)
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 toFieldInfo
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 ofextern
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 theDebug
one forBindgenError
inbindgen-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 inunsafe
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
andaddr_of_mut
macros under the 1.51 rust version (#2988)0.70.1 (2024-08-20)
Added
Changed
Removed
Fixed
- Fix regression where the
const
layout tests were triggering theunnecessary_operation
andidentity_op
clippy warnings.Security
0.70.0 (2024-08-16)
Added
- Add target mappings for riscv64imac and riscv32imafc.
- Add a complex macro fallback API (#2779).
- Add option to use DST structs for flexible arrays (--flexarray-dst, #2772).
- Add option to dynamically load variables (#2812).
- Add option in CLI to use rustified non-exhaustive enums (--rustified-non-exhaustive-enum, #2847).
- Add field_type_name to FieldInfo.
Changed
- Remove which and lazy-static dependencies (#2809, #2817).
- Generate compile-time layout tests (#2787).
bindgen-cli
errors to stderr instead of stdout (#2840)Removed
Fixed
- Fix
--formatter=prettyplease
not working inbindgen-cli
by addingprettyplease
feature and enabling it by default forbindgen-cli
(#2789) .- Fix
--allowlist-item
so anonymous enums are no longer ignored (#2827).- Use clang_getFileLocation instead of clang_getSpellingLocation to fix clang-trunk (#2824).
... (truncated)
d3c489f
Add version field to bindgen
as a dependencyc683f6f
chore: bump versions80c7bcf
chore: update changelog2da868d
ci: remove main_tests
from matrix798d618
ci: remove unused targets42218df
docs(book): fix inconsistent use of Clang versions2607798
docs(book): fix package name for the extra Clang toolseeca12d
ci: Move forward Rust for Linux version to v6.13-rc1a154af5
Use KyleMayes/install-llvm-action
to install LLVMcce8f7e
Use macos-latest
on CI