cc-relay 0.0.17
Multi-provider proxy for Claude Code with rate limit pooling and automatic failover.
Changelog
Bug Fixes
- a10fd4c: fix(config): allow empty key on transparent-auth providers (anthropic) (@omarluq)
- 95abede: fix(config): validate config at load and stabilize timeout/usage tests (@omarluq)
- ecc6356: fix(config): validate config at load time and bound server.timeout_ms to 24h (@omarluq)
- ec70804: fix(deps): update aws-sdk-go-v2 monorepo (@renovate[bot])
- 0eafa40: fix(deps): update github.com/samber/ro/plugins/ratelimit/native digest to fa46107 (@renovate[bot])
- cb75405: fix(deps): update module github.com/aws/aws-sdk-go-v2/config to v1.32.14 (@renovate[bot])
- c391e66: fix(deps): update module github.com/aws/aws-sdk-go-v2/config to v1.32.15 (@renovate[bot])
- bb9c649: fix(deps): update module github.com/charmbracelet/fang to v2 (@renovate[bot])
- d48e4c6: fix(deps): update module github.com/mattn/go-isatty to v0.0.21 (@renovate[bot])
- 68be282: fix(deps): update module github.com/mattn/go-isatty to v0.0.22 (@renovate[bot])
- 37eb424: fix(deps): update module github.com/rs/zerolog to v1.35.1 (@renovate[bot])
- de125c7: fix(deps): update module golang.org/x/net to v0.53.0 (@renovate[bot])
- 402a854: fix(proxy): wire server.timeout_ms into HTTP server WriteTimeout (@omarluq)
Other Changes
- 668e481: chore(deps): update actions/upload-pages-artifact action to v5 (@renovate[bot])
- 1bcf78d: chore(deps): update dependency go to v1.26.2 (@renovate[bot])
- 5cd4565: refactor(auth): remove dead ValidateResult API and Token field (@omarluq)
- 6d163ea: refactor(cache): remove dead code and reduce duplication (@omarluq)
- 9d71e2e: refactor(config): remove dead code and unused test helpers (@omarluq)
- a768b70: refactor(health): remove dead code and unexport test-only symbols (@omarluq)
- af3e484: refactor(keypool): remove unused mo.Result API and KeySelection type (@omarluq)
- a320f4b: refactor(providers): consolidate to single constructor per provider (@omarluq)
- 7952822: refactor(proxy): consolidate constructors and remove dead code (@omarluq)
- 6327457: refactor(router): deduplicate weight helpers and replace stringSliceEqual with slices.Equal (@omarluq)
- 17a2165: refactor(test): improve error reporting and reduce duplication in tests (@omarluq)
- 4817307: refactor: remove all 18 nolint comments across test files (@omarluq)
- 27bc9c2: refactor: remove ~1150 lines of dead code (@omarluq)
- 756d26f: test(bench): fail fast on Set errors in BenchmarkRistrettoCacheSet (@omarluq)
- a016190: test(di): extract generic runCloudProviderValidation helper to eliminate dupl linter failures (@omarluq)
- 739be5f: test(di): remove duplication and nolint directives in provider factory tests (@omarluq)
- 797069e: test(providers): assert specific validation errors in provider tests (@omarluq)
- dbb64a8: test(serve): assert expected error substring on both failure paths (@omarluq)
- 4fe3e2d: test(serve): release container in assertServerServiceFails (@omarluq)
Full Changelog: v0.0.16...v0.0.17
Installation
# Docker (recommended)
docker pull ghcr.io/omarluq/cc-relay:0.0.17
docker run -p 8787:8787 -v ~/.config/cc-relay:/config ghcr.io/omarluq/cc-relay:0.0.17
# Linux/macOS (amd64)
curl -LO https://github.com/omarluq/cc-relay/releases/download/v0.0.17/cc-relay_0.0.17_$(uname -s | tr '[:upper:]' '[:lower:]')_x86_64.tar.gz
tar -xzf cc-relay_*.tar.gz
sudo mv cc-relay /usr/local/bin/
# Or with Go
go install github.com/omarluq/cc-relay/cmd/cc-relay@v0.0.17