Skip to content

Releases: elringus/bootsharp

v0.8.0

01 Jun 15:15

Choose a tag to compare

This release ships many new features and enhancements I've wanted to add over the last 3 years while using Bootsharp extensively in production, notably:

  • The NativeAOT-LLVM compiler is now shipped with the package and used by default for release builds. Compared to .NET's stock AOT compiler, it produces faster and smaller builds.
  • Replaced .NET's JSON serializer with our own binary serializer, fine-tuned for maximum performance in WASM. Combined with the LLVM compiler, this improved marshalling performance by 2.5x (outperforming Rust's wasm-bindgen!) and, most importantly, reduced the WASM binary size by ~30%.
  • Radically expanded supported interop surfaces: properties, events, delegates, generic and overloaded methods, nested instances — Bootsharp now supports most common API shapes and value types out of the box.
  • It's now possible to customize how Bootsharp treats specific types via specialization. This allows, for example, supporting CancellationToken as both exported and imported values while preserving the underlying CTS identity.
  • The interop shape is now projected into ES modules instead of a monolithic JS file, improving the UX when consuming the APIs on the JS side and making the generated package friendlier for modern bundlers.

The release also has many breaking changes; check the commits annotated with ! for details. I've intentionally accumulated all the major changes into a single release, so that we can update the downstream projects in a batch. From this point on, I expect no major breaking changes. Once #196 is resolved and Microsoft stabilizes their new WASM R2R compiler (replaces Mono for debug builds, we'll still use LLVM for release), I'll consider tagging 1.0.

Special thanks to @OptimusPi for financially supporting the project — it pushed me to improve Bootsharp beyond the needs of my own projects, making it more useful to the community. If you find Bootsharp helpful, please consider sponsoring me on GitHub.

What's Changed

Full Changelog: v0.7.0...v0.8.0

v0.7.0

10 Feb 18:01
7eeff3e

Choose a tag to compare

What's Changed

Full Changelog: v0.6.3...v0.7.0

v0.6.3

11 May 10:07
84aa331

Choose a tag to compare

What's Changed

Full Changelog: v0.6.2...v0.6.3

v0.6.2

06 May 00:42
c5ed2c8

Choose a tag to compare

What's Changed

Full Changelog: v0.6.0...v0.6.2

v0.6.0

30 Mar 22:45
6c51068

Choose a tag to compare

What's Changed

Full Changelog: v0.5.0...v0.6.0

v0.5.0

29 Mar 21:05
b0ec44d

Choose a tag to compare

What's Changed

Full Changelog: v0.4.0...v0.5.0

v0.4.0

05 Jan 14:25
85a639e

Choose a tag to compare

What's Changed

Full Changelog: v0.3.3...v0.4.0

v0.3.3

23 Sep 17:17

Choose a tag to compare

What's Changed

Full Changelog: v0.3.2...v0.3.3

v0.3.2

28 May 17:28
df39df3

Choose a tag to compare

What's Changed

Full Changelog: v0.3.1...v0.3.2

v0.3.1

07 Feb 15:37
0690313

Choose a tag to compare

What's Changed

Full Changelog: v0.3.0...v0.3.1