• v0.1.2 9bcd54d7a3

    v0.1.2
    Some checks failed
    release / build (rust:1.95-bookworm, linux-x86_64, docker, x86_64-unknown-linux-gnu) (push) Failing after 12m6s
    release / build (darwin-aarch64, macos, aarch64-apple-darwin) (push) Has been cancelled
    release / build (darwin-x86_64, macos, x86_64-apple-darwin) (push) Has been cancelled
    release / publish (push) Has been cancelled
    Stable

    stephen released this 2026-05-14 21:31:13 +00:00 | 123 commits to main since this release

    Signed by stephen
    GPG key ID: 67F885778E01BF16

    What's new

    Signed macOS binaries. Both darwin-aarch64 and darwin-x86_64 tarballs ship binaries signed with the Raster & State Developer ID (62Y3FRM8PD, hardened runtime enabled).

    The visible win: macOS keychain ACLs are scoped to code identity, not binary path. Now that releases share a stable signing identity, you click "Always Allow" on the keychain prompt once and don't get re-prompted on every fj upgrade.

    Notarization is a follow-up. Signing alone solves the prompt-storm; notarization is what makes Gatekeeper not warn on first run for binaries downloaded fresh.

    Also

    • scripts/sign.sh ships in-tree so contributors who build from source can sign their local binary and stop getting prompted. Reads FJ_APPLE_DEVELOPER_ID from .env / .env.local.
    • scripts/preflight.sh audits .env* files for secrets and grep-scans the working tree for PEM markers / Apple-password format / common token shapes. Wired into the pre-push hook.
    • .env.example documents the release/signing variable names. Real values stay out of the repo.
    • support@rasterstate.com is now the canonical contact email; personal-email references removed from tracked files.

    Install

    brew tap rasterandstate/tap
    brew upgrade fj
    

    Or download a tarball below. Verify with shasum -a 256 -c SHA256SUMS.

    Full changelog: CHANGELOG.md.

    Downloads