Skip to content

Releases: google/autocxx

v0.23.0

07 Nov 12:03
034e104
Compare
Choose a tag to compare
v0.23.0 Pre-release
Pre-release

What's Changed

The major change here is a lot of rework of the safety!(unsafe_references_wrapped) mode, based on the researches done here. This is a compatibility break, but only if you're using that mode.

There are also significant bug fixes to extern_rust_type!() as noted below.

Other features

Bug fixes

Misc changes

New Contributors

Full Changelog: v0.22.4...v0.23.0

v0.22.4

08 Sep 11:02
8d2e1df
Compare
Choose a tag to compare
v0.22.4 Pre-release
Pre-release

What's Changed

New Contributors

Full Changelog: v0.22.3...v0.22.4

v0.22.3

27 Jun 22:24
c35090b
Compare
Choose a tag to compare
v0.22.3 Pre-release
Pre-release

What's Changed

The change here is an experimental new mode to use reference wrappers for C++ code, as explained here and in this example.

Full Changelog: v0.22.2...v0.22.3

v0.22.2

08 Jun 16:55
e147efc
Compare
Choose a tag to compare
v0.22.2 Pre-release
Pre-release

What's Changed

New Contributors

Full Changelog: v0.22.1...v0.22.2

v0.22.1

29 May 04:26
bdff5db
Compare
Choose a tag to compare
v0.22.1 Pre-release
Pre-release

What's Changed

One new feature:

A roll of the minimum cxx version to work around a new clippy warning:

Lots of bug fixes:

There is currently a known soundness problem, as noted in #1006.

Full Changelog: v0.22.0...v0.22.1

v0.22.0

29 Apr 08:27
24f5e2a
Compare
Choose a tag to compare
v0.22.0 Pre-release
Pre-release

What's Changed

Major changes to how the command line generation tool autocxx_gen works. If you're just using cargo you probably don't need to worry about this, but if you're using other build systems you'll almost certainly need to make changes.

There's also a compatibility change in that make_unique methods have been removed. They've been deprecated for a few releases now, so this shouldn't come as a surprise. Append .within_unique_ptr() everywhere you would have used it.

This release also upgrades some of our dependencies:

But mostly there are lots of bug fixes for cases where autocxx previously failed.

Various other bug fixes or minor changes:

  • Achieve predictable iteration order. by @adetaylor in #1044 - this makes output more deterministic
  • Fix excessive generate_pod output in repro cases. by @adetaylor in #1058 - fixes a bug in the reproduction pipeline
  • Better logging from autocxx-reduce. by @adetaylor in #1062
  • Avoid duplicate stddef introduction in reduction. by @adetaylor in #1063
  • Avoid redefining cxx types in reduction by @adetaylor in #1064
  • Add stress test reduction pipeline. by @adetaylor in #1069

Full Changelog: v0.21.2...v0.22.0

v0.21.2

19 Apr 05:45
99702d5
Compare
Choose a tag to compare
v0.21.2 Pre-release
Pre-release

What's Changed

  • Treat C++ warnings as fatal within the test suite, revealing a problem that needed to be fixed in our generated code...
  • Fix unnecessary std::move by @adetaylor in #1048

Full Changelog: v0.21.1...v0.21.2

v0.21.1

19 Apr 05:21
7319702
Compare
Choose a tag to compare
v0.21.1 Pre-release
Pre-release

What's Changed

Significant improvement (though some corner cases wouldn't surprise me): where possible, treat incomprehensible typedefs as opaque types by @adetaylor in #1035. Previously if we encountered a type that bindgen couldn't fully handle, we ignored that type plus any typedefs that depended upon it. Now, we still discard the type - but typedefs should continue to be somewhat usable.

Bug fixes

Internal and testing changes

Full Changelog: v0.21.0...v0.21.1

v0.21.0

15 Apr 04:55
8e04069
Compare
Choose a tag to compare
v0.21.0 Pre-release
Pre-release

What's Changed

Major breaking change:

  • Functions which return (non-POD) values no longer return a UniquePtr. Instead they return an impl New, so you can emplace them on the stack or in a Box if you prefer. If in doubt, simply append .within_unique_ptr() to go back to the old behavior. (#998)
  • Function calls which take rvalue reference parameters (Thingy&&) are now supported (#821)

Bug fixes:

Full Changelog: v0.20.1...v0.21.0

v0.20.1

12 Apr 03:28
5dcafe7
Compare
Choose a tag to compare
v0.20.1 Pre-release
Pre-release

What's Changed

  • Bug fix to stop important error messages disappearing (thanks to @testforvln for the report) - in #1021
  • Slightly more flexibility when storing C++ objects in Rust boxes:

Various internal tidyings.

The next release is likely to be a significant compatibility break as we land a major part of #379.

Full Changelog: v0.20.0...v0.20.1