Releases: suborbital/reactr
Beta-15.1
Beta-15
JavaScript and TypeScript Support
This release of Reactr includes a new library for use with JavaScript and TypeScript runnables. With Subo Beta-4, JS runnables can be created with subo create runnable <name> --lang js
, and TS runnables can be created with subo create runnable <name> --lang ts
.
Beta-14
Beta-13.1
Beta-13
TinyGo and Grain support, database capability, and more!
This release of Reactr brings some long-requested features, in particular the ability to access SQL databases! Reactr supports connecting to MySQL and PostgreSQL databases, and allows Wasm Runnables to execute pre-defined queries against them. Runnables are not allowed to execute arbitrary queries, which ensures a high standard of security when executing untrusted code.
In addition to this new capability, Reactr now officially supports two new languages: Go (via the TinyGo toolchain), and Grain, an awesome WebAssembly-native language! These two languages are now in preview, and we'd love your feedback. They are also integrated into the upcoming Subo Beta-2 release, which will be coming alongside Atmo Beta-4 later this week.
Along with new languages, Reactr now officially supports a new underlying WebAssembly runtime, Wasmtime! This is the first new runtime that we're adding support for, and more will be coming in the future. We want anyone to be able to take advantage of Reactr and Atmo, regardless of underlying runtime!
Finally, Reactr has received some significant internal performance improvements, specifically around how internal WebAssembly runtimes are managed. The work to support multiple runtimes was a good opportunity to re-architect the internal workings of the scheduler, leading to some great performance gains.
Beta-13 contains small internal breaking changes, so all users must update their Runnables to use v0.13.0
of the various language libraries.
Thank you to FlrnFrmm and willemneal for their contributions to the updated Rust crate, which now includes some easy-to-use macros for generating Runnables, as well as a totally refactored internal code structure.
Beta-12
Improved WASI support, Redis cache, and more!
Beta-12 of Reactr brings some improvements and some new abilities:
- Improved compatibility with standard WASI modules by calling the standard
_start
function to initialize the module (the now-deprecatedinit
is still called if_start
is not present). - Added support for Redis as a cache backend for the cache capability. Use
CacheConfig
when creating the Reactr instance to configure the Redis connection, and it will be used for all Wasm Runnables. - Added the ability to autoscale the work threads used to handle Reactr jobs. This makes Reactr much more flexible when working with large spikes in traffic.
- Updated the internal Wasm runtime to latest avaialble.
Beta-11.1
Beta-11
GraphQL support, auth provider, and more!
Beta-11 of Reactr brings some awesome new capabilities for Wasm Runnables. There is a new GraphQL capability, allowing Wasm modules to query GraphQL endpoints, and a new AuthProvider
capability that allows the Reactr host to add authorization headers to outgoing HTTP/GraphQL calls in order to make applications more secure and flexible.
This release is the foudnation for Atmo Beta-3, which is coming soon and will include documentation for the new GraphQL API.
Beta-10
AssemblyScript / TypeScript support is here!
Welcome to Beta-10; this release contains support for AssemblyScript! It's been a while in the making (mostly due to lack of time to work on it), but it's finally here! A few notes about the release:
- There is a breaking change; rt.Handle
has been renamed to rt.Register
- AssemblyScript doesn't currently support setting response headers, accessing static files, or returning errors. Those will come soon.
- AssemblyScript Runnable API docs will be coming alongside the next Atmo release, so stay tuned.
You can use subo
to create and build AS runnables as of version 0.0.16 with subo create runnable awesomesauce --lang assemblyscript
(typescript
works also).
This release will be the basis for Atmo v0.2.3, and it will also support AS/TS.