Previous releases

  1. v1.3.5

    v1.3.5 — P0 hotfix: app crashed at launch for users without Xcode

    If you installed v1.3.2, v1.3.3, or v1.3.4 from covalence.app and the app crashed immediately on launch, this is the fix. You will need to re-download manually — Sparkle auto-update cannot rescue a binary that dies before main().

    What was broken

    Every DMG produced by the release pipeline since the Xcode 16 toolchain upgrade shipped without the Swift runtime back-deployment libraries embedded. The main Covalence binary and cov-mcp both link @rpath/libswiftCompatibilitySpan.dylib (the Swift 6.1 Span shim), but the library was never copied into Contents/Frameworks/. On any Mac that doesn't have Xcode or Command Line Tools installed — which is most users — dyld failed to resolve the library and the app aborted at launch with:

    Termination Reason: Namespace DYLD, Code 1 Library missing
    Library not loaded: @rpath/libswiftCompatibilitySpan.dylib
    

    The CI smoke test passed only because the GitHub runner has /usr/lib/swift/ populated by its Xcode install — an environment difference that masked the bug end-to-end.

    What changed in the pipeline

    • scripts/build-release.sh now invokes xcrun swift-stdlib-tool after assembling the bundle to copy every required Swift runtime dylib into Contents/Frameworks/.
    • cov-mcp now gets the @executable_path/../Frameworks rpath (it was previously only added to the Covalence binary).
    • A new static verification step parses otool -L against both executables and asserts every @rpath/… entry resolves inside the bundle — failing the build immediately if a future toolchain change introduces a new unresolved back-deployment dep.
    • The embedded libswift*.dylib files are signed with the hardened runtime before notarization.

    Upgrading

    • If v1.3.2–1.3.4 launches for you (you have Xcode/CLT installed): Sparkle will install v1.3.5 normally.
    • If v1.3.2–1.3.4 crashes on launch: download the new DMG from https://covalence.app and drag it into Applications.
    Download DMG →
    Verify download
    751696af286668495dfc394cd0b5f66bbf17f3ab8ef57cb1209254d66e40de13
  2. v1.3.4

    v1.3.4

    No user-facing changes. This release fixes three pipeline bugs discovered during the first automated release (v1.3.3) and lands the first fully functional artifact through CI.

    What was broken in v1.3.3

    • Missing embedding model. The bundled nomic model (~261 MB) is tracked via Git LFS; the CI checkout didn't fetch LFS content, so the DMG shipped with a 140-byte pointer file in place of the model. The app would have failed at runtime.
    • DMG at wrong URL. R2 routing strips /releases/ before looking up the object, but the workflow uploaded to a bucket key that included releases/ — resulting in a URL that didn't match the appcast's <enclosure> entry.
    • Release notes not uploaded. Sparkle's <sparkle:releaseNotesLink> referenced a file that was never uploaded to R2, producing "An error occurred while downloading the release notes" in the update dialog.

    What changed in the pipeline

    • actions/checkout now uses lfs: true so the nomic model is pulled into the build
    • All R2 uploads now target bucket root (matching the Cloudflare route)
    • Release notes (.md and any .html variant) are now uploaded alongside the DMG

    If you see this release notes text rendered correctly in the Sparkle update dialog, that's the third bug verified as fixed. The install itself will verify the other two.

    Upgrading

    Automatic via Sparkle. Install Update — this one actually works.

    Download DMG →
    Verify download
    9fb565de139fd76c2ddf508b556e309359c28aee3fb0de7b4287611eac1020e7
  3. v1.3.2

    Plan 12-06 phase-gate round-trip test — fired after CF cutover + old project deletion. Proves dispatch→workflow→commit→CF-auto-deploy end-to-end against live covalence.app infrastructure.

Built for the machines you own

Give your AI the memory it's missing.

Download for macOS