Changelog
One line per release. Each links to the release's entries in the repository, where every change records what it did and, when it breaks something, how to migrate.
-
[2026-10-24] Version 0.5.6: Kimi K3.1 Pro is supported, and on the Kimi K3 series
ThinkingLevel.NONEturns thinking off andPromptCaching.ENHANCEasks for the 1h cache;ThinkingLevel.NONEalso turns thinking off on Claude Sonnet 4.6, Opus 4.8, Sonnet 5 and Opus 5; every error MMSP raises is typed (RoutingError,InvalidMessageError,UnsupportedContentError,UnknownEventError,ProviderStreamError,ConcurrentCallError), each a subclass of the built-in it replaces, and the MMSP server relays them with their fields; the history holds deep copies, a second stateful call while one is in flight raisesConcurrentCallError, and a message with nothing a client can send raisesInvalidMessageError; an abort or a closed stream closes the provider's request at once; a token count of 0 stays 0; the Chat Completions client records a gateway's encrypted reasoning under the shared fidelity keys; TokenDance's DeepSeek V4.1 Flash moves toopenai-chat; the configuration page states what each client sends for eachUniConfigkey, and the site gains the Model Index and Model Status pages, RFC pages at/rfcs/and search. -
[2026-10-23] Version 0.5.5: MiniMax-M3.1-Flash is supported, and the registry adds Vertex AI, Bedrock and TokenDance rows and refreshes OpenRouter and SiliconFlow; the site gains a live model catalog with an integration kit per entry and a status page fed by a daily probe; the rules MMSP keeps are written down as RFCs (MMSP-RFC-0001 to MMSP-RFC-0012); the Anthropic clients work on
anthropicSDK 2.x; the vLLM adapter readsVLLM_API_KEYandVLLM_BASE_URLinstead of OpenAI's variables, and OpenAI's other environment variables go only whereOPENAI_API_KEYgoes; a stream that ends without its usage or finish reason raisesIncompleteStreamError; OpenRouter's encrypted reasoning survives replay, a Claude replay omits unsigned thinking, GLM and Kimi K2 extension keys reach the API from TypeScript, the vLLM adapter sendschat_template_kwargsfrom Python, andtts_configrejections raiseUnsupportedParameterError. -
[2026-10-19] Version 0.5.4: every client reads its environment key only with no base URL or its own default endpoint and refuses any other base URL passed without a key with
ApiKeyRequiredError, and the rule ships as@prismshadow/mmsp/credentialsandmmsp.credentials; GPT-6 Luna is supported with reasoning off preserved; model CI runs by affected client and publication waits for the full suites; the README lists Vertex AI support for Gemini 4 Argon. -
[2026-10-14] Version 0.5.3: Gemini 4 Argon support in Python and TypeScript, with thinking-level mapping, registry metadata, and official API documentation.
-
[2026-10-10] Version 0.5.2: an MMSP server serves the models of a table over HTTP as MMSP streams, the
mmspclient calls it, and the playground's server page edits the table, starts the server, charts its metrics and tests each row against its upstream; Claude Haiku 5.5 is supported and Sonnet 5.5 cache reads drop to $0.10; the official Gemini client is namedgoogle-official(aliasgemini-official); a chat sent to another model in the playground starts a new conversation. -
[2026-10-01] Version 0.5.1:
google-genaiis the compatible client for Google's generateContent and Vertex AI names it, whilegemini-officialspeaks the Gemini API's Interactions endpoint only and refuses a service-account key; Qwen3.8 27B replaces Qwen3.6 35B A3B on OpenRouter and SiliconFlow; the site, the mark and the images take a pure blue brand color, the docs gain a Design philosophy page, and the publish workflow skips a version that is already published. -
[2026-09-30] Version 0.5.0: AgentHub is renamed MMSP, the Model Message Stream Protocol (
mmspon PyPI,@prismshadow/mmspon npm); streaming protocol v2 closes every item with its.doneitem and every stream with onestopevent; clients are named by type, an official client per vendor and a compatible client per protocol; Gemini moves to the Interactions API and Vertex AI to generateContent; Claude Opus 5.5, Sonnet 5.5 and Fable 5.1, GPT-6.1 Sol, DeepSeek Flash and Gemini 3.8 TTS are supported; the playground and the tracer are redesigned, and the site at mmsp.penguin.ooo opens. -
[2026-09-14] Version 0.4.15: the Responses clients (
openai_responses,gpt6,deepseek_v4,minimax_m3) keep every function call of an interleaved parallel tool-call turn, so a gateway that opens every call before closing any no longer loses all but the last one, and the next request no longer fails on an orphanedfunction_call_output. -
[2026-09-12] Version 0.4.14: the first-party DeepSeek V4 and GPT Responses clients send a text-only tool result as a plain string, so a strictly validating DeepSeek Responses endpoint no longer rejects every request after a tool call with
400 invalid_json. -
[2026-09-12] Version 0.4.13: the OpenAI Chat client replays a tool-calling assistant turn with its reasoning field present even when the model produced no chain of thought, so a DeepSeek tool chain reached through an endpoint that reissues tool_call ids is no longer rejected part-way through.
-
[2026-09-11] Version 0.4.12: the OpenAI Chat, Kimi K3 and GLM clients send a tool result's images in the user message that follows the tool messages, so an image read by a tool works behind a gateway that validates the Chat Completions schema, and every tool result on those clients goes out as a plain string.
-
[2026-09-09] Version 0.4.11: GPT-6 Astra joins the registry and the shared GPT client is renamed
gpt6for it, withnonethinking clamping tolowon GPT-6; the DeepSeek V4 Flash rows move to the price effective 2026-09-10, DeepSeek images are gated by a text-only deny-list instead of the "vision" substring, anddeepseek-v4.1-flashis pre-registered; and the generic OpenAI Chat and Responses clients send a text-only tool result as a plain string. -
[2026-09-04] Version 0.4.10: Gemini 3.8 Flash joins the registry and the shared Gemini client is renamed for it, the Gemini 2 series is dropped, registry rows record the list price with no discount field, every thinking level and thinking summary value stays on the wire, and a vLLM adapter client maps the thinking level onto whatever switch each served model's own chat template reads.
-
[2026-09-02] Version 0.4.9: GPT-5.6 reads an image over the 30,000-patch limit at high detail instead of rejecting it, in a prompt and in a tool result, on the GPT-5.6, OpenAI Responses and OpenAI Chat clients.
-
[2026-08-26] Version 0.4.8:
glm-5.3-flashjoins the registry and reads images in a prompt and in a tool result, while every other GLM model refuses an image item instead of sending one. -
[2026-08-25] Version 0.4.7: the Gemini client splits function responses into their own contents, fixing the Vertex AI 400
Requests ending with a model turn are not supported.on messages that mix a tool result with text — an interrupted turn's carry-over resent with the next prompt, or tool outputs folded into a summarization request. -
[2026-08-21] Version 0.4.6:
deepseek-v4-flash-vision-expjoins the registry and reads images in a prompt and in a tool result, the DeepSeek client moves onto the OpenAI Responses protocol, every Responses client replays content items in the order the model produced them, an internalunusedevent never reaches a caller, and the playground plays a spoken answer as one clip and keeps its configuration across a reload. -
[2026-08-20] Version 0.4.5: streaming clients skip output they do not recognize unless
AGENTHUB_DEBUGis set,AutoLLMClientlists the model ids an endpoint serves, every client accepts default headers for endpoints that demand their own, GLM-5.3 andclaude-opus-5join the registry, and the OpenRouter entries move to theopenai-responsesclient. -
[2026-08-19] Version 0.4.4: thinking levels gain a
MAXtier aboveXHIGH, and each client maps the ladder onto its vendor's effort vocabulary (DeepSeek re-mapped to its current low/high/max values). -
[2026-08-18] Version 0.4.3: every streaming client skips the heartbeat events gateways inject on long generations, across the OpenAI Responses, OpenAI Chat Completions, Anthropic Messages, and Gemini protocols.
-
[2026-08-18] Version 0.4.2: generic OpenAI Responses and Anthropic Messages protocol clients covering OpenAI, OpenRouter, DeepSeek, Z.AI, and MiniMax (the generic chat client renames to
openai-chat), GPT-5.6 support,UniConfig.fast_mode, and the Claude and Kimi series clients unified with family-widetemperaturerejection. -
[2026-07-22] Version 0.4.1: Kimi K3, the Gemini 3.6 generation (gemini-3.6-flash, gemini-3.5-flash-lite), and GLM-5.2 support, a supported-model registry with USD/CNY pricing, context windows, and modalities, and the
UnsupportedParameterErrorparameter error class. -
[2026-07-20] Version 0.4.0: the
fidelitycontent-item payload replacessignature/phase(breaking), OpenAI-compatible clients replay the exact upstream reasoning field, Claude 5 support, and hardened tool-call streaming. -
[2026-06-01] Version 0.3.3: OpenAI-compatible embedding input format.
-
[2026-05-30] Version 0.3.2: Claude 4.8, a generic OpenAI Chat Completions-compatible client, abort support, agent skills, and a broad model refresh.
-
[2026-04-28] Version 0.3.1: Gemini TTS and image generation, GPT-5.5, the UModelVerse vendor, and automatic Claude caching.
-
[2026-03-11] Version 0.3.0: Claude 4.6 with adaptive thinking, GPT-5.4 with phase labels, Claude on Amazon Bedrock, and GLM-5.
-
[2026-01-22] Version 0.2.0: Gemini 3, Claude 4.5, GLM-4.7, GPT-5.2, and Qwen3 models, with prompt caching for Claude.