Stable Release v3.5.54
π Stable Release v3.5.54
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.54/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.54/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.54
What's Changed
π Bug Fixes
- fix: preserve the CAS anchor across chained rotations and harden pending-rotation flush semantics (
1de7ce4c) - fix: treat invalid_grant on a superseded refresh token as a benign rotation race, not a dead account (
2032cafc) - fix: formatting fallout from biome (
2b184c90) - fix: persist rotated tokens inside the shared refresh promise and flag requires_reauth via compare-and-set (
2cf06416) - fix: add a process-local pending-rotation registry for unpersisted refresh-token rotations (
2dc35828) - fix: keep refresh_token_issued_at in sync on adoption and correct a rotation-race log message (
34f041fd) - fix: rebase a surviving pending rotation's anchor after a concurrent flush lands (
37bface1) - fix: add a null-safe conditional token write for accounts without a refresh token (
40412bcf) - fix: atomic requires_reauth CAS and identity-safe refresh cleanup in proactive scheduler paths (
41c7e5e5) - fix: cover null-refresh-token, undefined-rotation and flag-CAS-error edges in rotation-race tests (
47f1b274) - fix: adopt fresher DB tokens before refreshing to avoid replaying rotated refresh tokens (
5af2f594) - fix: retry-wrapped CAS writes and pending-rotation awareness in proactive scheduler paths (
62365256) - fix: drop a stale enqueue-idiom comment and point the transient-test flag assertion at runWithChanges (
64edf755) - fix: mock runWithChanges in proactive-requires-reauth test to match CAS flag write (
6b4949d2) - fix: resolve with the adopted authoritative token when the persist CAS loses (
ba5a477f) - fix: add compare-and-set token and requires_reauth writes keyed on the expected refresh token (
bd4bf048) - fix: queue unpersisted rotations for re-persist and stop them from condemning healthy accounts (
c00d6e4f) - fix: adopt authoritative credentials when a persist CAS loses and serve the newest pending rotation (
c2cb659e) - fix: skip requires_reauth in proactive refresh paths when the rejected refresh token was already rotated (
eef13fba)