| v2.4.0 | ## BREAKING We're unfortunately discontinuing Mirascope Cloud. The `api` module and anything else related to our cloud backend has been ripped out in this version so that it's a pure LLM SDK from now on. We will continue to build and maintain Mirascope the Python/TypeScript LLM library, but please find an alternative for your OTEL backend. ## What's Changed * chore: discontinue cloud by @willbakst in https://github.com/Mirascope/mirascope/pull/2856 **Full Changelog**: https://gith | Low | 3/8/2026 |
| v2.3.0 | ## What's Changed * fix: resolve dark mode styling for span signatures (#2164) by @vnkaralkar in https://github.com/Mirascope/mirascope/pull/2844 ## New Contributors * @sazed-verity made their first contribution in https://github.com/Mirascope/mirascope/pull/2751 * @vnkaralkar made their first contribution in https://github.com/Mirascope/mirascope/pull/2844 **Full Changelog**: https://github.com/Mirascope/mirascope/compare/v2.2.2...v2.3.0 | Low | 2/27/2026 |
| v2.2.2 | ## What's Changed * fix(cloud): OTEL intValue should accept number by @willbakst in https://github.com/Mirascope/mirascope/pull/2428 **Full Changelog**: https://github.com/Mirascope/mirascope/compare/v2.2.1...v2.2.2 | Low | 2/5/2026 |
| v2.2.0 | ## TypeScript SDK This release marks a major milestone for the TypeScript SDK with significant new capabilities (an alpha release with matching functionality to the Python SDK): ### New Features - MCP Support - Full Model Context Protocol support for building and consuming MCP servers - Structured Outputs - Define response schemas with Zod for type-safe structured responses, including streaming support - Tool Streaming - Stream tool calls as they're generated by the model - Substr | Low | 2/4/2026 |
| v2.1.1 | ## OpenRouterProvider It looks like the official `v2.1` release didn't actually have `OpenRouterProvider` due to a merge failure. This release fixes that. ## What's Changed * tests(ts): AnthropicProvider error wrapping by @willbakst in https://github.com/Mirascope/mirascope/pull/2137 * feat(ts): OpenAI + OpenAICompletions support (no Responses yet) by @willbakst in https://github.com/Mirascope/mirascope/pull/2139 * tests(ts): clean up tests to prefer e2e by @willbakst in https://github. | Low | 2/1/2026 |
| v2.1.0 | ## Python SDK ### OpenRouter Provider Native support for https://openrouter.ai/ lets you access 200+ models through a single API. Use it to route requests through OpenRouter or access models not directly available from other providers: ```python from mirascope import llm # Register the provider llm.register_provider("openrouter", scope="openrouter/") @llm.call("openrouter/openai/gpt-4o") def my_prompt() -> str: return "Hello!" # Or route existing model prefixes through | Low | 1/30/2026 |
| v2.0.2 | ## Key Fixes * Preserve metadata of original method when decorated (e.g. `__name__`) * Update organization invitation email validation regex so Python 3.12+ don't complain * Significant improvement to docs styling / structure for better navigation * Fixed broken discord links ## What's Changed * fix(cloud): color in mobile-menu hamburger by @sourishkrout in https://github.com/Mirascope/mirascope/pull/2094 * refactor(cloud): optimize redirects for single round trip by @sourishkrout in ht | Low | 1/23/2026 |
| v2.0.1 | Minor bug fix replacing old instances of v2.mirascope.com with the correct mirascope.com/api/v2 ## What's Changed * fix: update instance of incorrect base url to be correct by @willbakst in https://github.com/Mirascope/mirascope/pull/2092 **Full Changelog**: https://github.com/Mirascope/mirascope/compare/v2.0.0...v2.0.1 | Low | 1/22/2026 |
| v2.0.0 | ## Documentation We've written extensive documentation for Mirascope v2! You can read it all here: https://mirascope.com/docs ## New Features ### Structured Output Improvements - Add support for primitive format types. You can now pass primitives like `str`, `int`, `list`, or `list[BaseModel]` to the `format=` argument on models, prompts, and calls. - Add support for structured streaming. Iterating over `stream_response.structured_stream()` will give partial structured outputs as t | Low | 1/21/2026 |
| v2.0.0-alpha.6 | ## Thinking Support We've re-worked the thinking interface. Rather than simply setting thinking=True, you now provider a ThinkingConfig, like {"level": "medium", "include_summaries": True}. The ThinkingLevel is required, and options include "default", "none", "minimal", "low", "medium", "high", and "max". If include_summaries is True, then the model is asked to output summaries of its thoughts. Under the hood, Mirascope will convert the thinking level to the provider-specific representation.
| Low | 1/10/2026 |
| v2.0.0-alpha.5 | Hello and happy holidays! Here are the short-but-sweet release notes for the latest Mirascope v2 Alpha Release. - Improved exception handling: All LLM calls now emit consistent exceptions, such as `llm.RateLimitError` or `llm.AuthenticationError`. You can learn more via our [API docs](https://mirascope.com/docs/mirascope/v2/api/exceptions), or by [reading the source](https://github.com/Mirascope/mirascope/blob/v2/python/mirascope/llm/exceptions.py). - Improved semantics for `Response.usage`. S | Low | 12/31/2025 |
| v2.0.0-alpha.4 | ## Response usage tracking The `llm.Response` class now has a `.usage` property, which records provider token usage. When available, this will be set on both regular responses and stream responses. The `llm.Usage` class includes input tokens, output tokens and (when available with the chosen provider), cache read/write tokens and reasoning tokens. ## Anthropic strict structured outputs We now support strict structured response formatting with Anthropic, for supported models. Since this is sti | Low | 12/19/2025 |
| v2.0.0-alpha.3 | # Mirascope v2.0.0-alpha.3 Release Notes Hello everyone! We are pleased to announce the latest alpha release of Mirascope: v2.0.0-alpha.3. This release has an exciting new feature: the MLX Provider, allowing local inference on Apple Silicon for Macbook users. We also have a refactored provider system, where you can use `llm.register_provider` to configure what provider will be used for any given LLM model. This means you can now use Mirascope v2 with any OpenAI-compatible model, by regist | Low | 12/13/2025 |
| v2.0.0-alpha.2 | ## What's Changed * fix: resolve import error with python 3.13.9 by @teamdandelion in https://github.com/Mirascope/mirascope/pull/1497 * test: ensure tests are run against python 3.13 by @teamdandelion in https://github.com/Mirascope/mirascope/pull/1498 * fix: fix the website build by @teamdandelion in https://github.com/Mirascope/mirascope/pull/1501 * fix: add top level pyrightconfig that points to python/ by @teamdandelion in https://github.com/Mirascope/mirascope/pull/1499 * test: e2e ov | Low | 11/15/2025 |
| v1.25.7 | ## What's Changed * Fix thinking stream reconstruction for Anthropic by @willbakst in https://github.com/Mirascope/mirascope/pull/1495 **Full Changelog**: https://github.com/Mirascope/mirascope/compare/v1.25.6...v1.25.7 | Low | 11/8/2025 |
| v2.0.0-alpha.1 | ## What's Changed * docs: write alpha intro docs by @teamdandelion in https://github.com/Mirascope/mirascope/pull/1479 * fix: include pydantic and httpx as required deps by @teamdandelion in https://github.com/Mirascope/mirascope/pull/1490 * fix: suppress MCP import errors by @teamdandelion in https://github.com/Mirascope/mirascope/pull/1491 * fix: handle missing provider packages gracefully by @teamdandelion in https://github.com/Mirascope/mirascope/pull/1492 * fix: upgrade deprecated tool | Low | 11/6/2025 |
| v2.0.0-alpha.0 | ## What's Changed * Setup documentation site for v2 by @teamdandelion in https://github.com/Mirascope/mirascope/pull/991 * chore: cleanup v2 branch to only contain v2 code by @teamdandelion in https://github.com/Mirascope/mirascope/pull/992 * chore: remove Text content dataclass by @teamdandelion in https://github.com/Mirascope/mirascope/pull/1026 * V2 docs cloudflare by @willbakst in https://github.com/Mirascope/mirascope/pull/1028 * chore: update comment on robots.txt disallow for v2 by @ | Low | 11/6/2025 |
| v1.25.6 | ## What's Changed * feat: add Chroma Cloud support by @kylediaz in https://github.com/Mirascope/mirascope/pull/1189 * fix: issue with mistral client when not set at a global level by @willbakst in https://github.com/Mirascope/mirascope/pull/1212 * fix: update fallback to use context so it can work with streaming by @willbakst in https://github.com/Mirascope/mirascope/pull/1211 ## New Contributors * @kylediaz made their first contribution in https://github.com/Mirascope/mirascope/pull/1189 | Low | 8/14/2025 |
| v1.25.5 | ## What's Changed * Fix _load_media fails with HTTP 403 Forbidden due to missing User-Agent #1172 by @emilioramirez in https://github.com/Mirascope/mirascope/pull/1173 ## New Contributors * @emilioramirez made their first contribution in https://github.com/Mirascope/mirascope/pull/1173 **Full Changelog**: https://github.com/Mirascope/mirascope/compare/v1.25.4...v1.25.5 | Low | 8/5/2025 |
| v1.25.4 | ## What's Changed * Fix inconsistent partial structured streaming by @willbakst in https://github.com/Mirascope/mirascope/pull/1106 **Full Changelog**: https://github.com/Mirascope/mirascope/compare/v1.25.3...v1.25.4 | Low | 7/7/2025 |
| v1.25.3 | ## What's Changed * fix: include tool description when creating tools from MCP by @matinone in https://github.com/Mirascope/mirascope/pull/1102 ## New Contributors * @matinone made their first contribution in https://github.com/Mirascope/mirascope/pull/1102 **Full Changelog**: https://github.com/Mirascope/mirascope/compare/v1.25.2...v1.25.3 | Low | 7/4/2025 |
| v1.25.2 | ## What's Changed * fix upload images if payload size exeed 5MB when using vertex ai by @CharlesOural in https://github.com/Mirascope/mirascope/pull/995 **Full Changelog**: https://github.com/Mirascope/mirascope/compare/v1.25.1...v1.25.2 | Low | 6/23/2025 |
| v1.25.1 | ## What's Changed * fix langfuse integration bug? by @hyusap in https://github.com/Mirascope/mirascope/pull/990 ## New Contributors * @hyusap made their first contribution in https://github.com/Mirascope/mirascope/pull/990 **Full Changelog**: https://github.com/Mirascope/mirascope/compare/v1.25.0...v1.25.1 | Low | 6/18/2025 |
| v1.25.0 | ## What's Changed * feat: add Anthropic support for thinking by @teamdandelion in https://github.com/Mirascope/mirascope/pull/984 * feat: support response_model with anthropic thinking by @teamdandelion in https://github.com/Mirascope/mirascope/pull/988 * Implement thinking support for Google by @teamdandelion in https://github.com/Mirascope/mirascope/pull/986 **Full Changelog**: https://github.com/Mirascope/mirascope/compare/v1.24.2...v1.25.0 | Low | 6/7/2025 |
| v1.24.2 | ## What's Changed * fix(MCP): default value for non-nullable fields should not be None by @murtaza64 in https://github.com/Mirascope/mirascope/pull/980 * fix: issue with mcp tool fields with no default when not required by @willbakst in https://github.com/Mirascope/mirascope/pull/982 ## New Contributors * @murtaza64 made their first contribution in https://github.com/Mirascope/mirascope/pull/980 **Full Changelog**: https://github.com/Mirascope/mirascope/compare/v1.24.1...v1.24.2 | Low | 6/2/2025 |
| v1.24.1 | ## What's Changed * fix: issue with in tool outputs breaking serialization by @willbakst in https://github.com/Mirascope/mirascope/pull/975 * fix: issue with incorrect use of 'name' field with bedrock tools by @willbakst in https://github.com/Mirascope/mirascope/pull/976 * Fix: tool calls with bedrock by @alexanderlazarev0 in https://github.com/Mirascope/mirascope/pull/977 * fix: issue with azure streaming due to NoneType usage in chunk by @willbakst in https://github.com/Mirascope/mirascop | Low | 5/24/2025 |
| v1.24.0 | ## What's Changed * Add support for Gemini Document Understanding by @listlessbird in https://github.com/Mirascope/mirascope/pull/966 **Full Changelog**: https://github.com/Mirascope/mirascope/compare/v1.23.4...v1.24.0 | Low | 5/18/2025 |
| v1.23.4 | ## What's Changed * Add api ref structure back by @willbakst in https://github.com/Mirascope/mirascope/pull/969 **Full Changelog**: https://github.com/Mirascope/mirascope/compare/v1.23.3...v1.23.4 | Low | 5/16/2025 |
| v1.23.3 | ## What's Changed * fix: enhance fn_is_async to check for async wrappers by @koxudaxi in https://github.com/Mirascope/mirascope/pull/967 **Full Changelog**: https://github.com/Mirascope/mirascope/compare/v1.23.2...v1.23.3 | Low | 5/11/2025 |
| v1.23.2 | ## What's Changed * Add metadata support to OpenAI call parameters by @listlessbird in https://github.com/Mirascope/mirascope/pull/964 ## New Contributors * @listlessbird made their first contribution in https://github.com/Mirascope/mirascope/pull/964 **Full Changelog**: https://github.com/Mirascope/mirascope/compare/v1.23.1...v1.23.2 | Low | 5/7/2025 |
| v1.23.1 | ## What's Changed * Fix mistral empty tool by @willbakst in https://github.com/Mirascope/mirascope/pull/962 **Full Changelog**: https://github.com/Mirascope/mirascope/compare/v1.23.0...v1.23.1 | Low | 5/6/2025 |
| v1.23.0 | ## What's Changed * Add support for streaming tools with Google by @willbakst in https://github.com/Mirascope/mirascope/pull/960 **Full Changelog**: https://github.com/Mirascope/mirascope/compare/v1.22.6...v1.23.0 | Low | 5/6/2025 |
| v1.22.6 | ## What's Changed * Fix issue with `GoogleCallResponseChunk` content handling by @willbakst in https://github.com/Mirascope/mirascope/pull/955 **Full Changelog**: https://github.com/Mirascope/mirascope/compare/v1.22.5...v1.22.6 | Low | 4/30/2025 |
| v1.22.5 | ## What's Changed * Add missing `google` and `xai` examples by @willbakst in https://github.com/Mirascope/mirascope/pull/950 * Fix issue with OpenAI message conversion from `BaseMessageParam` with multiple tool calls by @willbakst in https://github.com/Mirascope/mirascope/pull/953 **Full Changelog**: https://github.com/Mirascope/mirascope/compare/v1.22.4...v1.22.5 | Low | 4/30/2025 |
| v1.22.4 | ## What's Changed * fix: llm call now has __mirascope_call__ by @brenkao in https://github.com/Mirascope/mirascope/pull/946 * fix: google module common message param conversion role issue by @willbakst in https://github.com/Mirascope/mirascope/pull/948 * fix: issue with docs model choice for groq (out of date) by @willbakst in https://github.com/Mirascope/mirascope/pull/949 **Full Changelog**: https://github.com/Mirascope/mirascope/compare/v1.22.3...v1.22.4 | Low | 4/22/2025 |
| v1.22.3 | ## What's Changed * fix: Tool usage with llm.call by @teamdandelion in https://github.com/Mirascope/mirascope/pull/941 * Fix google tool by @teamdandelion in https://github.com/Mirascope/mirascope/pull/942 * Fix `llm.call` tool looping with anthropic by @willbakst in https://github.com/Mirascope/mirascope/pull/943 **Full Changelog**: https://github.com/Mirascope/mirascope/compare/v1.22.2...v1.22.3 | Low | 4/16/2025 |
| v1.22.2 | ## What's Changed * feat: verify uv.lock is up-to-date in CI by @teamdandelion in https://github.com/Mirascope/mirascope/pull/933 * Fix google call params error 936 by @ionflow in https://github.com/Mirascope/mirascope/pull/937 ## New Contributors * @ionflow made their first contribution in https://github.com/Mirascope/mirascope/pull/937 **Full Changelog**: https://github.com/Mirascope/mirascope/compare/v1.22.1...v1.22.2 | Low | 4/2/2025 |
| v1.22.1 | ## What's Changed * feat: serve_docs_dev.py for fast docs development by @teamdandelion in https://github.com/Mirascope/mirascope/pull/926 * fix: missing proto-plus dep for google extra by @willbakst in https://github.com/Mirascope/mirascope/pull/932 **Full Changelog**: https://github.com/Mirascope/mirascope/compare/v1.22.0...v1.22.1 | Low | 3/22/2025 |
| v1.22.0 | ## What's Changed * Mirascope MCP Client (`stdio_client` and `sse_client` context managers) by @willbakst in https://github.com/Mirascope/mirascope/pull/919 **Full Changelog**: https://github.com/Mirascope/mirascope/compare/v1.21.6...v1.22.0 | Low | 3/14/2025 |
| v1.21.6 | ## What's Changed * (experimental) feat: FiniteStateMachine type-safe interface (without compilation) by @willbakst in https://github.com/Mirascope/mirascope/pull/917 **Full Changelog**: https://github.com/Mirascope/mirascope/compare/v1.21.5...v1.21.6 | Low | 3/12/2025 |
| v1.21.5 | ## What's Changed * fix: fix CallResponse common messages by @koxudaxi in https://github.com/Mirascope/mirascope/pull/915 **Full Changelog**: https://github.com/Mirascope/mirascope/compare/v1.21.4...v1.21.5 | Low | 3/12/2025 |
| v1.21.4 | ## What's Changed * fix: make llm.context work for async functions by @teamdandelion in https://github.com/Mirascope/mirascope/pull/909 **Full Changelog**: https://github.com/Mirascope/mirascope/compare/v1.21.3...v1.21.4 | Low | 3/10/2025 |
| v1.21.3 | ## What's Changed * Fix bedrock env vars by @willbakst in https://github.com/Mirascope/mirascope/pull/907 **Full Changelog**: https://github.com/Mirascope/mirascope/compare/v1.21.2...v1.21.3 | Low | 3/10/2025 |
| v1.21.2 | ## What's Changed * Consolodate Gemini and Vertex references in docs by @fazilraja in https://github.com/Mirascope/mirascope/pull/900 * Fix 902 and 903 by @willbakst in https://github.com/Mirascope/mirascope/pull/905 ## New Contributors * @fazilraja made their first contribution in https://github.com/Mirascope/mirascope/pull/900 **Full Changelog**: https://github.com/Mirascope/mirascope/compare/v1.21.1...v1.21.2 | Low | 3/10/2025 |
| v1.21.1 | ## What's Changed * Fix 899 by @willbakst in https://github.com/Mirascope/mirascope/pull/901 **Full Changelog**: https://github.com/Mirascope/mirascope/compare/v1.21.0...v1.21.1 | Low | 3/9/2025 |
| v1.21.0 | ## What's Changed * feat: migrate async.md to provider-agnostic calls by @teamdandelion in https://github.com/Mirascope/mirascope/pull/883 * feat: migrate retries.md to llm.call by @teamdandelion in https://github.com/Mirascope/mirascope/pull/885 * Blog Posts: Prompt Evaluation, LLM Chaining, LLM Integration by @willbakst in https://github.com/Mirascope/mirascope/pull/886 * blog: add some bolding by @orlando21 in https://github.com/Mirascope/mirascope/pull/888 * Release v1.21 by @willbakst | Low | 3/9/2025 |
| v1.20.1 | ## What's Changed * Fix cost imports and API docs by @willbakst in https://github.com/Mirascope/mirascope/pull/882 **Full Changelog**: https://github.com/Mirascope/mirascope/compare/v1.20.0...v1.20.1 | Low | 2/28/2025 |
| v1.20.0 | ## What's Changed * feat: (mostly) migrate calls.md to provider-agnostic usage by @teamdandelion in https://github.com/Mirascope/mirascope/pull/869 * adjust examples to be fully self-contained by @samyk in https://github.com/Mirascope/mirascope/pull/873 * feat: Implement unified cost tracking API across all providers by @koxudaxi in https://github.com/Mirascope/mirascope/pull/874 * feat: streams.md has provider agnostic calls by @teamdandelion in https://github.com/Mirascope/mirascope/pull/8 | Low | 2/28/2025 |
| v1.19.0 | ## What's Changed * v1.19 by @willbakst in https://github.com/Mirascope/mirascope/pull/868 **Full Changelog**: https://github.com/Mirascope/mirascope/compare/v1.18.4...v1.19.0 | Low | 2/21/2025 |
| v1.18.4 | ## What's Changed * fix: missing reasoning_effort call param for openai by @willbakst in https://github.com/Mirascope/mirascope/pull/844 * fix: call response tool message param typing issue by @willbakst in https://github.com/Mirascope/mirascope/pull/843 * fix: incorrect exclusion of custom titles for fields in base models by @willbakst in https://github.com/Mirascope/mirascope/pull/846 * tests: directly test GenerateJsonSchemaNoTitles by @willbakst in https://github.com/Mirascope/mirascope/ | Low | 2/21/2025 |