Releases: indoorvivants/sn-bindgen
v0.1.4
v0.1.3
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
v0.1.1
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
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
Full Changelog: v0.0.24...v0.1.0
v0.0.24
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
- @coreyoconnor made their first contribution in #244
- @kubukoz made their first contribution in #245
Full Changelog: v0.0.23...v0.0.24
v0.0.23
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
v0.0.21
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
- Round of upgrades by @keynmol in #238
- fromPtr/toPtr helper methods for C function pointer aliases by @keynmol in #240
Full Changelog: v0.0.20...v0.0.21
v0.0.20
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