Skip to content

Releases: indoorvivants/sn-bindgen

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

v0.0.19 - copy of 0.0.18

14 Jun 09:50
Compare
Choose a tag to compare

This release is equivalent to 0.0.18, but should correctly release to Maven Central.

0.0.18 is still perfectly functional because SBT plugin can bootstrap from Github Releases.

v0.0.18 - Exports

14 Jun 05:03
e0d61fd
Compare
Choose a tag to compare

We added the ability to render functions from a header file as exported methods - allowing you to expose these functions in a shared/static library, and to provide the implementation separately, by just implementing a trait.

This allows you to use a header file as a definition of a binary interface, implement it in Scala, and pass the header along to a system that understands headers natively. One example is Swift: you can implement a lot of your logic in Scala, use it from Swift via the library interface, and use Swift for the rest of your project (if it's a desktop application, for example).

What's Changed

Full Changelog: v0.0.17...v0.0.18