🎉 Stable Release v3.5.41
Multi-Architecture Binaries
Download the appropriate binary for your platform:
- Linux x86_64:
better-ccflare-linux-amd64 - Linux ARM64 (Raspberry Pi 3/4/5, Oracle Cloud ARM, AWS Graviton):
better-ccflare-linux-arm64 - macOS Intel:
better-ccflare-macos-x86_64 - macOS Apple Silicon:
better-ccflare-macos-arm64 - Windows x86_64:
better-ccflare-windows-x64.exe
Installation
# Linux x86_64
wget https://github.com/tombii/better-ccflare/releases/download/v3.5.41/better-ccflare-linux-amd64
chmod +x better-ccflare-linux-amd64
./better-ccflare-linux-amd64
# macOS Apple Silicon (ARM64)
curl -L -o better-ccflare-macos-arm64 https://github.com/tombii/better-ccflare/releases/download/v3.5.41/better-ccflare-macos-arm64
chmod +x better-ccflare-macos-arm64
xattr -d com.apple.quarantine better-ccflare-macos-arm64 # Required for unsigned binaries
./better-ccflare-macos-arm64macOS Users: The xattr command is required to bypass Gatekeeper for unsigned binaries. If you prefer not to run unsigned binaries, install from source instead.
Or install via npm: npm install -g better-ccflare@v3.5.41
What's Changed
🚀 Features
- feat: session-drain-soonest strategy — prefer the account whose weekly limit resets first (
0d9ebf28) - feat: model-scoped capacity routing — skip accounts with exhausted per-model weekly caps (
2c6f439f) - feat(proxy): attribution source tags for project/agent identification (
b5099129)
🐛 Bug Fixes
- fix(codex): harden request translation fidelity (
02408f72) - fix(codex): preserve explicit tool choice semantics (
02f66d92) - fix(codex): translate cached input usage additively (
0fb07b04) - fix: retain active stream usage state (
11aa0dc2) - fix: harden model-scoped capacity routing — overage tri-state, honest attribution, combo-fallback filtering (
1794ac98) - fix(proxy): store agentAttributionSource in payload meta, dedupe isModelRewrite calls [skip-version] (
19a5f5b1) - fix(codex): preserve structured tool results (
2704e310) - fix(codex): address Greptile review nits from PR #317 [skip-version] (
31aa0d73) - fix(proxy): harden usage-collector finalization lifecycle (
3a524cbd) - fix(codex): classify upstream error codes to correct Anthropic types (
49c28354) - fix(codex): force StructuredOutput tool_choice for schema agents (
543bb543) - fix: session-drain-soonest never preempts active sessions, auto-fallback guaranteed first (
7af4faa3) - fix: replace unresolvable vitest import with bun:test vi in pricing tests [skip-version] (
7c0439b1) - fix(server): drain in-flight requests on shutdown, dedup signal handlers (
7df2f600) - fix(proxy): single-flight recovery probes after rate-limit cooldown (
8197364f) - fix(build): allow typecheck on a clean checkout before workers are generated (
83e4c49f) - fix(logger): surface WARN and ERROR on console in headless serve mode (
896e6f29) - fix(codex): map response.incomplete to honest stop reasons (
97bd4fe5) - fix(server): strict drain-budget parsing and post-force-close settle (
9f60f581) - fix(database): only tolerate duplicate-column races in PG migrations (
a098a1e0) - fix(proxy): propagate attribution sources on extra_usage_exhausted (
a584070a) - fix(server): await stream settlement after force-close (
b22aeefe) - fix(alerts): use PostgreSQL-compatible conflict clause and harden persistence (#327) (
c1bb1a1d) - fix(pro-gate): bound pricing catalogue fetches (
c7602ab2) - fix(codex): force invalid_request_error type for message-detected context overflow [skip-version] (
c763fa14) - fix(codex): reject negative max_tokens and avoid duplicate endpoint parsing [skip-version] (
cb246e26) - fix(codex): align subscription request token contract (
d1ba6ef9) - fix(server): bound stream settlement wait to remaining drain budget [skip-version] (
d93ed2d2) - fix: address branch-review findings — dropped-row fail-open, reactive Retry-After, auto-fallback exception made explicit (
e2c9fcfc) - fix(server): force-close via tracked streams, single shutdown owner, true clamp (
e8aa4024)
🔧 Improvements
- refactor: address Greptile PR review — dedupe exhaustion type, fix stale 529 comment, gate bypass log (
d4d85d35)
🙏 Thanks to our contributors
- Thanks to @StartupBros-com for #320, #321, #322, #323, #324
- Thanks to @StartupBros for #312, #313, #314, #315, #316, #317
- Thanks to @lunetics for #325