Skip to content

Releases: mozilla/cbindgen

v0.19.0

08 Apr 16:23
d9e490c
Compare
Choose a tag to compare
  • Simplify types in generics (#663)
  • Use --profile=check for macro expansion (#671)
  • Use exported name to prefix enum variants (#672)
  • Fix path attribute handling in inline submodules (#679)
  • Fix a stack overflow with some recursive typedefs (#680)

v0.18.0

26 Feb 19:15
a0dc1a1
Compare
Choose a tag to compare
  • Simplify types in nested types such as pointed-to types and function signatures (#661)

v0.17.0

01 Feb 13:02
8236c82
Compare
Choose a tag to compare
  • Add with_parse_extra_bindings to builder. (#645)
  • Support NonZero and fix incorrect simplification of Option into ptr. (#647)
  • Deal with name conflicts correctly in declaration type resolution. (#651)
  • Support pointers to ZSTs. (#656)

v0.16.0

20 Dec 23:18
a00b421
Compare
Choose a tag to compare
     * Remove artificial restriction on lifetime parameters on enums (#604)
     * Add an option for converting usize/isize into size_t/ptrdiff_t. (#606)
     * Allow controlling the cargo profile used for expansion. (#607)
     * Support wider range of expressions in enum discriminants (#614)
     * Support generation of Cython bindings (#590)
     * Fixed some issues with style=tag and recursive structs (#615)
     * Default C style to Both (as specified in docs) (#615)
     * Fix resolution of path dependencies from certain modules. (#629)
     * Support inlined definitions for tuple variants with a single field in C (#631)

    Thanks to all the awesome contributors that contributed to this release.

v0.15.0

07 Oct 10:57
83b3be9
Compare
Choose a tag to compare
  * Allow customizing mangling of generic parameters in C (#575)
  * Box<T> simplifies to T* in C (4ce324c)
  * ManuallyDrop<T> and MaubeUninit<T> simplify to T in C, and are opaque in C++ (0076a17)
  * C++ supports a derive-ostream annotation to derive serialization of structs, unions and enums (#582)
  * Large character constants have been fixed on Windows (#586)
  * Constants are now generated for typedefs, etc (#589)
  * The `sort_by` configuration option has been made to work for constants (#587)
  * Default sort order is source order now (sort_by = "None"), and can be changed by the above option (#587)

v0.14.6

21 Sep 19:02
e4da7d3
Compare
Choose a tag to compare
v0.14.6

v0.14.5

19 Sep 14:29
1e46e53
Compare
Choose a tag to compare
     * Add support to specify line ending style (#568)
     * Add cbindgen:ptrs-as-arrays annotation to allow making function
       arguments C/C++ arrays.

v0.14.4

20 Aug 17:00
83cdbd8
Compare
Choose a tag to compare
     * Allow to override the mangling separator (#502)

     * cbindgen now handles better having ZSTs in template parameters, and
       default template parameters (#563).

     * Support for annotating nonnull pointers (#558)

     * Fixed bitflags that overflow a signed integer (#556)

     * Support for wildcard argument names (#550)

     * Support for the never return type, with configurable annotation (#549)

     * Properly reject arrays as function arguments (#540)

v0.14.3

24 Jun 15:52
cc2876f
Compare
Choose a tag to compare
 * Introduce cbindgen:ignore comment annotation, to allow ignoring items or modules. (#519)
 * Support for casts in constant expressions. (#526)
 * Make a non-fatal error a warning message. (#535)
 * Add a --metadata option to the CLI, to allow passing pre-computed cargo metadata. (#538)

v0.14.2

30 Apr 22:59
b6b88f8
Compare
Choose a tag to compare
 * Fixed minimal dependency versions. (#507)
 * Add an option to write pragma once. (#511)
 * Fix submodule scanning for implicit Rust 2018 modules. (#512)
 * Fix dependency parsing / scanning to handle target-specific versions. (#513)
 * Use heck for case conversion. (#514)
 * Add support for verbatim content after includes. (#416)
 * Allow to add attributes to most generated functions. (#515)