forked from mozilla/cbindgen
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCHANGES
163 lines (116 loc) · 6.83 KB
/
CHANGES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
## 0.14.1
* Handle mangling pointers. (#508)
* Unconditionally generate a return statement in partialeq implementations. (#509)
## 0.14.0
* Minor tweak at how [export.exclude] is handled to allow excluding
generic instantiations in C mode. (#501)
* Documented cpp_compat option. (#496)
* Fixed a panic when parsing associated constants for a built-in type. (#494)
## 0.13.2
* Constants now have suitable documentation. (#471)
* Fixed some C warnings by emitting void when there are no arguments. (#470)
* Avoids reading cargo.toml when not needed, which can cause panics in workspace situations.
* Only write `default` cases if the switch is not exhaustive. (#475)
* Some warnings have been refined. (#477)
* Code generation for static arrays has been fixed. (#479)
* Opt-in support for constexpr in constants. (#481)
* Fix C code generation and some warnings when extremely large constants are used. (#490)
* Proper escaping of enum variants and fields. (#483)
* Added support for RefCell (as an opaque type) and Cell. (#489)
## 0.13.1
* Support `#[cfg]` on individual enum variants. (#469)
## 0.13.0
* Support 'swift_name' attributes on generated functions (#449)
* Add [export.pre_body] to config (#452)
* Handle new line in doc attribute (#454)
* Add support for `Self` in tagged enums, structs and unions (#455, #455, #456)
* Make sentinel variant respect regular config (#459)
* Fix layout of tagged enums with size under some configurations (#463)
* Add an option to allow configuring the order of function names in generated headers (#466)
## 0.12.2
* Fixed version detection with lockfile v2. https://github.com/eqrion/cbindgen/pull/446
* Added support for export_name on functions. https://github.com/eqrion/cbindgen/pull/447
## 0.12.1
* Added support for #[repr*64)] on enums. https://github.com/eqrion/cbindgen/pull/441
* Added support to generate plain enums instead of enum classes for C++. https://github.com/eqrion/cbindgen/pull/443
* Fixed dependency resolution with lockfile v2. https://github.com/eqrion/cbindgen/pull/438
## 0.12.0
* Added support for #[repr(align)] and #[repr(packed)] on structs and unions. https://github.com/eqrion/cbindgen/pull/431
* Added support to generate copy-assignment operators for enums. https://github.com/eqrion/cbindgen/pull/434
## 0.11.1
* More binary operators and expressions are supported. https://github.com/eqrion/cbindgen/pull/425
* More built-in bitflags operators. https://github.com/eqrion/cbindgen/pull/426
## 0.11.0
* Made rust char map to uint32_t. https://github.com/eqrion/cbindgen/pull/424
## 0.10.1
* Improved error message for missing config file. https://github.com/eqrion/cbindgen/pull/422
* Add missing header for char32_t. https://github.com/eqrion/cbindgen/pull/414
## 0.10.0
* Initialize struct literal with list-initializer for C++11 standard. https://github.com/eqrion/cbindgen/pull/401
* Surround namespace with __cplusplus ifdef in cpp_compat mode. https://github.com/eqrion/cbindgen/pull/407
* Add support for --quiet flag. https://github.com/eqrion/cbindgen/pull/400
* Map char to char32_t. https://github.com/eqrion/cbindgen/pull/396
* Improve binding_crate_ref() error message. https://github.com/eqrion/cbindgen/pull/395
* avoid prematurely returning during expansion. https://github.com/eqrion/cbindgen/pull/389
* Add support for adding "using namespace" statements. https://github.com/eqrion/cbindgen/pull/387
## 0.9.1
* Various improvements to comment output. https://github.com/eqrion/cbindgen/pull/370 / https://github.com/eqrion/cbindgen/pull/375.
* Fixed expand when ran from build.rs. https://github.com/eqrion/cbindgen/pull/371
* More debugging output for expansion. https://github.com/eqrion/cbindgen/pull/383
* New option to add a default private constructor in C++ tagged enums. https://github.com/eqrion/cbindgen/pull/377
* Syn and related dependencies updated to 1.0. https://github.com/eqrion/cbindgen/pull/379
## 0.9.0
* Support to generate C headers with C++ compatibility. https://github.com/eqrion/cbindgen/pull/349
* Fix include guard generation when no_includes is set. https://github.com/eqrion/cbindgen/pull/352
* Fix crate parsing order so that types from the binding crate are preferred in presence of conflicting names. https://github.com/eqrion/cbindgen/pull/355
* Add extra_bindings option to generate bindings for dependencies. https://github.com/eqrion/cbindgen/pull/362
* Clap dependency is optional now so it's feasible to avoid building it if cbindgen is used as a library. https://github.com/eqrion/cbindgen/pull/363
## 0.8.7
* Require C++11 to run the test-suite (#341, test-only)
* Improve mangling error message (#340)
* Add the ability to automatically derive copy-constructors for tagged enums (#339)
* Use placement new for constructing in tagged unions' helper methods (#333)
## 0.8.6
* Fixed a panic when missing a lock file
## 0.8.5
* Improved support for Rust 2018 modules
* Add possibility to autogenerate tagged union destructors
## 0.8.4
* Support for package renaming in Cargo.toml
* Improved error messages for |cargo metadata| failures
* Replaced 'test.py' harness with |cargo test|
* Char constants will now be escaped properly
* Visibility of constants will now be respected
* Added a C99 doc comment style
## 0.8.2
* Improvements to bitflags parsing
## 0.8.1
* Support for manual parsing and expanding of bitflags macros
* Support for optional tagged enum casts with asserts
## 0.8.0
* support for 'includes' without default includes
* removed dependency on ancient serde_derive!
## 0.7.1
* Fix for crash when unwrapping unsupported type with associated constants
## 0.7.0
* support for libc::ssize_t
* fixed some warnings on nightly
* fix for transparent associated constants
* switched more API's to use AsRef<Path>
* impl std::error::Error for cbindgen::Error
* now support putting user-defined content in item bodies
## 0.6.8
* ptrdiff_t is now a recognized primitive type
* named function type arguments are now propagated
* fixes for struct literals in constants
* reserved C/C++ keywords are now escaped automatically
* negative enum discriminants are now supported
* fix for prefixing and formatting variant names
* fix for snake_case formatter
* syn update
* doxygen style comments are now output by default
* VaList is now a recognized primitive type
* fix for comment processing
* constant is propagated into array types
* references are now supported in IR, and used for some helper method generation
* assignment helper functions will generate array copies if necessary