Skip to content

v0.5.0 — litellm v1.100.1 full parity alignment

Choose a tag to compare

@veildawn veildawn released this 13 Oct 09:35
· 45 commits to main since this release

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.