Skip to content

1.21.2

Choose a tag to compare

@github-actions github-actions released this 21 Jun 19:51

Release Notes

Bugfix + release-process hardening.

Fixed

  • Special-form names are bindable again. A change in 1.20.4 reserved special-form names (if, fn, let, and, message, …) and rejected binding any of them — but that also rejected correct value-position use, like a function parameter named message or a variable named fn, because the scope-free lowerer can't distinguish value use from operator use. It broke real code (5 bundled examples) and slipped a CI regression past four releases. The reservation is removed: special-form names shadow correctly in value position again. In operator/head position the special form still wins (a documented, accepted footgun — docs/limitations.md #36); the proper fix (full lexical shadowing) is future work.

CI / release process

  • Publishing now requires the test suite to pass. The crates.io and npm publish workflows triggered on a version tag with no dependency on CI, so a red test suite never blocked a release — which is how the reserved-name regression shipped. They now gate on a reusable verify workflow that runs the full CI-equivalent suite (fmt, clippy, doc check, cargo test, example + bytecode smoke tests) before any publish. The local release runbook was updated to run the example/bytecode smoke tests too (plain cargo test skips them).

Install sema-lang 1.21.2

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/HelgeSverre/sema/releases/download/v1.21.2/sema-lang-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/HelgeSverre/sema/releases/download/v1.21.2/sema-lang-installer.ps1 | iex"

Install prebuilt binaries via Homebrew

brew install helgesverre/tap/sema-lang

Download sema-lang 1.21.2

File Platform Checksum
sema-lang-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
sema-lang-x86_64-apple-darwin.tar.xz Intel macOS checksum
sema-lang-x86_64-pc-windows-msvc.zip x64 Windows checksum
sema-lang-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
sema-lang-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum