v13.9.2
parruda/swarmv13.9.2Jul 1, 2026by thedotmack
AI Summary
This release removes client-side context truncation logic to prevent silent history corruption and ensures full conversation history is sent to the provider.
Key Highlights
- Removal of hardcoded 20-message and 100k-token truncation limits
- Full conversation history now sent to the provider
- Fixes for setups with specific model context windows
Breaking Changes
- Removed OpenAICompatibleProvider.truncateHistory() method
- Removed requireNonEmptyToTruncate flag
- Removed CLAUDE_MEM_MAX_CONTEXT_MESSAGES and MAX_TOKENS settings
- Removed related tests, docs, and installer references
Full Release Notes
## Bug Fix
**Removed client-side context truncation from the provider layer.**
The `OpenAICompatibleProvider` applied a sliding-window truncation to conversation history — a hardcoded 20-message cap and a 100k-token "safety" limit layered on top of the model's own context window. In practice it fired on message count alone, dropping conversation messages at ~12k tokens (nowhere near the token limit) and silently corrupting history, mislabeled as "runaway cost" prevention. This broke setups whose real model context window bore no relation to those hardcoded assumptions.
The full conversation history is now sent to the provider, which owns its own context window.
### Removed
- `OpenAICompatibleProvider.truncateHistory()` and the `requireNonEmptyToTruncate` flag
- `truncateHistoryForOpenRouter` / `truncateHistoryForGemini` wrappers and their message/token constants
- `CLAUDE_MEM_{GEMINI,OPENROUTER}_MAX_CONTEXT_MESSAGES` / `_MAX_TOKENS` settings, defaults, and validation
- Related tests, docs, and installer references
Merged in #3096. Verified: `tsc` clean, 2248 tests passing, build-and-sync clean.