Skip to content

Release v2.1.0-undead - #5

Merged
dayglojesus merged 3 commits into
mainfrom
release-v2.1.0-undead
May 24, 2026
Merged

Release v2.1.0-undead#5
dayglojesus merged 3 commits into
mainfrom
release-v2.1.0-undead

Conversation

@dayglojesus

Copy link
Copy Markdown
Collaborator

Summary

First shipped release of the textmatelives/textmate fork. Bumps version to v2.1.0-undead (auto-update sort orders this above upstream's v2.0.23) and lands four supporting changes:

  • README rewritten for the fork (e9c10318): About-this-fork blurb, Requirements section (arm64 + macOS 26 + system Ruby 2.6.10), fork-specific Download/Feedback/Setup, Liquid Glass banner, drops Cap'n Proto from the dep list.
  • Liquid Glass app icon (05f7d6b1): Icon Composer .icon source compiled at build time by a new CompileIcon rule in bin/rave that wraps bin/build_app_icon.sh and produces Assets.car. Info.plist switches to CFBundleIconName.
  • CHANGELOG.md at the repo root (99d70271): canonical release-notes file moved out of Applications/TextMate/about/; covers 72 fork commits since upstream v2.0.23, grouped by App/Bundles/SCM/Build/CI/Repo/Versioning. default.rave and AboutWindowController.mm updated so the in-app About → Changes pane still loads the same source.
  • WISHLIST.md (a9ea0382): post-release follow-ups, kicked off by stale About-pane content.

The release workflow itself was updated separately in #4 (already on main). Merging this PR will:

  1. Add CHANGELOG.md at the repo root, which trips the dormant paths: [CHANGELOG.md] trigger
  2. release.yml extracts version 2.1.0-undead, sees -undead, sees no existing v2.1.0-undead tag on origin → proceeds
  3. Build, sign every Mach-O, re-sign outer .app with entitlements, notarize, staple (with retries), Gatekeeper assess
  4. gh release create v2.1.0-undead --notes-file <bin/extract_changes excerpt> --generate-notes publishes the asset with the curated CHANGELOG section + auto-generated PR/contributor list

Test plan

  • CI build-test passes on this PR
  • After merge, release.yml fires and completes successfully
  • Resulting GitHub release shows: title TextMate 2.1.0-undead, body with curated section + auto-section, attached TextMate-2.1.0-undead.tbz
  • spctl --assess --type execute passes on the extracted .app
  • In-app About → Changes pane loads the v2.1.0-undead block

Adds About-this-fork blurb with the TextMate Lives banner, a
Requirements section (arm64, macOS 26, system Ruby 2.6.10), a fork
screenshot, and updates Download/Feedback/Setup to point at
textmatelives. Drops Cap'n Proto from the dep list (no longer used)
and switches the example PATH to /opt/homebrew/bin for Apple Silicon.
Adds Applications/TextMate/resources/textmate_lives.icon as the
Liquid Glass app icon source, a CompileIcon < Compiler class in
bin/rave that transforms .icon → Assets.car via actool, and a
build_app_icon.sh helper the rule invokes (also runnable by hand
for one-off regens). Info.plist drops the legacy CFBundleIconFile
key and switches to CFBundleIconName, which is what macOS 26 reads
from the compiled asset catalog.

The pre-existing TextMate.icns under icons/ stays in place — it's
no longer referenced by Info.plist but kept for posterity.
Moves the canonical release-notes file from Applications/TextMate/
about/Changes.md to CHANGELOG.md at the repo root for discoverability
(GitHub treats CHANGELOG.md as a conventional location). Adds the
v2.1.0-undead block covering 72 fork commits since upstream v2.0.23.

Build/runtime wiring updated to match the new path:

  - default.rave: TEXTMATE_CHANGES now resolves to ${dir}/../../CHANGELOG.md;
    the file is copied into the bundle via the existing
    `files about/* … "Resources/About"` rule, extended to also pick up
    ../../CHANGELOG.md. CompileMarkdown produces CHANGELOG.html in
    Contents/Resources/About/.
  - AboutWindowController.mm: resource lookups and the URL slug in the
    pages dictionary point at CHANGELOG.html. The segment label stays
    "Changes" so the UI tab is unchanged.

The workflow side of this change (release.yml trigger path, version
grep, extract-notes step, --notes-file flag) shipped separately as
#4. The Changes pane in About TextMate now loads from the same source
the release workflow reads — single source of truth, no symlinks or
stubs.
@dayglojesus
dayglojesus force-pushed the release-v2.1.0-undead branch from a9ea038 to cf27dc5 Compare May 24, 2026 18:45
@dayglojesus
dayglojesus merged commit cae761a into main May 24, 2026
1 check passed
@dayglojesus
dayglojesus deleted the release-v2.1.0-undead branch August 21, 2026 02:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant