The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
* Adds purely Swift unit-tests
* Moves all integration test magic from Github workflow file to Swift, so that anyone can run them
* Fixes a few data races detected with TSan
* Removes a limit on the number of arguments in callbacks and function definitions compiled with Swift 5.9.
* Supports passing raw bytes between Emacs and Swift.
* Officially supports Emacs 30.
* Introduces a new product with dynamic library of `EmacsSwiftModule` itself to avoid warnings about duplicated symbols when using two or more modules built with `EmacsSwiftModule` (#16).
Fix creation of Emacs strings from non-ASCII strings.
Fixes a crash caused by the cleanup routine when the environment is in an invalid state. That usually manifested itself as an Emacs crash when error happens in asynchronous events.
* Introduce additional environment checks: https://github.com/SavchenkoValeriy/emacs-swift-module/pull/9
Introduce a way to write module functions without `@_cdecl`.
Relax requirements towards Emacs and Swift.
Support versions of Emacs starting from Emacs 25 (couldn't possibly go further because dynamic modules were introduced then) and Swift 5.2+.
Implement async `withAsyncEnvironment` method to marry `Channel` and Swift's `async/await`.
### Minor type improvements and fixes:
- Support for `cons` cells in Swift via the `ConsCell` class
- Support for `list` in Swift via the `List` class
- Support conversions of associative lists into Swift `Dictionary`
- Fix channel deadlocks for nested async callbacks
This is a first release of the `EmacsSwiftModule` defining all the basic APIs.