Skip to content

Releases: suborbital/e2core

v0.4.5

31 Mar 13:39
2c71147
Compare
Choose a tag to compare

Atmo Beta-4.5 brings some minor fixes and the ability to define static peers with the ATMO_PEERS env var.

Beta-4.4

14 Mar 14:59
92aa6a6
Compare
Choose a tag to compare

Atmo Beta-4.4 updates Reactr to Beta-15.1 and adds OpenTelemetry to Atmo Proxy.

Beta-4.3

21 Feb 15:34
b3c1ccf
Compare
Choose a tag to compare

Atmo Beta-4.3 includes concurrency improvements and an upgrade to Reactr Beta-15.

Beta-4.2

21 Nov 21:25
52275da
Compare
Choose a tag to compare

Atmo Beta-4.2 fixes a crash that can occur when using the ATMO_CONTROL_PLANE option

Beta-4.1

19 Nov 20:13
29f7b17
Compare
Choose a tag to compare

Atmo Beta-4.1 fixes a small issue when running in headless mode that prevented the metrics and health endpoints from returning correct responses.

Beta-4

18 Nov 15:09
b436c0b
Compare
Choose a tag to compare

Welcome to Atmo Beta-4!

This is a packed release, so let's get right to it:

Go and Grain language support

Along with the newly released Reactr Beta-13, Atmo now has built-in support for Go (via the TinyGo toolchain) and Grain, which is an incredible WebAssembly-native language. These two languages enter preview in Beta-4 and join Atmo's existing support for Rust, AssemblyScript, and Swift. We're really excited to expand the types of languages you can use to build Atmo applications, and we're looking forward to bringing even more to you over the coming months such as JavaScript, Python, C/C++ and more.

SQL Database capability

This is a big one! Atmo Beta-4 brings our first preview of SQL database support. This release supports MySQL and PostgreSQL databases, and is currently supported in the Rust API. We plan to support all languages in upcoming releases, but want to use this opportunity to test out Atmo's novel approach to connecting with databases and get your feedback. Database support means that we as a community can start building truly end-to-end systems with Atmo, because it can finally work with your data! While caches and static files are great, the good ol' SQL database is still one of the main ways that scalable systems are built. Check out the docs for full details and to try it out!

Kafka / Redpanda stream support

Atmo Beta-3 brought us the new concept of streams, allowing Atmo to become a stream processor and connect with your existing messaging-based infrastructure using NATS. This release brings all of the same capabilities to those of us who power their apps with Kafka! You can handle Kafka streams using Atmo handlers, and pipe responses back out over Kafka as well, making Atmo a really great choice for asynchronous application design with a really powerful and flexible WebAssembly runtime. We have also fully tested this release with the popular Redpanda Kafka replacement, and are happy to report it works wonderfully.

Hugely improved performance

We have two compounding performance improvements in Atmo Beta-4, the first comes from the internal Reactr scheduler which saw its own round of performance improvements in Beta-13, but Atmo itself has also improved how it handles requests internally, including much fewer JSON encode/decode events, which means your requests are handled with an order of magnitude less overhead than in previous releases. We have been performing systematic benchmark tests for the past few months, and we've seen Atmo handle some massive network load in production environments. This is something we're constantly improving upon, and this release especially has seen some great gains.

And much more

Atmo Beta-4 also includes some small improvements such as a built-in health endpoint, and a new experimental 'proxy' mode that allows Atmo to act as a super-intelligent load balancer for constellations of Sat instances. One important thing to note is that Atmo Beta-4 no longer includes the ForEach handler step type. After speaking with users and looking at the complexity that feature brought to the platform, we decided that it made the most sense to focus on simplicty and remove it. Subo will give an error in projects that use forEach starting with its Beta-2 release.

Atmo Beta-4 is based on Reactr Beta-13, which introduces internal breaking changes to the WebAssembly APIs. Please update all of your Runnables to use v0.13.0 of their respective APIs.

That's all for now! Please visit the docs and give Atmo a try, we're really excited about this one.

Beta-3.2

03 Sep 17:40
5e0f72c
Compare
Choose a tag to compare

This release includes the ability to create a connection to Redis that is used by the Runnable Cache capability. It also improves the performance of Atmo's internals by autoscaling the internal function scheduler automatically.

Beta-3.1

12 Aug 19:26
40942f8
Compare
Choose a tag to compare

This release contains internal changes to Runnable capabilities that will be the basis for features in Beta-4.

Beta-3

04 Aug 19:42
614f3dc
Compare
Choose a tag to compare

Welcome to Atmo Beta-3!

There are some great new additions in this release, let's get an overview:

NOTE: Beta-3 requires subo Alpha-19 and Runnable API v0.11.0

Streams

Streams are a new handler type in Atmo. You can define a stream handler that reads messages from a streaming connection such as a websocket or NATS topic, and execute your Runnables to handle each one. This opens up tons of new use-cases and application architecture patterns that Atmo can now be a part of!

Authentication

Your Directive can now configure authentication secrets for your Runnables' HTTP and GraphQL requests. Atmo will automatically inject Authorization headers into requests made by your code so that secrets are handled securely by the runtime instead of being passed into the WebAssembly sandbox.

Connections

External connections can now be defined declaratively in the Directive to automatically set up resources that your application needs to operate. Configuring NATS for stream processing, and in the future, connections like caches and databases can now be defined declaratively instead of needing to set them up in code.

GraphQL capability

As alluded to above, your Runnables can now make GraphQL requests! Popoular third-party APIs rely on GraphQL, and your Atmo applications can now work seamlessly with them.

There's a ton more under the hood, but that covers the highlights! As always, visit the documentation for the most up-to-date information and getting started guide.

Beta-2.3

16 Jun 02:26
d669b92
Compare
Choose a tag to compare

Atmo Beta-2.3 brings a few great improvements:

  • AssemblyScript support! You can now build Runnables with TypeScript syntax. Use Subo v0.0.16 or later with the subo create runnable awesomefn --lang typescript command.
  • 'Headless mode': Running Atmo with the ATMO_HEADLESS=true env var puts Atmo in headless mode, which causes it to ignore your directive and make each individual Runnable available at its own unique URL. This is extremely useful for testing, since you have full control over the inputs to the Runnable.

As always, there are large under-the-hood changes in this release that will allow Atmo to evolve faster and support future features! Beta-3 is still in progress, with the headline feature still set to be GraphQL client support for accessing your databases!