github tombii/better-ccflare v3.4.0
Stable Release v3.4.0

9 hours ago

🎉 Stable Release v3.4.0

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.4.0/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.4.0/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-arm64

macOS 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.4.0


What's Changed

🚀 Features

  • feat: add Qwen reauth button to UI and reauthenticate CLI command (0bbbec3)
  • feat: log provider token response fields on refresh for observability (1723720)
  • feat: show combo name in request history (359a7a8)
  • feat(anthropic): add OpenAI-compatible finish_reason to Anthropic SSE stream (#111) (5643d4e)
  • feat: add Qwen (Alibaba Cloud) OAuth provider via device code flow (5fcc694)
  • feat: add proactive token refresh for Codex accounts (75cbc1b)
  • feat: detect OAuth billing type and split plan vs API cost display (7c8d5ee)
  • feat: add Codex device code flow support in dashboard UI (8c4a5df)
  • feat: add combo feature with data layer, proxy routing, REST API, and dashboard UI (9d10078)
  • feat: add proactive token refresh for Qwen accounts (b0ba977)
  • feat: add per-account billing type toggle for compatible providers (b1cb859)
  • feat: add Qwen device code flow support in dashboard UI (d6f9f25)
  • feat: show Zai peak hours in account view and tag peak-hour requests in log (dd3b130)
  • feat: show Anthropic OAuth peak hours in account view and tag peak-hour requests in log (ded1bac)

🐛 Bug Fixes

  • fix: improve truncated tool JSON repair suffix order (04fa65d)
  • fix: allow dots in account names and default Qwen to coder-model (0a6d768)
  • fix: repair truncated tool-call JSON from OpenAI-compatible providers (11a6554)
  • fix(openai-formats): fix incremental arg accumulation order (15d5cf1)
  • fix(openai-formats): handle incremental tool call argument mode (1d4002d)
  • fix: coerce PostgreSQL BIGINT values to Number before Date construction (1f43389)
  • fix: update stale comment on 5h rate-limit default — applies to any provider, not just Zai (24d7e39)
  • fix: classify plan-based provider requests as "plan" billing type (321a3d0)
  • fix: move 429 check before content-type guard to fix combo slot failover (3c6254f)
  • fix(openai-compat): emit repair+stop in flush for streams that end without [DONE] (41bedbd)
  • fix(openai-formats): always buffer tool call args, mirror qwen-code StreamingToolCallParser (48d2f34)
  • fix: format total tokens with thousand separators and unit label in analytics breakdown (4c761c5)
  • fix(model-mappings): pass through original model name when no mappings configured (51e656a)
  • fix(proxy): increase stream timeouts and make them configurable for agentic workloads (6116af7)
  • fix(dashboard): include billingType in accounts list API response (64fbf87)
  • fix(openai-compat): skip empty tools array to avoid DashScope validation error (6a2a42d)
  • fix(proxy,load-balancer): make rate-limit failover work for streaming traffic (73efb63)
  • fix(openai-formats): buffer incremental tool call chunks, emit at stream end (748486d)
  • fix: await billing type DB write and deduplicate proactive Qwen/Codex token refreshes (8daa4f6)
  • fix(anthropic): skip finish_reason transform for native Anthropic SDK clients (8ded7e7)
  • fix: strip $schema from tool input_schema for OpenAI-compatible providers (8f2fd7b)
  • fix(proxy): include billing_type in account repository queries (9e63449)
  • fix(openai-formats): add missing content_block_stop for text-only responses (9eeca80)
  • fix(anthropic-compatible): deduplicate path prefix in buildUrl (b06f450)
  • fix(anthropic-compatible): use core mapModelName for model mapping (b45d02b)
  • fix: serialize Error objects in logger and include data in SSE log events (c202ba6)
  • fix: escape < character in lander HTML stat number (c34abf7)
  • fix(model-mappings): pass through original model name when no mappings configured (c780572)
  • fix: add aria-hidden to decorative SVGs in lander HTML (c93f530)
  • fix: filter additional version bump commits from changelog (cc4bf60)
  • fix: use jq for JSON escaping in issue triage workflow (cdbf401)
  • fix: strip all client headers for Qwen and only send DashScope-required ones (d302db3)
  • fix(proxy): fail over to next account on 429 when no model fallbacks configured (d6398a4)
  • fix: add Stainless SDK headers to Qwen provider to pass portal.qwen.ai fingerprint check (d7a2859)
  • fix(proxy): detect mid-stream SSE rate-limit errors and mark account (e3e30e3)
  • fix(openai-formats): fix indentation in emitStreamEnd function (f81fcc2)

🔧 Improvements

  • improve(release): filter internal WR/CR review commits from changelog (2f09f45)
  • improve: combo dialog scrollability, slot form layout, and token formatting (446ad0e)
  • improve(release): show all changelog entries and filter dated sub-commits (b2a4ece)
  • improve(openai-compat): add comment explaining cache_control preservation (bd059d8)
  • improve(qwen): preserve cache_control from Anthropic client and sanitize system prompt for DashScope (f423b40)
  • improve: format ternary expressions and update GitNexus index stats (f5e3573)

Full Changelog

📋 Compare with previous version

Don't miss a new better-ccflare release

NewReleases is sending notifications on new releases.