Skip to content

Releases: peeriot/myrmic

myrmic/v0.7.0

Choose a tag to compare

@ci-workflow ci-workflow released this 25 Sep 11:24

myrmic/v0.6.1

Choose a tag to compare

@ci-workflow ci-workflow released this 12 Sep 17:07

myrmic/v0.6.0

Choose a tag to compare

@ci-workflow ci-workflow released this 09 Sep 17:50

myrmic/v0.5.0

Choose a tag to compare

@ci-workflow ci-workflow released this 07 Sep 18:17

myrmic/v0.4.0

Choose a tag to compare

@ci-workflow ci-workflow released this 04 Sep 19:34

Myrmic is an open-source runtime for distributed edge applications, built for heterogeneous environments where microcontrollers, gateways and servers coordinate locally without a central cloud controller. You write application logic as Cells - message-driven, stateful Rust modules compiled to WebAssembly - and the runtime handles execution, messaging, state and placement.

This is the first public release of Myrmic.

What you get

  • Myrmic Runtime - the process you start on a device. It forms a peer-to-peer swarm with other runtimes, runs cells, decides where they are placed, routes messages between them, provides a distributed database for their data, and collects telemetry across the swarm.
  • Myrmic SDK - macros to define cells and their interfaces, plus utilities for inter-cell messaging, the runtime database, task scheduling, hardware access on embedded targets, and logging.
  • Myrmic CLI - create, build and deploy cells, interact with them, manage runtimes and observe the swarm.

Supported targets

Target Architecture Wasm engine
Linux x86_64 / aarch64 Wasmtime (JIT)
ESP32-C5 RISC-V (rv32imac) WAMR (AOT)
ESP32-C6 RISC-V (rv32imac) WAMR (AOT)
ESP32-C61 RISC-V (rv32imac) WAMR (AOT)

macOS, Windows and nRF5340 (Arm Cortex-M33) are planned.

Installing the CLI

Packages are built for x86_64 only. On other architectures, including aarch64 Linux, build from source.

Debian and Ubuntu:

sudo apt install ./myrmic-cli_0.4.0_amd64.deb

Fedora and RHEL:

sudo dnf install ./myrmic-cli-0.4.0-1.x86_64.rpm

From source, with Rust 1.92 or newer:

git clone https://github.com/peeriot/myrmic.git
cd myrmic
cargo install --path swarm/myrmic-cli/

Then confirm the install:

myrmic --version

Building cells additionally needs the nightly toolchain with the wasm32-unknown-unknown target and the rust-src component. The Quickstart walks through the full setup.

SDK crates

Published on crates.io at 0.4.0, all under MIT OR Apache-2.0:

  • myrmic-sdk - the SDK you add to your cell
  • myrmic-common - wire types shared across the host and guest boundary
  • myrmic-sdk-macros - the #[cmd], #[monitor] and #[init] export macros
  • myrmic-signal-layer-types - wire types for the embedded signal layer

Release assets

  • myrmic-cli_0.4.0_amd64.deb and myrmic-cli-0.4.0-1.x86_64.rpm - the CLI
  • myrmic-cli-dbgsym_0.4.0_amd64.deb and myrmic-cli-dbgsym-0.4.0-1.x86_64.rpm - detached debug symbols
  • myrmic-cli_0.4.0_sbom.cdx.json and myrmic-cli_0.4.0_sbom.spdx.json - software bill of materials in CycloneDX and SPDX
  • SHA256SUMS - checksums covering every asset above

Verify what you downloaded before installing it:

sha256sum -c SHA256SUMS

Status and limitations

Myrmic is experimental and under active development. Interfaces, APIs and the on-disk and on-wire formats may change without notice, some documented workflows are still aspirational, and it is not yet recommended for production use.

It is designed for use within the bounds below. Use outside them is at your own risk.

  • Soft real-time only. Not designed for hard real-time with deterministic deadlines under 1 ms; latency jitter of 10 to 500 ms may occur. No TSN or isochronous synchronization.
  • Non-critical processes only. Use in safety-critical control - motor control, emergency-stop, anything whose malfunction could endanger life - is expressly excluded. There is no certified safe-state mechanism, and GPIO state on crash is undefined.
  • Eventual consistency. Availability is prioritized over consistency (AP under CAP). Transactions requiring atomic real-time consistency, such as financial postings, are not supported.
  • No functional-safety guarantees. Resilience targets up to high availability (1oo2 / 2oo3); fault tolerance beyond that is excluded.

Licensing

The platform is GPL-2.0-only together with the Myrmic Exception. The SDK and all interface crates are MIT OR Apache-2.0, examples and templates are MIT-0, and the documentation is CC-BY-4.0.

In practice: independently developed applications you build on Myrmic - cells via the SDK, signal-layer modules and pipelines - may be licensed under terms of your choice, including proprietary terms, if they meet the requirements of the Myrmic Exception. Changes to the platform itself remain subject to GPL-2.0-only when distributed.

LICENSING.md is a non-binding plain-language overview, EXCEPTION-SCOPE.md identifies the interfaces, licenses and code generators applicable to the Exception for this release, and LICENSES/ holds the authoritative texts.

Documentation and community

Please report security issues privately rather than in a public issue; SECURITY.md describes how.