Changelog
- 26c298c Merge branch 'main' into plus
- 39dc455 Merge pull request router-for-me#2412 from sususu98/feat/signature-cache-toggle
- b2c0cdf Merge pull request router-for-me#2621 from wykk-12138/fix/oauth-extra-usage-detection
- 2a97037 Merge pull request router-for-me#2670 from sususu98/feat/antigravity-prefer-prod-url
- 344043b Merge pull request #506 from router-for-me/plus
- 96056d0 Merge remote-tracking branch 'upstream/main' into fix/oauth-extra-usage-detection
- 38f0ae5 docs(antigravity): document signature validation spec alignment
- cf24958 feat(antigravity): configurable signature cache with bypass-mode validation
- d801393 feat(antigravity): prefer prod URL as first priority
- 30e94b6 fix(antigravity): refine 429 handling and credits fallback
- 0f45d89 fix(claude): address PR review feedback for OAuth cloaking
- f780c28 fix(claude): map question/skill to TitleCase instead of removing them
- ac36119 fix(claude): preserve OAuth tool renames when filtering tools
- 7e8e222 fix(claude): reduce forwarded OAuth prompt to minimal tool reminder
- e8d1b79 fix(claude): remap OAuth tool names to Claude Code style to avoid third-party fingerprint detection
- f0c20e8 fix(claude): remove invalid cache_control scope from static system block
- 7cdf8e9 fix(claude): sanitize forwarded third-party prompts for OAuth cloaking
- 69b950d fix(executor): fix OAuth extra usage detection by Anthropic API
- 5ab9afa fix(executor): handle OAuth tool name remapping with rename detection and add tests
- 65ce863 fix(executor): implement immediate retry with token refresh on 429 for Qwen and add associated tests
- 613fe67 fix(executor): inject full Claude Code system prompt blocks with proper cache scopes
- f32c8c9 fix(handlers): update listener to bind on all interfaces instead of localhost
- 9e0ab4d fix: build cache_control JSON manually to avoid sjson map marshaling
- 8783caf fix: buildTextBlock cache_control sjson path issue
- e2e3c7d fix: remove invalid org scope and match Claude Code block layout
- f6f4640 fix: use sjson to build system blocks, avoid raw newlines in JSON