Skip to content

Stable Release v3.5.43

Choose a tag to compare

@github-actions github-actions released this 27 Jul 21:10

πŸŽ‰ Stable Release v3.5.43

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.43/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.43/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.5.43


What's Changed

πŸš€ Features

  • feat: apply ai code review of high recommendation level (0ff16205)
  • feat: explicit outbound forward-proxy support via BETTER_CCFLARE_OUTBOUND_PROXY (ca38c3dd)
  • feat(providers): add MiniMax Token Plan usage polling (d60cd09d)

πŸ› Bug Fixes

  • fix(proxy): classify upstream read rejection as 'error' not 'truncated' (0305fd77)
  • fix: reject invalid duration overrides from env (0cb8cb8b)
  • fix: detect and record premature SSE termination for all Anthropic-Messages-shaped streams (1565a5d4)
  • fix: complete the core module stubs in two proxy test files (1ac4bed6)
  • fix: mark the ungated retry as the terminal attempt it is (1f363600)
  • fix: wire usage-exhaustion filtering into account selection after main reconciliation (291b3a82)
  • fix: name the cooldown, not weekly capacity, as the real blocker (3e5f0b4c)
  • fix: align the two forward-guard predicates and log a rejected 529 write (3f0f57ce)
  • fix(providers): tighten MiniMax usage fetcher (PR #346 review) (4311195e)
  • fix(#340): add-side duplicate guard + genuinely id-scoped delete (507132ec)
  • fix: move the mid-stream clause to the 529 reason that now produces it (5f70c24c)
  • fix: derive the terminal-attempt flag from remaining candidates, not the index (6360765d)
  • fix: stop the mid-stream sniffer passing a synthetic reset as an upstream one (657ea702)
  • fix: wire the usage-exhaustion filter into actual account selection (6abbe3c0)
  • fix: retry ungated instead of 503ing when every account is probe-suppressed (7049261e)
  • fix(#340): pair refresh_token_issued_at with its tokens; repair stale tests (71bd8386)
  • fix(#340): merge every account column, and stop trusting the index pre-check (7e0f87e1)
  • fix: skip usage-exhausted accounts during selection (874a30ea)
  • fix(#340): merge the same account columns on the PostgreSQL path (9ef1b7ac)
  • fix: cap 529-with-reset at overload scale, not the 429 ramp ceiling (a25b8f25)
  • fix: point the 529 suggestion at the env var the path actually reads (a2bcfa6e)
  • fix: arm the probe gate for overloads and decouple 529 duration from the streak (c168a56b)
  • fix: apply provider exclusions in the cooldown-masking sweep (c217d0db)
  • fix(#340): non-destructive account dedup before UNIQUE index (cb7e9b84)
  • fix(#340): atomic DB-level UNIQUE guard for account add (closes Greptile P1) (dbb776f4)
  • fix: return the forward-guard outcome to the cooldown caller (e33a7c70)
  • fix: stop 529 overload responses from ramping the 429 cooldown (f68ba838)

πŸ”’ Security

  • security: strip internal probe headers before forwarding upstream (3b88b17b)
  • security: gate internal-probe markers behind a process-local secret (5c13f023)

πŸ™ Thanks to our contributors

Full Changelog

πŸ“‹ Compare with previous version