Skip to content

0.11.0

Compare
Choose a tag to compare
@MaxDesiatov MaxDesiatov released this 22 Nov 11:15
· 401 commits to main since this release
40b1614

This release adds support for async/await and SwiftWasm 5.5. Use the new value async property on a JSPromise instance to await for its result. You'll have to add a dependency on the new JavaScriptEventLoop target in your Package.swift, import JavaScriptEventLoop, and call JavaScriptEventLoop.installGlobalExecutor() in your code before you start using await and Task
APIs.

Additionally, manual memory management API of JSClosure has been removed to improve usability. This significantly bumps minimum browser version requirements for users of apps depending on JavaScriptKit. Previous manual memory management mode is still available though with a special compiler flags, see README.md for more details.

This new release of JavaScriptKit may work with SwiftWasm 5.4 and 5.3, but is no longer tested with those versions due to compatibility issues introduced on macOS by latest versions of Xcode.

Many thanks to @j-f1, @kateinoigakukun, and @PatrickPijnappel for their contributions to this release!

Closed issues:

  • Enchancement: Add a link to the docs (#136)
  • Use FinalizationRegistry to auto-deinit JSClosure (#131)
  • make test crashes due to JSClosure memory issues (#129)
  • Avoid manual memory management with JSClosure (#106)

Merged pull requests: