Repository navigation
v0.5.0 — litellm v1.100.1 full parity alignment
Audited all 246 implementation functions across the three public dialects against the litellm v1.100.1 reference — both its source and a live install of the reference itself. 309 confirmed divergences, 251 fixed, 61 kept as deliberate divergences (pinned tests carrying rationale, or the README contract: no vendor knowledge, offline, no clock).
Behavior changes worth noting
Requests Anthropic used to reject — last-assistant trailing whitespace rstripped, consecutive same-role turns merged, sanitized tool-name collisions deduplicated (_2 suffixes), tool_use ids sanitized to ^[a-zA-Z0-9_-]+$, unsigned inline thinking blocks dropped, empty assistant text rewritten to the placeholder.
Content no longer silently lost — tool cache_control lifted onto the fold, file_id attachments folded instead of dropped, web_search_options mapped to hosted web_search tools, repairable truncated tool arguments repaired, legacy function_call turns converted.
Data errors fixed — / inlined for Anthropic output schemas, integer enums keep their type (json.Number type-check bug), streaming thinking signatures kept per block instead of cross-block mismatched, server_tool_use blocks indexed correctly.
Verification
go test ./..., go vet ./... and gofmt are clean. Every fix carries a regression case in the new litellm_parity_<area>_test.go files; stale assertions that pinned non-litellm behavior were updated with the reference cited.