Skip to content

release: v2.4.9 — upstream sync (Fable 5 pricing, Mux/Copilot-JB providers, menubar reliability)#8

Merged
soumyadebroy3 merged 3 commits into
mainfrom
disable-warp-provider
Jun 12, 2026
Merged

release: v2.4.9 — upstream sync (Fable 5 pricing, Mux/Copilot-JB providers, menubar reliability)#8
soumyadebroy3 merged 3 commits into
mainfrom
disable-warp-provider

Conversation

@soumyadebroy3

Copy link
Copy Markdown
Owner

Brings main up to v2.4.9. Includes the v2.4.7, v2.4.8 and v2.4.9 release commits that were tagged on this branch but not yet merged back.

v2.4.9 backports 10 upstream PRs:

  • #463 Fable 5 / Mythos 5 pricing + names (fixes live $0 pricing for claude-fable-5)
  • #438 Mux (coder) provider
  • #433/#456 Copilot JetBrains sessions + Windows path fix
  • #430 Chinese Yuan (CNY) currency
  • #448 bounded HTTP timeouts (pricing + currency)
  • #450/#441 tolerate string message content (no more silent history wipe)
  • #458 content-addressed codex forked-session dedup
  • #471/#470 count nested workflow sub-agent transcripts
  • #462 async terminationHandler exit wait + spawn cap (menubar no longer wedges)
  • #472 macOS 27 right-click status menu

Verified: tsc clean, 842 vitest tests pass, swift build clean; the v2.4.9 tag's Release npm + Release macOS Menubar jobs are green.

Addresses the findings from a full-repo security audit. No behavior change
for normal usage; all 799 tests pass.

- Prototype pollution: model/provider/tool/MCP/bash names from untrusted
  transcripts are now bucketed in null-prototype maps across the daily
  aggregator, period builders, dashboard, and CSV export (was a plain {} that
  a "__proto__"/"constructor" key could use to poison Object.prototype).
  Regression test added.
- Terminal-escape injection: new shared stripControlChars() strips ANSI/OSC/BEL
  out of transcript-derived names at the TUI dashboard, compare view, and CSV
  export sinks (CSI was already handled by Ink; OSC/BEL and the CSV path were
  not). Tests added.
- Supply chain: all GitHub Actions SHA-pinned (were @v2 / @stable, including in
  the OIDC-privileged npm publish job); CycloneDX SBOM step version-pinned and
  run with --ignore-scripts; dependabot.yml configured (was an inert
  placeholder) to keep pins and npm/cargo deps current.
- IDE config surface: removed Gemini hooks that ran repo-committed scripts on
  session open, stripped hardcoded /Users/pain paths from the Cursor/Kiro/
  Qoder/Gemini MCP configs, and untracked .mcp.json / .opencode.json (now
  gitignored) so clones no longer ship an auto-start MCP server surface.
…ke fixes)

A large macOS menubar pass on top of v2.4.7's security release. tsc clean,
799 tests pass, swift build green.

Performance
- CLI parses today's transcripts ONCE per --all call (was 3× — each block
  built its own todayRange with a fresh new Date(), missing the parser cache).
- Menubar payload decoupled from the cache dict (stored currentPayload) so a
  quiet background write no longer re-evaluates the whole popover.
- Stats/Findings analytics memoized; shared Calendar/DateFormatter; duplicate
  all-provider spawn suppressed; 150ms switch debounce; popover-open prefetch;
  30s tick honors the 30s TTL.

Fixed
- Popover no longer closes when clicking the Claude/Codex tabs (nested quota
  popover tripped .transient) — now .applicationDefined + outside-click monitor.
- Refresh button no longer spins forever (native spinner + wedged-loading guard).
- Auto-fetches after a long sleep: popover-open recovers a dead loop / wedged
  loading and refetches if stale.
- Provider switch no longer animates the trend bars down-then-up.

Visual + motion
- Redesigned trend chart (gradient rounded bars, today/peak markers, refined avg
  line, headroom scaling, empty state, staggered bar-rise), header (FlameMark +
  monochrome wordmark + palette control), hero (flat fill, accent bloom, rolling
  numericText), unified sliding selectors with press feedback.
- Inline 14-day sparkline; first-run welcome state; live right-click status menu;
  variable-value menubar flame (macOS 15+); SF Symbol effects; haptics;
  pointing-hand cursors; insight-tab cross-fade; cost bars grow from 0.
- Depth/typography pass; full Reduce-Motion + VoiceOver accessibility pass.

All macOS 26-only APIs are #available-gated for the macOS 14 deployment target.
…iders, menubar reliability)

Backports 10 upstream PRs:
- #463 Fable 5 / Mythos 5 pricing + names (fixes live $0 pricing for claude-fable-5)
- #438 Mux (coder) provider
- #433/#456 Copilot JetBrains sessions + Windows path fix
- #430 Chinese Yuan (CNY) currency
- #448 bounded HTTP timeouts (pricing + currency)
- #450/#441 tolerate string message content (no more silent history wipe)
- #458 content-addressed codex forked-session dedup
- #471/#470 count nested workflow sub-agent transcripts
- #462 async terminationHandler exit wait + spawn cap (menubar no longer wedges)
- #472 macOS 27 right-click status menu
@soumyadebroy3 soumyadebroy3 merged commit d4cfcdd into main Jun 12, 2026
17 checks passed
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