Releasing v0.1.0 — Initial Public Release

· 2 min read
v0.1.0

I removed the alpha suffix from the version string, ran the pipeline, and watched it turn green. That’s the whole story of how v0.1.0 shipped. (The code hadn’t changed since the alpha. The version number just stopped apologizing for itself.)

What’s in the box

Two compiler backends: a Rust/MLIR frontend that parses, type-checks, and serializes the AST, and a C++/MLIR codegen that lowers it through LLVM. The release also includes an M:N actor runtime with per-actor heaps and supervision trees, an LSP server with completions and go-to-definition, a formatter, a test runner, a REPL, and a package manager skeleton that doesn’t do much yet but has the right shape.

Wire types serialize over MessagePack, and the full suite of 993 Rust workspace tests and 225 C++ end-to-end tests all pass — which proves less than you’d think but more than nothing.

Platforms

Five build targets: linux-x86_64, linux-aarch64, darwin-x86_64, darwin-aarch64, windows-x86_64. Installers for Debian (.deb), Fedora/RHEL (.rpm), Arch (.pkg.tar.zst), Alpine (.apk), Docker at ghcr.io/hew-lang/hew, and Homebrew via brew tap hew-lang/hew. The non-Linux builds are continue-on-error because macOS and Windows CI are flaky in ways I’ve accepted but not solved.

What broke immediately

The Homebrew formula update raced ahead of the GitHub Release creation and tried to checksum a 404 page. The Windows build failed on a missing diaguids.lib. Both were fixed within a day — pipeline bugs, not language bugs, which felt like progress.

Part 18 covers the release pipeline in detail.