Releases: nguyenvanduocit/tenon
Release list
Tenon 0.1.0
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; team694MCRBCD6. - Notarization submission
b387df71-b3c6-41d7-9527-59aa5580ec95, status Accepted. - Built from commit
46d9592in 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.