m9 0.3.0
The M9 compiler m9c, the runtime libm9rt.a, the standard library as M9 source, the module reference, the language report and the VS Code extension files. gcc is the only toolchain any of them needs. FLEXPART-M9 is not in these packages.
The source tarball m9-0.3.0.tar.gz has been WITHDRAWN from this release (2026-08-30). It was cut with a bare git archive HEAD of the development tree, so it carried far more than this repository does: the project's internal working notes, the CI workflow, and all 51 source files of the FLEXPART port, none of which belong in a public release. It contained no credentials, keys or tokens. The packages below are unchanged and are what this release is for; their receipts still name that tarball's sha256, and are left as they were rather than quietly rewritten.
From v0.3.1 the source tarball is cut from the same list that produces this repository -- 223 files: the compiler, runtime, standard library, gates, man page and module reference -- and the release tooling refuses to build one that is not. Checked twice: that the tarball equals the list, and, because that check alone passes if the list itself is wrong, against an independent deny-list of paths that must never be published.
One package per distribution, x86-64, each built ON that distribution (the Ubuntu 26.04 one on a real 26.04 machine rather than a VM), then installed there and made to compile and run an M9 program with an empty environment before it was allowed to leave the build machine.
| distribution | package | install |
|---|---|---|
| Ubuntu 24.04 LTS | m9_0.3.0_amd64.ubuntu24.04.deb |
sudo apt install ./m9_0.3.0_amd64.ubuntu24.04.deb |
| Ubuntu 26.04 LTS | m9_0.3.0_amd64.ubuntu26.04.deb |
sudo apt install ./m9_0.3.0_amd64.ubuntu26.04.deb |
| Debian 13 | m9_0.3.0_amd64.debian13.deb |
sudo apt install ./m9_0.3.0_amd64.debian13.deb |
| Fedora 43 | m9-0.3.0-1.fc43.x86_64.rpm |
sudo dnf install ./m9-0.3.0-1.fc43.x86_64.rpm |
| Rocky 9 (RHEL 9, Alma 9) | m9-0.3.0-1.el9.x86_64.rpm |
sudo dnf install ./m9-0.3.0-1.el9.x86_64.rpm |
| Arch | m9-0.3.0-1-x86_64.pkg.tar.zst |
sudo pacman -U ./m9-0.3.0-1-x86_64.pkg.tar.zst |
Each .receipt records the distribution the package was built on, its sha256, the tarball's sha256, the gcc that built it, and the smoke line. Nothing here was modified after it came back from the build machine except the two debs' file names, which carry their distribution because they would otherwise be the same name (dpkg reads the control file, not the name).
Chapter 0 of the tutorial (M9Tutorial, tutorial.modula9.net) covers installation from these and from source.