Skip to content

Releases: elringus/bootsharp

v0.9.0

Choose a tag to compare

@elringus elringus released this 09 Jun 21:17

What's Changed

Full Changelog: v0.8.0...v0.9.0

v0.8.0

Choose a tag to compare

@elringus elringus released this 01 Jun 15:15

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

Choose a tag to compare

@elringus elringus released this 10 Feb 18:01
7eeff3e

What's Changed

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

v0.6.3

Choose a tag to compare

@elringus elringus released this 11 May 10:07
84aa331

What's Changed

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

v0.6.2

Choose a tag to compare

@elringus elringus released this 06 May 00:42
c5ed2c8

What's Changed

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

v0.6.0

Choose a tag to compare

@elringus elringus released this 30 Mar 22:45
6c51068

What's Changed

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

v0.5.0

Choose a tag to compare

@elringus elringus released this 29 Mar 21:05
b0ec44d

What's Changed

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

v0.4.0

Choose a tag to compare

@elringus elringus released this 05 Jan 14:25
85a639e

What's Changed

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

v0.3.3

Choose a tag to compare

@elringus elringus released this 23 Sep 17:17

What's Changed

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

v0.3.2

Choose a tag to compare

@elringus elringus released this 28 May 17:28
df39df3

What's Changed

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