diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index 2794ffa4e..d22330cb7 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -5,14 +5,14 @@ }, "metadata": { "description": "Headroom marketplace for Claude Code and GitHub Copilot CLI plugins.", - "version": "0.21.33" + "version": "0.21.37" }, "plugins": [ { "name": "headroom", "source": "./plugins/headroom-agent-hooks", "description": "Headroom startup hooks for Claude Code and GitHub Copilot CLI.", - "version": "0.21.33", + "version": "0.21.37", "author": { "name": "Headroom Contributors", "url": "https://github.com/chopratejas/headroom" diff --git a/.github/plugin/marketplace.json b/.github/plugin/marketplace.json index 2794ffa4e..d22330cb7 100644 --- a/.github/plugin/marketplace.json +++ b/.github/plugin/marketplace.json @@ -5,14 +5,14 @@ }, "metadata": { "description": "Headroom marketplace for Claude Code and GitHub Copilot CLI plugins.", - "version": "0.21.33" + "version": "0.21.37" }, "plugins": [ { "name": "headroom", "source": "./plugins/headroom-agent-hooks", "description": "Headroom startup hooks for Claude Code and GitHub Copilot CLI.", - "version": "0.21.33", + "version": "0.21.37", "author": { "name": "Headroom Contributors", "url": "https://github.com/chopratejas/headroom" diff --git a/Cargo.toml b/Cargo.toml index 412561c5f..c2c14f83a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -75,3 +75,34 @@ aws-smithy-runtime-api = { version = "1", default-features = false, features = [ # us baking provider-specific knowledge in. The token source is wrapped # in a `TokenSource` trait so tests inject a static-token mock. gcp_auth = "0.12" + + +# ── Release profile — wheel size optimization ─────────────────────── +# +# PyPI imposes a 10 GB cumulative storage limit per project. We hit it +# at version 0.21.36 (191 versions × ~213 MB/release = 10.00 GB +# exactly). Recent wheels were ~16-18 MB each, of which ~6.4 MB was +# pure debug metadata (`.strtab` + `.symtab` ELF sections; uncovered +# by post-mortem inspection of an actual production wheel). +# +# This profile shrinks each Linux wheel from ~18 MB → ~10-11 MB by: +# * Stripping symbol/string tables (~6.4 MB direct savings) +# * Link-time optimization across crate boundaries (~5-10% .text +# savings via dead-code elim across the workspace) +# * Single codegen unit (better inlining + dead-code elim, at the +# cost of slightly slower release builds) +# +# We deliberately do NOT set ``panic = "abort"``. The proxy is a +# long-lived async process — a single misbehaving request triggering +# panic-abort would terminate the whole proxy and disconnect every +# concurrent client. Accept the smaller savings; keep unwind behaviour. +# +# Estimated impact: 213 MB/release → ~130 MB/release. Buys ~30+ more +# release slots within the 10 GB ceiling at the current release +# cadence. Per-PyPI-version savings AND faster downloads for end +# users. Tradeoff: release builds take ~30-50% longer due to +# `codegen-units = 1` + LTO; acceptable for the size win. +[profile.release] +strip = "symbols" +lto = "thin" +codegen-units = 1 diff --git a/plugins/headroom-agent-hooks/.claude-plugin/plugin.json b/plugins/headroom-agent-hooks/.claude-plugin/plugin.json index 4186feb0b..c7c5241d2 100644 --- a/plugins/headroom-agent-hooks/.claude-plugin/plugin.json +++ b/plugins/headroom-agent-hooks/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "headroom", - "version": "0.21.33", + "version": "0.21.37", "description": "Headroom startup hooks for Claude Code and GitHub Copilot CLI.", "author": { "name": "Headroom Contributors", diff --git a/plugins/headroom-agent-hooks/.github/plugin/plugin.json b/plugins/headroom-agent-hooks/.github/plugin/plugin.json index a8be4c901..5f0fbb8fc 100644 --- a/plugins/headroom-agent-hooks/.github/plugin/plugin.json +++ b/plugins/headroom-agent-hooks/.github/plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "headroom", - "version": "0.21.33", + "version": "0.21.37", "description": "Headroom startup hooks for Claude Code and GitHub Copilot CLI.", "author": { "name": "Headroom Contributors",