Renderingen-US

Faber 1.3.0

FieldValue
ProductFaber
Version1.3.0
Tagfaber-v1.3.0
GitHubfaber-v1.3.0
Published2026-07-31
LicenseMIT

Install this version#

Pinned download for Faber 1.3.0. For the current release, use Install instead.

curl -fsSL -o faber.tgz \
  https://github.com/faberlang/releases/releases/download/faber-v1.3.0/faber-v1.3.0-aarch64-apple-darwin.tar.gz
tar -xzf faber.tgz
sudo mv faber-v1.3.0-aarch64-apple-darwin/faber /usr/local/bin/
faber --version

Release notes#

Minor product release spanning ~73 commits since v1.2.0 (2026-07-22→2026-07-30). Headline: browser product package pipeline, test selection CLI, package MIR adaptation to Radix ValidatedMir / async-cursor morphology, and a compiler pin to Radix 0.78.0.

Scale#

SignalCount
Commits (no merges)~73
feat(...) commits~16
fix(...) commits~28
git log v1.2.0..v1.3.0 --oneline --no-merges

Major tracks#

Browser product package pipeline#

Multi-phase pure-lib browser resolve and product emit:

  • Library TypeScript emit for browser products (phases 2–4)
  • Import rewriting; drop Triga ambient declarations
  • Emit defect handling for library TS
  • product.json manifest for browser products
  • Shader artifacts copied to dist/generated with stage-2 manifest
  • Relative ESM imports emit .js; TS library binding shims for packages

Test selection & proba discovery#

  • faber test --filter / --include / --exclude for test selection
  • Discover *.proba sources on a package path under faber test
  • Package lib harness entry + focused proba seed
  • Exempla / package test modularization; tempfile for package temps

Package MIR / Radix API alignment#

  • Adapt package pipeline to ValidatedMir (rebuild after package merge; emit/coverage probes use validated programs)
  • Import Type::AsyncCursor and Type::Tuple into package MIR
  • Wire backward companion generation into FMIR builds; thread no_fuse
  • Host trait Result returns; genus method snapshots into package interfaces
  • Frontmatter locale via Config::with_dev_stdlib
  • Package check target resolved from faber.toml

CLI surface#

  • --deny-warnings and --deny <CODE> diagnostic promotion (threaded from Radix)
  • faber model inspect registration
  • Target::Swift covered in run-target naming

Core-support reliability#

  • Path-dep validation + staleness stamp for core-support cache
  • Documented goal for missing radix runtime-contract crates in cache assembly

Exempla / Swift e2e#

  • Swift e2e harness shell; SC-001…SC-009 library-mode and stdlib bridge coverage
  • G-P-11 DeviceStaged tier; G-P-12 rung-1 workload proof enum/row
  • Rung 1 WebGPU headless proof evidence promotion

Companion pins (local path layout)#

SurfaceHead / note
Radixv0.78.0 (a7de9f366) — morphology async/stream, ValidatedMir, AIR reverse-AD
Cistapath sibling at release time
faber-runtimepath sibling (core-support)
hostsmonorepo path sibling (core-support providers)

Faber remains a path-composed product CLI; binary release checks out siblings in CI via .github/workflows/release.yml.

Breaking / author-visible#

ChangeMigration
Radix async/stream morphology (via compiler pin)Prefer fiet/fiunt/fient and await morphology; see Radix docs/release/v0.78.0.md
Package MIR callers (internal)Use ValidatedMir; do not pass raw program+validation pairs

Version alignment#

ItemValue
Source tagv1.3.0
Cargo.toml package version1.3.0
Public artifact tagfaber-v1.3.0 on faberlang/releases
Build matrixLinux x86_64 + macOS arm64 (Intel matrix intentionally omitted)

Verification (pre-release)#

Recorded on the release candidate tree (2026-07-30):

GateResult
cargo build --locked --release --bin faberpass
faber --version (release binary)faber 1.3.0
cargo nextest runpass — 1359 passed, 42 skipped

Publish#

  1. Bump root Cargo.toml version to 1.3.0.
  2. cargo update so Cargo.lock matches (includes path dep radix 0.78.0).
  3. Verify locked release build + nextest.
  4. Single commit: version bump + lockfile (+ this notes file).
  5. Annotated tag: git tag -a v1.3.0 -m "Faber v1.3.0"
  6. Push: git push origin main && git push origin v1.3.0
  7. Monitor: gh run list -R faberlang/faber --limit 5
  8. Confirm faberlang/releases publishes faber-v1.3.0 multi-arch archives.

Never tag a commit whose Cargo.lock is stale relative to the bumped manifests — CI uses cargo build --locked.

---

All releases · Install the current release