Skip to content

Commit 1110a96

Browse files
committed
Bump to 0.32.0
1 parent 5495ba3 commit 1110a96

File tree

3 files changed

+99
-15
lines changed

3 files changed

+99
-15
lines changed

CHANGELOG.md

+97-13
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,25 @@
99
- [Removed](#removed)
1010
- [Fixed](#fixed)
1111
- [Security](#security)
12-
- [0.31.0](#0310)
12+
- [0.32.0](#0320)
1313
- [Added](#added-1)
1414
- [Changed](#changed-1)
15-
- [Deprecated](#deprecated-1)
16-
- [Removed](#removed-1)
1715
- [Fixed](#fixed-1)
18-
- [0.30.0](#0300)
16+
- [0.31.0](#0310)
1917
- [Added](#added-2)
2018
- [Changed](#changed-2)
21-
- [Deprecated](#deprecated-2)
19+
- [Deprecated](#deprecated-1)
20+
- [Removed](#removed-1)
2221
- [Fixed](#fixed-2)
23-
- [0.29.0](#0290)
22+
- [0.30.0](#0300)
2423
- [Added](#added-3)
2524
- [Changed](#changed-3)
25+
- [Deprecated](#deprecated-2)
2626
- [Fixed](#fixed-3)
27+
- [0.29.0](#0290)
28+
- [Added](#added-4)
29+
- [Changed](#changed-4)
30+
- [Fixed](#fixed-4)
2731

2832
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
2933

@@ -39,13 +43,7 @@ Released YYYY/MM/DD
3943

4044
## Changed
4145

42-
* The `bindgen::Builder::{constified_enum_module,{bitfield,rustified}_enum}`
43-
builder methods and their corresponding CLI flags now compare their argument
44-
to the C/C++ `enum`'s "canonical path", which includes leading namespaces,
45-
rather than its "canonical name", which does not. This is a breaking change
46-
that requires callers which target a namespaced C++ enum to call e.g.
47-
`bitfield_enum("<namespace>::<enum_name>")` rather than e.g.
48-
`bitfield_enum("<enum_name>")`. [#1162][]
46+
* TODO (or remove section if none)
4947

5048
## Deprecated
5149

@@ -65,6 +63,92 @@ Released YYYY/MM/DD
6563

6664
--------------------------------------------------------------------------------
6765

66+
# 0.32.0
67+
68+
Released 2017/12/08
69+
70+
## Added
71+
72+
* Added support for bit-field allocation units that are larger than 64 bits
73+
wide. Note that individual bit-fields within such units are still restricted
74+
to being no wider than 64 bits. [#1158][]
75+
76+
* We can now generate random C header files and test that `bindgen` can process
77+
them with the `quickcheck` crate. Initial support landed in [#1159][] with a
78+
few more additions in follow up pull requests.
79+
80+
## Changed
81+
82+
* The `bindgen::Builder::{constified_enum_module,{bitfield,rustified}_enum}`
83+
builder methods and their corresponding CLI flags now compare their argument
84+
to the C/C++ `enum`'s "canonical path", which includes leading namespaces,
85+
rather than its "canonical name", which does not. This is a breaking change
86+
that requires callers which target a namespaced C++ enum to call e.g.
87+
`bitfield_enum("<namespace>::<enum_name>")` rather than e.g.
88+
`bitfield_enum("<enum_name>")`. [#1162][]
89+
90+
* When a struct is packed to a smaller alignment that is still greater than one,
91+
`bindgen` cannot emit Rust bindings that match the input source. Before, it
92+
would emit `#[repr(packed)]` anyways, which packs to an alignment of one, but
93+
this can lead to misalignment and UB. Now, `bindgen` will detect these
94+
situations and convert the struct into an opaque blob of bytes with the proper
95+
alignment. We are eagerly awaiting support for `#[repr(packed(N))]` in
96+
Rust. [#1136][]
97+
98+
## Fixed
99+
100+
* There was a perfect storm of conditions that could cause `bindgen` not to emit
101+
any bindings if spawning `rustfmt` to format the bindings failed. This is now
102+
fixed. [#1112][]
103+
104+
* In some circumstances, `bindgen` would emit type parameters twice for
105+
references to template instantiations. This is now fixed. [#1113][]
106+
107+
* When a C/C++ struct had a field named with a Rust keyword, and `impl_debug`
108+
was enabled, the generated `impl Debug for ...` blocks could reference the
109+
field by the Rust keyword name, rather than the non-keyword field name we
110+
actually end up generating. This is now fixed. [#1123][]
111+
112+
* There was a regression in 0.31.0 where C++ template aliases to opaque types
113+
would sometimes not treat the aliased type as opaque. This is now
114+
fixed. [#1118][]
115+
116+
* There was a regression in 0.31.0 that could cause `bindgen` to panic when
117+
parsing nested template classes. This is now fixed. [#1127][]
118+
119+
* Unnamed bit-fields do not affect alignment of their struct or class in C/C++,
120+
however `bindgen` interpreted them as doing so, which could generate
121+
`#[repr(C)]` structs expecting to have an incorrect alignment. This is now
122+
fixed. [#1076][]
123+
124+
* When a zero-sized type was used in a bit-field, `bindgen` could
125+
divide-by-zero. This is now fixed. [#1137][]
126+
127+
* When a template parameter is used in a bit-field, `bindgen` would panic. This
128+
is now fixed. [#1140][]
129+
130+
* There was a regression in 0.31.0 where if `bindgen` was given a header file
131+
that did not exist, it would panic. This is now fixed, and it will instead
132+
properly report the error. [#1146][]
133+
134+
* In some cases, generated bit-field getters and setters could access memory
135+
beyond `self`. This is now fixed. [#954][]
136+
137+
[#1162]: https://github.com/rust-lang-nursery/rust-bindgen/issues/1162
138+
[#1113]: https://github.com/rust-lang-nursery/rust-bindgen/issues/1113
139+
[#1112]: https://github.com/rust-lang-nursery/rust-bindgen/issues/1112
140+
[#1123]: https://github.com/rust-lang-nursery/rust-bindgen/issues/1123
141+
[#1127]: https://github.com/rust-lang-nursery/rust-bindgen/issues/1127
142+
[#1136]: https://github.com/rust-lang-nursery/rust-bindgen/issues/1136
143+
[#1137]: https://github.com/rust-lang-nursery/rust-bindgen/issues/1137
144+
[#1140]: https://github.com/rust-lang-nursery/rust-bindgen/issues/1140
145+
[#1146]: https://github.com/rust-lang-nursery/rust-bindgen/issues/1146
146+
[#1118]: https://github.com/rust-lang-nursery/rust-bindgen/issues/1118
147+
[#1076]: https://github.com/rust-lang-nursery/rust-bindgen/issues/1076
148+
[#1158]: https://github.com/rust-lang-nursery/rust-bindgen/issues/1158
149+
150+
--------------------------------------------------------------------------------
151+
68152
# 0.31.0
69153

70154
Released 2017/10/27

Cargo.lock

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ name = "bindgen"
1313
readme = "README.md"
1414
repository = "https://github.com/rust-lang-nursery/rust-bindgen"
1515
documentation = "https://docs.rs/bindgen"
16-
version = "0.31.3"
16+
version = "0.32.0"
1717
build = "build.rs"
1818

1919
include = [

0 commit comments

Comments
 (0)