Auto merge of #1181 - fitzgen:version-bump-to-0.32.0, r=emilio

Bump to 0.32.0

r? @emilio
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 09d3583..c4e13b2 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -9,21 +9,25 @@
   - [Removed](#removed)
   - [Fixed](#fixed)
   - [Security](#security)
-- [0.31.0](#0310)
+- [0.32.0](#0320)
   - [Added](#added-1)
   - [Changed](#changed-1)
-  - [Deprecated](#deprecated-1)
-  - [Removed](#removed-1)
   - [Fixed](#fixed-1)
-- [0.30.0](#0300)
+- [0.31.0](#0310)
   - [Added](#added-2)
   - [Changed](#changed-2)
-  - [Deprecated](#deprecated-2)
+  - [Deprecated](#deprecated-1)
+  - [Removed](#removed-1)
   - [Fixed](#fixed-2)
-- [0.29.0](#0290)
+- [0.30.0](#0300)
   - [Added](#added-3)
   - [Changed](#changed-3)
+  - [Deprecated](#deprecated-2)
   - [Fixed](#fixed-3)
+- [0.29.0](#0290)
+  - [Added](#added-4)
+  - [Changed](#changed-4)
+  - [Fixed](#fixed-4)
 
 <!-- END doctoc generated TOC please keep comment here to allow auto update -->
 
@@ -39,13 +43,7 @@
 
 ## Changed
 
-* The `bindgen::Builder::{constified_enum_module,{bitfield,rustified}_enum}`
-  builder methods and their corresponding CLI flags now compare their argument
-  to the C/C++ `enum`'s "canonical path", which includes leading namespaces,
-  rather than its "canonical name", which does not. This is a breaking change
-  that requires callers which target a namespaced C++ enum to call e.g.
-  `bitfield_enum("<namespace>::<enum_name>")` rather than e.g.
-  `bitfield_enum("<enum_name>")`. [#1162][]
+* TODO (or remove section if none)
 
 ## Deprecated
 
@@ -65,6 +63,92 @@
 
 --------------------------------------------------------------------------------
 
+# 0.32.0
+
+Released 2017/12/08
+
+## Added
+
+* Added support for bit-field allocation units that are larger than 64 bits
+  wide. Note that individual bit-fields within such units are still restricted
+  to being no wider than 64 bits. [#1158][]
+
+* We can now generate random C header files and test that `bindgen` can process
+  them with the `quickcheck` crate. Initial support landed in [#1159][] with a
+  few more additions in follow up pull requests.
+
+## Changed
+
+* The `bindgen::Builder::{constified_enum_module,{bitfield,rustified}_enum}`
+  builder methods and their corresponding CLI flags now compare their argument
+  to the C/C++ `enum`'s "canonical path", which includes leading namespaces,
+  rather than its "canonical name", which does not. This is a breaking change
+  that requires callers which target a namespaced C++ enum to call e.g.
+  `bitfield_enum("<namespace>::<enum_name>")` rather than e.g.
+  `bitfield_enum("<enum_name>")`. [#1162][]
+
+* When a struct is packed to a smaller alignment that is still greater than one,
+  `bindgen` cannot emit Rust bindings that match the input source. Before, it
+  would emit `#[repr(packed)]` anyways, which packs to an alignment of one, but
+  this can lead to misalignment and UB. Now, `bindgen` will detect these
+  situations and convert the struct into an opaque blob of bytes with the proper
+  alignment. We are eagerly awaiting support for `#[repr(packed(N))]` in
+  Rust. [#1136][]
+
+## Fixed
+
+* There was a perfect storm of conditions that could cause `bindgen` not to emit
+  any bindings if spawning `rustfmt` to format the bindings failed. This is now
+  fixed. [#1112][]
+
+* In some circumstances, `bindgen` would emit type parameters twice for
+  references to template instantiations. This is now fixed. [#1113][]
+
+* When a C/C++ struct had a field named with a Rust keyword, and `impl_debug`
+  was enabled, the generated `impl Debug for ...` blocks could reference the
+  field by the Rust keyword name, rather than the non-keyword field name we
+  actually end up generating. This is now fixed. [#1123][]
+
+* There was a regression in 0.31.0 where C++ template aliases to opaque types
+  would sometimes not treat the aliased type as opaque. This is now
+  fixed. [#1118][]
+
+* There was a regression in 0.31.0 that could cause `bindgen` to panic when
+  parsing nested template classes. This is now fixed. [#1127][]
+
+* Unnamed bit-fields do not affect alignment of their struct or class in C/C++,
+  however `bindgen` interpreted them as doing so, which could generate
+  `#[repr(C)]` structs expecting to have an incorrect alignment. This is now
+  fixed. [#1076][]
+
+* When a zero-sized type was used in a bit-field, `bindgen` could
+  divide-by-zero. This is now fixed. [#1137][]
+
+* When a template parameter is used in a bit-field, `bindgen` would panic. This
+  is now fixed. [#1140][]
+
+* There was a regression in 0.31.0 where if `bindgen` was given a header file
+  that did not exist, it would panic. This is now fixed, and it will instead
+  properly report the error. [#1146][]
+
+* In some cases, generated bit-field getters and setters could access memory
+  beyond `self`. This is now fixed. [#954][]
+
+[#1162]: https://github.com/rust-lang-nursery/rust-bindgen/issues/1162
+[#1113]: https://github.com/rust-lang-nursery/rust-bindgen/issues/1113
+[#1112]: https://github.com/rust-lang-nursery/rust-bindgen/issues/1112
+[#1123]: https://github.com/rust-lang-nursery/rust-bindgen/issues/1123
+[#1127]: https://github.com/rust-lang-nursery/rust-bindgen/issues/1127
+[#1136]: https://github.com/rust-lang-nursery/rust-bindgen/issues/1136
+[#1137]: https://github.com/rust-lang-nursery/rust-bindgen/issues/1137
+[#1140]: https://github.com/rust-lang-nursery/rust-bindgen/issues/1140
+[#1146]: https://github.com/rust-lang-nursery/rust-bindgen/issues/1146
+[#1118]: https://github.com/rust-lang-nursery/rust-bindgen/issues/1118
+[#1076]: https://github.com/rust-lang-nursery/rust-bindgen/issues/1076
+[#1158]: https://github.com/rust-lang-nursery/rust-bindgen/issues/1158
+
+--------------------------------------------------------------------------------
+
 # 0.31.0
 
 Released 2017/10/27
diff --git a/Cargo.lock b/Cargo.lock
index eb5e327..2d091c9 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -23,7 +23,7 @@
 
 [[package]]
 name = "bindgen"
-version = "0.31.3"
+version = "0.32.0"
 dependencies = [
  "cexpr 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "cfg-if 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
diff --git a/Cargo.toml b/Cargo.toml
index f6026cc..bc36614 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -13,7 +13,7 @@
 readme = "README.md"
 repository = "https://github.com/rust-lang-nursery/rust-bindgen"
 documentation = "https://docs.rs/bindgen"
-version = "0.31.3"
+version = "0.32.0"
 build = "build.rs"
 
 include = [