Changelog

Version history for the Covenant language, compiler, and standard library. Semantic versioning applies to the language spec and stable CLI surface; internal compiler details may change between minor versions.

v0.9.4 — 2026-07-23 GA

The fail-loud pass. A miscompile-elimination release: the compiler now errors or guards where it used to silently emit wrong bytecode. Testnet-only; cryptography remains mocked (see honest status below). 21-crate workspace, 1082 tests.

  • E424min / max / abs / pow / sqrt no longer miscompile to a + b; each now lowers to its real operation.
  • E519 — division by a literal 0 is now a compile error; non-literal divisors get a runtime zero-divisor guard.
  • E521 — a text constant longer than 32 bytes is now a compile error instead of being silently truncated.
  • Test actions strippedtest actions are removed from on-chain output; they no longer leak into deployed bytecode.
  • Field defaults — non-zero constant field defaults are now actually written to storage at deploy time.
  • Live LSP diagnostics — E424 / E519 / E521 surface in-editor as you type via the language server.

v0.9.3 — 2026-06 GA

Diagnostics and LSP hardening. Expanded the diagnostics catalog and tightened the language server surface ahead of the fail-loud pass. Additive to V0.9.2; no breaking changes. Testnet-only.

v0.9.2 — 2026-05 GA

Helper-bridge follow-ups. Stabilized the CREATE2-deterministic helper-contract addressing introduced in V0.9.0 and refined per---target-chain routing. Backward-compatible with V0.9.0 source. Testnet-only.

v0.9.0 — 2026-04 GA

Helper-Contract Bridge. Cryptographic primitives now route to dedicated helper contracts on each target chain via CREATE2-deterministic addresses selected by --target-chain. Fully backward-compatible with V0.8 source. See the V0.9 changelog notes.

  • CeremonyHelper — amnesia ceremony lifecycle on Sepolia (setup → submit_share → finalize → destroy).
  • Mocked crypto helpersFHEHelper (TFHE), PQHelper (Dilithium-5), ZKHelper (Halo2) ship with correct interfaces but deterministic stub logic and zero security. Real cryptography is a separate, later release (V2.0), not V1.0.

v0.8.0 — 2026-04-24 GA

WASM + Amnesia + Bridge + Advanced Optimizations. V0.8 rolls up V0.7.1 (WebAssembly backend + Cryptographic Amnesia) and V0.7.2 (Bridge module + Advanced Optimizations) into a single GA milestone. Fully backward compatible with V0.7 at the source level; OMEGA V4 audit findings remain resolved. Three targets (EVM, Aster Chain, WebAssembly) and a 22-crate workspace (was 19).

  • WebAssembly backendcovenant build contract.cov --target-chain wasm produces deterministic, wasmparser::validate-clean output. Runs in browsers and in wasmtime / wasmer.
  • Cryptographic amnesia complete — Wesolowski VDF, Shamir secret sharing, and keccak-bound destruction proofs lowered to dedicated precompiles at 0x124–0x127. Externally verifiable in pure Python via tools/verify_destruction_proof.py.
  • Cross-chain bridge modulebridge … anchored_on [...] synthesizes four canonical functions per bridge artifact (local_chain, nonce_for, mark_processed, is_processed) and emits one artifact per anchored chain. Per-pair nonce anti-replay, validator-set Merkle commitments, threshold ECDSA attestations.
  • Advanced optimizer — FHE coalescing, @precompute(keccak(...)) compile-time hash evaluation, noise-budget tracking (W701 / W702), @batch_up_to(N) bounded-loop annotation with W406 actionability check. 15–30 % pGas reduction on FHE-heavy contracts.
  • CLI benchcovenant bench --baseline gas_baselines.json … performs gas-regression checks against a committed baseline. Exits non-zero on regressions > 5 %.
  • Migration guideV0.7 → V0.8 migration.

v0.7.0 — 2026-04-23 GA

First general-availability release. Language spec is frozen for the 0.7.x line. Compiler OMEGA V4 audit complete — all 41 findings resolved.

  • New Styx Protocol ERCs: 8227 (FHE Tokens), 8229 (FHE Verify), 8231 (Post-Quantum), plus the amnesia ceremony (ERC-8228).
  • Compiler: Nova IVC + Halo2 + Groth16 wrapping in the ZK backend.
  • LSP v1: hover, go-to-definition, diagnostics, completion, formatting.
  • Cookbook: 30+ recipes across tokens, auth, upgrades, privacy, integration, testing.
  • Migration guide from Solidity.

v0.6.0 — 2026-01-15

  • Introduced amnesia {} block with three-phase cleanup semantics.
  • CRYSTALS-Dilithium-5 (FIPS 204) as default signature scheme under @pq_signed.
  • BFV ciphertext serialization stabilized.
  • Breaking: renamed encrypt builtin to fhe_encrypt for consistency.

v0.5.0 — 2025-10-02

  • First public testnet release.
  • Core language: token, contract, field, action, guard, event, error.
  • covenant CLI shipped with build, test, deploy.

Roadmap — V1.0 and V2.0 (not yet released)

Honest status. The V0.9.x line is testnet-only. All cryptography — FHE, post-quantum, ZK, VDF, Shamir — is mocked: deterministic stubs with zero confidentiality and zero security. "Encrypted" values are readable from chain state, and the PQ / ZK verifiers accept forged proofs. V1.0 is the external third-party audit of the compiler; audits so far are internal Kairos Lab OMEGA self-audits. Real cryptography is a separate, later release (V2.0, 12–24 months out) — not V1.0.

  • Generic Loop opcode — unblocks true @batch_up_to(N) unrolling.
  • Aggregate operator surface syntax (.sum, .count, .max, .argmax_by_address); IR-level lowering plan already reusable via covenant-stdlib::aggregates::lower_aggregate_plan.
  • Real TFHE key-switching precompile 0x0128 (V2.0 — replaces the mocked FHE helper).
  • Real Dilithium / BLS validator signatures for the bridge module (ECDSA secp256k1 is the current wire format).
  • Full Robinhood Chain SDK lowering, replacing the COV7\x01 placeholder artifacts.
  • Halo2 destruction-proof variant (optional; the keccak256 scheme remains canonical for the amnesia destruction proof).