Repository navigation
Releases
dev (2026-11-14, 474f0fe)
Lyric 5 in development, built from main at 474f0fe. No promise of any kind. The archive holds lyric5, the Lyric 5 command line as it grows, its standard library (stdlib5/) and the runtime's C source (runtime/), prebuilt for the archive's target (a build with another zig, or for another target, builds it from the source on first use).
Installing
Take the archive for your system, unpack it where you keep tools and put that directory on your
PATH. From then on lyric5 toolchain install fetches, checks and installs toolchains for you,
and lyric5 toolchain update the newest of a channel. Building a program needs a C compiler:
lyric5 toolchain install zig fetches one. The Book has the details:
https://lyriclang.de/dev/book/getting-started/.
The other files
You need none of them to install. dev.json is the channel's index: every version with each
archive's name, size and SHA-256. Each .minisig is the signature of the file it is named after,
and SHA256SUMS lists the archives' hashes. lyric5 toolchain reads the index only with a valid
signature and takes an archive only when it matches the index, from GitHub or from the mirror
https://dl.lyriclang.de alike.
Checking a download by hand
With minisign and the key of the dev channel:
minisign -Vm lyric-5.0.0-dev.20261114-474f0fe-linux-x64.tar.gz -P RWQM0eXpRYf8iCHBHUgYJPQOdE1oXy+fpGIov6Kz1PlP7Wp2llW+CCOvThe same key is in tooling/release-keys/dev.pub in the repository and inside every
lyric5. Should the channel's key ever have been replaced, the reserve key signs instead:
RWShnZuifvfSSrKoQURRq3baivxxQTHuAXLJxOgsLU0Sz/R1JJ1P8RTH. sha256sum -c SHA256SUMS --ignore-missing finds a broken download but not a forged
one: whoever can replace an archive can replace SHA256SUMS beside it. Only the signature tells.
v4.5.0
v4.4.1
What's Changed
Full Changelog: v4.4.0...v4.4.1
v4.4.0
What's Changed
- Round 9 of the sweep — the retired coroutine edges by @OIL1I in #153
- Round 10 of the sweep — no defect in the toolchain by @OIL1I in #154
- M36 slice 0 — the pattern rules, spec-first by @OIL1I in #155
- M36 slice 1 — a field pattern over a struct or class lowers by @OIL1I in #156
- M36 slice 2 — a match over an optional enum, and v4.4.0 by @OIL1I in #157
Full Changelog: v4.3.6...v4.4.0
v4.3.6
What's Changed
Full Changelog: v4.3.5...v4.3.6
v4.3.5
What's Changed
- Round 7 of the sweep — a hot hang, and the test runner's other half by @OIL1I in #150
- The spin pin stops asserting a number it cannot justify by @OIL1I in #151
Full Changelog: v4.3.4...v4.3.5
v4.3.4
What's Changed
Full Changelog: v4.3.3...v4.3.4
v4.3.2
What's Changed
Full Changelog: v4.3.1...v4.3.2