From a2457f1d5e6d4fe6487d7c2b3be93ba5bc6a3951 Mon Sep 17 00:00:00 2001 From: Lawrence Chen <54008264+lawrencecchen@users.noreply.github.com> Date: Mon, 16 Feb 2026 03:26:33 -0800 Subject: [PATCH 1/2] Fix menubar lag in production builds caused by hardened runtime Hardened runtime's library validation was verifying every dylib on load, causing noticeable UI lag. Add entitlements file with disable-library-validation to fix while keeping notarization support. --- .github/workflows/nightly.yml | 5 +++-- .github/workflows/release.yml | 5 +++-- cmux.entitlements | 8 ++++++++ 3 files changed, 14 insertions(+), 4 deletions(-) create mode 100644 cmux.entitlements diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index c3f0573e62cd..07508b10cde3 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -211,11 +211,12 @@ jobs: exit 1 fi APP_PATH="build/Build/Products/Release/cmux.app" + ENTITLEMENTS="cmux.entitlements" CLI_PATH="$APP_PATH/Contents/Resources/bin/cmux" if [ -f "$CLI_PATH" ]; then - /usr/bin/codesign --force --options runtime --timestamp --sign "$APPLE_SIGNING_IDENTITY" "$CLI_PATH" + /usr/bin/codesign --force --options runtime --timestamp --sign "$APPLE_SIGNING_IDENTITY" --entitlements "$ENTITLEMENTS" "$CLI_PATH" fi - /usr/bin/codesign --force --options runtime --timestamp --sign "$APPLE_SIGNING_IDENTITY" --deep "$APP_PATH" + /usr/bin/codesign --force --options runtime --timestamp --sign "$APPLE_SIGNING_IDENTITY" --entitlements "$ENTITLEMENTS" --deep "$APP_PATH" /usr/bin/codesign --verify --deep --strict --verbose=2 "$APP_PATH" - name: Notarize app and dmg diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f6a76e055f7a..6b7a6ef9ba62 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -128,11 +128,12 @@ jobs: exit 1 fi APP_PATH="build/Build/Products/Release/cmux.app" + ENTITLEMENTS="cmux.entitlements" CLI_PATH="$APP_PATH/Contents/Resources/bin/cmux" if [ -f "$CLI_PATH" ]; then - /usr/bin/codesign --force --options runtime --timestamp --sign "$APPLE_SIGNING_IDENTITY" "$CLI_PATH" + /usr/bin/codesign --force --options runtime --timestamp --sign "$APPLE_SIGNING_IDENTITY" --entitlements "$ENTITLEMENTS" "$CLI_PATH" fi - /usr/bin/codesign --force --options runtime --timestamp --sign "$APPLE_SIGNING_IDENTITY" --deep "$APP_PATH" + /usr/bin/codesign --force --options runtime --timestamp --sign "$APPLE_SIGNING_IDENTITY" --entitlements "$ENTITLEMENTS" --deep "$APP_PATH" /usr/bin/codesign --verify --deep --strict --verbose=2 "$APP_PATH" - name: Notarize app diff --git a/cmux.entitlements b/cmux.entitlements new file mode 100644 index 000000000000..8cc185af8d78 --- /dev/null +++ b/cmux.entitlements @@ -0,0 +1,8 @@ + + + + + com.apple.security.cs.disable-library-validation + + + From 304f983ee45de4178d337b2e8a1ba0a707da706b Mon Sep 17 00:00:00 2001 From: Lawrence Chen <54008264+lawrencecchen@users.noreply.github.com> Date: Mon, 16 Feb 2026 03:27:10 -0800 Subject: [PATCH 2/2] Bump version to 1.33.0 --- CHANGELOG.md | 7 +++++++ GhosttyTabs.xcodeproj/project.pbxproj | 24 ++++++++++++------------ docs-site/content/docs/changelog.mdx | 7 +++++++ 3 files changed, 26 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dbabd40c303a..1b2b63d2158a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,13 @@ All notable changes to cmux are documented here. +## [1.33.0] - 2026-02-16 + +### Fixed +- Menubar and general UI lag in production builds +- Sidebar tabs getting extra left padding when update pill is visible +- Memory leak when middle-clicking to close tabs + ## [1.32.0] - 2026-02-16 ### Added diff --git a/GhosttyTabs.xcodeproj/project.pbxproj b/GhosttyTabs.xcodeproj/project.pbxproj index ecde8f9e7173..b0ca66935761 100644 --- a/GhosttyTabs.xcodeproj/project.pbxproj +++ b/GhosttyTabs.xcodeproj/project.pbxproj @@ -682,7 +682,7 @@ CODE_SIGN_ENTITLEMENTS = ""; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 43; + CURRENT_PROJECT_VERSION = 44; DEVELOPMENT_TEAM = ""; ENABLE_HARDENED_RUNTIME = NO; GENERATE_INFOPLIST_FILE = NO; @@ -691,7 +691,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.32.0; + MARKETING_VERSION = 1.33.0; OTHER_LDFLAGS = ( "-lc++", "-framework", @@ -721,7 +721,7 @@ CODE_SIGN_ENTITLEMENTS = ""; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 43; + CURRENT_PROJECT_VERSION = 44; DEVELOPMENT_TEAM = ""; ENABLE_HARDENED_RUNTIME = NO; GENERATE_INFOPLIST_FILE = NO; @@ -730,7 +730,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.32.0; + MARKETING_VERSION = 1.33.0; OTHER_LDFLAGS = ( "-lc++", "-framework", @@ -784,10 +784,10 @@ isa = XCBuildConfiguration; buildSettings = { CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 43; + CURRENT_PROJECT_VERSION = 44; GENERATE_INFOPLIST_FILE = YES; MACOSX_DEPLOYMENT_TARGET = 14.0; - MARKETING_VERSION = 1.32.0; + MARKETING_VERSION = 1.33.0; ONLY_ACTIVE_ARCH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.cmuxterm.appuitests; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -801,10 +801,10 @@ isa = XCBuildConfiguration; buildSettings = { CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 43; + CURRENT_PROJECT_VERSION = 44; GENERATE_INFOPLIST_FILE = YES; MACOSX_DEPLOYMENT_TARGET = 14.0; - MARKETING_VERSION = 1.32.0; + MARKETING_VERSION = 1.33.0; ONLY_ACTIVE_ARCH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.cmuxterm.appuitests; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -818,10 +818,10 @@ buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 43; + CURRENT_PROJECT_VERSION = 44; GENERATE_INFOPLIST_FILE = YES; MACOSX_DEPLOYMENT_TARGET = 14.0; - MARKETING_VERSION = 1.32.0; + MARKETING_VERSION = 1.33.0; ONLY_ACTIVE_ARCH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.cmuxterm.apptests; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -837,10 +837,10 @@ buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 43; + CURRENT_PROJECT_VERSION = 44; GENERATE_INFOPLIST_FILE = YES; MACOSX_DEPLOYMENT_TARGET = 14.0; - MARKETING_VERSION = 1.32.0; + MARKETING_VERSION = 1.33.0; ONLY_ACTIVE_ARCH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.cmuxterm.apptests; PRODUCT_NAME = "$(TARGET_NAME)"; diff --git a/docs-site/content/docs/changelog.mdx b/docs-site/content/docs/changelog.mdx index 164f18fe8215..54145db46551 100644 --- a/docs-site/content/docs/changelog.mdx +++ b/docs-site/content/docs/changelog.mdx @@ -5,6 +5,13 @@ description: Release notes and version history for cmux All notable changes to cmux are documented here. +## [1.33.0] - 2026-02-16 + +### Fixed +- Menubar and general UI lag in production builds +- Sidebar tabs getting extra left padding when update pill is visible +- Memory leak when middle-clicking to close tabs + ## [1.32.0] - 2026-02-16 ### Added