AtlatestRepositorysigil-crypto
sigil-crypto / treeRELEASES.md
1
# sigil-crypto Releases3
## v0.16.7 — 2026-09-235
Sigil can now check minisign signatures itself. `(sigil crypto)` gains Ed25519 (RFC 8032) and BLAKE2b-512, and the new `(sigil crypto minisign)` parses minisign public keys and `.minisig` files and verifies them the way `minisign -V` does, with no `minisign` binary on PATH. Both build for wasm32-wasi as well as native and static musl targets, so a browser build can verify a signed registry index with the same code as the CLI.7
## Changes9
- `ed25519-verify` checks an Ed25519 signature and returns `#t` or `#f`. It rejects non-canonical encodings, small-order keys and R values, and S values outside the group order, and checks the cofactored equation that RFC 8032 section 5.1.7 allows. It agrees with libsodium, which the minisign tool uses, on every RFC 8032, Wycheproof and ed25519-speccheck vector except where the key or R has a small-order component (speccheck cases 4 and 5, and a crafted signature under an honest key with a mixed-order R); only the key holder can produce those, and minisign never does.10
- `ed25519-public-key` and `ed25519-sign` derive a key and sign with a 32-byte seed; they come with the vendored implementation.11
- `blake2b-512` hashes a string or bytevector to 64 bytes.12
- `(sigil crypto minisign)`: `minisign-parse-public-key` (a `minisign.pub` file or the bare key line), `minisign-parse-signature`, and `minisign-verify` / `minisign-verify-prehashed`, which return the authenticated trusted comment or `#f`. `minisign-failure-reason` returns `#f` for a good signature and otherwise why it failed: `key-id-mismatch`, `legacy-refused`, `bad-signature` or `bad-trusted-comment-signature`. Both minisign formats verify: prehashed `ED` and legacy `Ed`.13
- Ed25519 and BLAKE2b come from Monocypher 4.0.3, vendored unmodified under `vendor/monocypher/` with its provenance in `vendor/MONOCYPHER.md`.14
- On wasm32-wasi only the Monocypher procedures and `(sigil crypto minisign)` are built. The Mbed TLS-backed procedures (hashes, HMAC, PBKDF2, ECDSA, ECDH, AES-GCM, base64, random bytes) raise "not available on wasm" there instead of being unbound. Before this release the package did not build for wasm32-wasi at all.16
## Upgrade notes18
Nothing changes for existing callers on native targets.