Skip to content

Tenon 0.1.0

Pre-release
Pre-release

Choose a tag to compare

@nguyenvanduocit nguyenvanduocit released this 10 Aug 18:18

Tenon's first published build. It is early software — the terminal workspace, the spatial
canvas, the plugin host and the supervision surfaces work, and the product is still moving
quickly underneath them.

Install

Download Tenon-0.1.0-macos.zip, open it in Finder, and move Tenon.app to
/Applications.

Extract in Finder or with ditto, not with unzip. The archive carries the extended
attributes the app's signature seals. ditto -x -k Tenon-0.1.0-macos.zip . restores them
and Finder does the same, but Info-ZIP's unzip cannot — it writes them out as 735 stray
._* files inside the bundle, and macOS then refuses the app with "a sealed resource is
missing or invalid"
. That reads like a corrupt download; it is only a corrupt extraction,
and re-extracting correctly fixes it.

The app is signed with a Developer ID certificate, hardened, notarized by Apple, and the
ticket is stapled — so a machine that has never seen Tenon verifies it without needing a
network connection, and no right-click-to-open dance is required.

Verify what you downloaded before you run it:

shasum -a 256 Tenon-0.1.0-macos.zip     # 3b69c26ee33869cd61f9e91a926d986cfca812883ac271672ab7c3c395b6b2a1
spctl --assess -vv /Applications/Tenon.app

The second should answer accepted and source=Notarized Developer ID.

What this build is

  • Universal (Apple silicon and Intel), macOS 14 or later.
  • Bundle identifier dev.tenon.app; team 694MCRBCD6.
  • Notarization submission b387df71-b3c6-41d7-9527-59aa5580ec95, status Accepted.
  • Built from commit 46d9592 in a clean checkout, so the artifact traces to a revision
    anyone with access can check out.

Honest limitations

  • It was built and signed on a developer machine rather than by the release workflow. The
    GitHub Actions release pipeline exists and is exercised, but it cannot sign yet: the
    repository has no signing secrets configured, so notarization credentials currently live
    only in a local keychain profile.
  • Marked a pre-release deliberately. The product is pre-alpha and its interfaces still
    change between builds.