Skip to content

Releases

Phero Lang v0.3.0

Choose a tag to compare

@github-actions github-actions released this 14 Nov 23:49
a523cca

What's Changed

  • feat(evidence): proof-carrying models — register, drift gate, theorem S, receipts (#202 P0/P1) by @magick93 in #238
  • feat(graph): unified semantic graph — artifact, queries, analytics, and cross-surface navigation (#194) by @magick93 in #247
  • feat: post-#247 semantic-graph quality pass (#249–#261) by @magick93 in #263
  • feat(graph): give .deploy requires a platformCapability target by @magick93 in #269
  • feat(ifml): migrate .ifml from Pest to chumsky (#212) by @magick93 in #279
  • feat!: rebrand rexlang → Phero Lang (#270) by @magick93 in #280
  • ci(release): make the release matrix runnable and keep it data by @magick93 in #281

Full Changelog: v0.2.0...v0.3.0

v0.2.0 — Foundation & trust

Choose a tag to compare

@magick93 magick93 released this 14 Nov 07:26
8942e7d

v0.2.0 — Foundation & trust

The security and dependency foundation for the 0.2 → 1.0 release ladder. No language, grammar, wire-format, or artifact changes — the nine surfaces are frozen as a set; the only golden diff this release is rexVersion provenance (0.1.0 → 0.2.0).

Security

cargo audit is fully clean (0 vulnerabilities, 0 unsound) and enforced in CI:

  • RUSTSEC-2026-0308 — salsa 0.23.0 → 0.28.5 (use-after-free in interned values/cached results; salsa backs the LSP, which processes untrusted editor input). Zero behavioral change: navigation, compile, and the full in-process LSP suites pass (#213).
  • RUSTSEC-2026-0386 — tokio 1.53.1 → 1.54.1 (AsyncFd I/O safety; rexlang does not use AsyncFd) (#211).
  • RUSTSEC-2026-0486 — rustix 1.1.4 → 1.1.6 via the dev graph (xattr zero-length buffer) (#209).
  • cargo deny (advisories, licenses, sources) gates every PR (deny.toml) (#215).

Changed

  • Language server on the maintained fork: tower-lsp 0.20 → tower-lsp-server 0.23 stable. Dispatch contract unchanged; positions stay UTF-16 (#214).
  • Dev/test dependency refresh (#209, #216): pest 2.9.6 (stricter grammar validation, Unicode 18, stack guard), serde_json 1.0.154, clap 4.6.7, sha2 0.11.1, proptest 1.12, ureq 3.5.2, thiserror 2.0.21, jsonschema 0.61, ariadne 0.6 (zero rendering churn), cedar-policy 4.14.1 (dev-only). Unused askama removed. creusot-std deliberately held at 0.14.

Added

  • rexlang fmt / fmt --check accept directories with check's exact semantics — check model/ && fmt --check model/ works (#217, closes #136).
  • CI parity: every gate invokes scripts/ci-local.sh; the fixture-glob list lives in exactly one file (#218, closes #121).
  • cargo audit + cargo deny check CI jobs; scripts/ci-local.sh audit locally (#215).
  • rexlang completions <shell> and rexlang man — rendered from the CLI definition itself (#219).
  • Directory scans on walkdir (follow_links(false)), order-deterministic, symlink-loop immune (#219).

Policy

  • CHANGELOG.md begins here — every later release documents its drift.
  • docs/VERSIONING.md: 0.x allows breaking changes with changelog + golden notes; 1.0 freezes the wire formats (additive-only within formatVersion 1).

Deferred

Tracked in #220: line-index/text-size LSP positions, assert_cmd CLI-test migration, chumsky 0.13 / logos 0.16 dedup spikes, check-time regex validation for .ifml, jiff/heck trials, creusot-std 0.15 (toolchain-coupled).

Full details: CHANGELOG.md