Skip to content

Releases: indoorvivants/sn-bindgen

v0.1.4

23 Jun 13:56
40ac972
Compare
Choose a tag to compare

This release builds up on 0.1.3, fixing several old and newly introduced issues around union alignments.

What's Changed

  • Fix union alignment (again) and add tests by @keynmol in #288

Full Changelog: v0.1.3...v0.1.4

v0.1.3

22 Jun 17:53
Compare
Choose a tag to compare

Highlights

Opaque structs no longer use manual calculations for field offsets, instead relying on Scala Native information about sizes and alignments. Additionally, we stopped calculating sizes of structs and unions, instead getting that information directly from Clang at the point of binding generation.

Both these changes should make it much easier to support 32-bit platforms, as the bindings no longer hardcode any type size information.

What's Changed

  • Adjust examples workflow by @keynmol in #279
  • Update sbt to 1.9.9 by @indoorvivants-steward in #275
  • Update scalafmt-core to 3.8.0 by @indoorvivants-steward in #273
  • Update bindgen-sbt-plugin to 0.1.0 by @indoorvivants-steward in #271
  • Move offset calculations for opaque structs to runtime by @keynmol in #287

Full Changelog: v0.1.2...v0.1.3

v0.1.2

02 Mar 13:41
7b4edb3
Compare
Choose a tag to compare

This release further improves SN 0.5.x compatibility.

What's Changed

Full Changelog: v0.1.1...v0.1.2

v0.1.1

01 Mar 11:44
7b2de32
Compare
Choose a tag to compare

This release celebrates the recently released Scala Native 0.5.0-RC1 and starts preparing the ground for making it the default
version for generated bindings.

At the moment the changes are quite minimal, and are controlled by the new --flavour parameter.
The flavour parameter is auto-detected from the build configuration as part of SBT plugin, users shouldn't need to do anything.

Later releases might introduce syntactic changes aimed at taking advantage of SN's new pointer size types, to make cross-compiling for 32bit platforms easier.

What's Changed

Full Changelog: v0.1.0...v0.1.1

v0.1.0

03 Feb 10:51
a3cec00
Compare
Choose a tag to compare

The minor bump in this release indicates two things:

  • LLVM was updated to 17 (from 14). This was forced by the new CI process, but it's a good change nonetheless.
  • The JVM interface for invoking the binary (used in SBT plugin and the future Mill plugin) is entering a maturing phase, where I would like to enable MiMa for those artifacts and keep them binary and source stable.

The LLVM 17 change forces me to bump some of the other important improvements to future releases.

Additionally, we're now publishing Apple Silicon binaries straight from CI, thanks to Github Actions adding the runners.

Other PRs

  • Use macos arm runner, update base interface to 0.0.24 by @keynmol in #270

Full Changelog: v0.0.24...v0.1.0

v0.0.24

28 Jan 09:14
6b270bb
Compare
Choose a tag to compare

Main and breaking changes

  • Don't render all package and exports in multi-file mode by @keynmol in #258
  • Sort out the interface bincompat surface by @keynmol in #269

Other

  • Add nix flake by @coreyoconnor in #244
  • Nix: specify main program in packages.default, add source filter by @kubukoz in #245
  • Add Nix overlay to flake by @kubukoz in #246
  • Interactive driver and various refactorings by @keynmol in #248
  • Update sbt to 1.9.8 by @indoorvivants-steward in #251
  • Update sbt-welcome to 0.4.0 by @indoorvivants-steward in #249
  • Correctly render package private defs when package has parts by @keynmol in #257
  • Allow excluding system paths by @keynmol in #260
  • Update junit-plugin, junit-runtime, ... to 0.4.17 by @indoorvivants-steward in #265

New Contributors

Full Changelog: v0.0.23...v0.0.24

v0.0.23

20 Nov 21:24
cfb6dd3
Compare
Choose a tag to compare

This release removes a spurious print introduced in 0.0.22 that would've messed up the CLI results.

SBT plugin is not affected as it writes to files directly.

Full Changelog: v0.0.22...v0.0.23

v0.0.22

19 Nov 17:54
416299d
Compare
Choose a tag to compare

What's Changed

  • Add disabled Macos ARM64 build, only do release-fast on releases, reduce LLVM version duplication by @keynmol in #241
  • Handle anonymous enums in structs/unions by @keynmol in #242
  • Re-do CI again by @keynmol in #243

Full Changelog: v0.0.21...v0.0.22

v0.0.21

16 Oct 18:16
e2405c4
Compare
Choose a tag to compare

Highlights:

  • Scala 3.3 LTS
  • Scala Native 0.4.16
  • Helper methods to make it easier to work with opaque C function pointer aliases

What's Changed

Full Changelog: v0.0.20...v0.0.21

v0.0.20

05 Aug 12:34
d2948b9
Compare
Choose a tag to compare

What's Changed

  • More dumber system header detection by @keynmol in #208
  • Fix #210: recursive struct via array of pointers indirection by @keynmol in #211
  • Update scalafmt-core to 3.7.5 by @indoorvivants-steward in #216
  • Fix FAM rendering by removing FAM field early by @keynmol in #224

Full Changelog: v0.0.19...v0.0.20