Changes:
- Upgraded to Zod v4 and adjusted schema generation for compatibility
- Fixed keep_thinking=true failing without debug mode (signature validation)
- Fixed tool calls failing for tools with no parameters (default args to {})
- Aligned auth headers with official Gemini CLI to reduce account issues
- Fixed quiet_mode not suppressing all toast notifications
- Enhanced issue template configuration with troubleshooting and existing issues links.
- Removed old feature request markdown and replaced it with a new YAML template for better structure.
- Updated README to include a comprehensive troubleshooting section and clarified configuration paths.
- Added detailed troubleshooting steps for common issues, including rate limits and OAuth callback problems.
- Incremented version to 1.2.9-beta.10 in package.json.
- File locking via proper-lockfile for concurrent write safety
- Atomic writes with temp file + rename pattern
- Merge-on-write pattern to preserve concurrent changes
- PID-based offset so different sessions start at different accounts
- Remove unused import (extractVariantThinkingConfig)
Fixes#70 - Gemini thoughtSignature persisting when switching to Claude
Root cause: sanitizeCrossModelPayloadInPlace() was only called for batched
requests, not for single requests. Gemini's thoughtSignature in tool metadata
persisted and caused Claude to reject with 'Invalid signature in thinking block'.
Bumps version to 1.2.8-beta.0
Fixes 'Invalid signature in thinking block' error when switching models mid-session.
Root cause: Gemini stores thoughtSignature in metadata.google on tool call parts,
but existing strippers only checked top-level signatures. When switching to Claude
with a tool call, the foreign signature caused validation errors.
Changes:
- Add cross-model-sanitizer module for bi-directional sanitization (Gemini<->Claude)
- Integrate sanitizer into request pipeline for Claude models
- Add 42 new tests (28 unit + 14 integration)
- Add E2E test scripts for 5-model verification
Tested with: Gemini, Claude (Anthropic), Claude (Google), OpenAI, all passing.
- Add test-models.ts for validating all supported model endpoints
- Add test-regression.ts for multi-turn regression testing (Issue #50)
- Consolidate Gemini 3 Flash variants (low/medium/high) into single model
- Fix schema structure by flattening nested signature_cache properties
- Extract streaming transformer utilities to dedicated module
- Fix version from 1.2.5-beta.7 back to official 1.2.5
- Add prerelease version check in release workflow to prevent publishing beta versions as official
- Add branch verification in beta workflow to prevent accidental runs on main branch
This prevents the issue where dev branch with beta versions was merged into main,
causing the main branch to have a prerelease version number.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>