NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #5306 most downloaded on PyPI
DSPy
Last release 6 days ago
11 Sep 2026
Release timing varies
gaps range from 2 weeks to 2 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
7 versions withdrawn
withdrawn after publishing
3 years old
142 releases · first in 2023
One column per quarter.
Added support for more types by @thomasahle in https://github.com/stanfordnlp/dspy/pull/1900
Added support for more types by @thomasahle in https://github.com/stanfordnlp/dspy/pull/1900
Support structured outputs response format based on signature in JSON adapter by @dbczumar in https://github.com/stanfordnlp/dspy/pull/1881
Integrate cachetools for in-memory LM caching, including unhashable types & pydantic by @dbczumar in https://github.com/stanfordnlp/dspy/pull/1896; https://github.com/stanfordnlp/dspy/pull/1905; https://github.com/stanfordnlp/dspy/pull/1918
Add on_tool_start/end callbacks by @B-Step62 in https://github.com/stanfordnlp/dspy/pull/1879
Make DatabricksRM compatible with Mosaic agent framework by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/1800
Full Changelog: https://github.com/stanfordnlp/dspy/compare/2.5.41...2.5.42
Include the Signature __doc__ in the system message for the ReAct module. by @yanmxa in https://github.com/stanfordnlp/dspy/pull/1840
__doc__ in the system message for the ReAct module. by @yanmxa in https://github.com/stanfordnlp/dspy/pull/1840Full Changelog: https://github.com/stanfordnlp/dspy/compare/2.5.40...2.5.41
Switch settings from contextvar to thread local storage (for Colab) by @okhat in https://github.com/stanfordnlp/dspy/pull/1860
Full Changelog: https://github.com/stanfordnlp/dspy/compare/2.5.39...2.5.40
fix settings contextmanager Full Changelog: https://github.com/stanfordnlp/dspy/compare/2.5.38...2.5.39
Full Changelog: https://github.com/stanfordnlp/dspy/compare/2.5.38...2.5.39
* add back settings.config Full Changelog: https://github.com/stanfordnlp/dspy/compare/2.5.37...2.5.38
Full Changelog: https://github.com/stanfordnlp/dspy/compare/2.5.37...2.5.38
Fix settings.context finally block: main_thread_config
Hotfix over 2.5.36
Full Changelog: https://github.com/stanfordnlp/dspy/compare/2.5.36...2.5.37
Convert dspy.settings to a ContextVar
by @okhat in https://github.com/stanfordnlp/dspy/pull/1852
Full Changelog: https://github.com/stanfordnlp/dspy/compare/2.5.35...2.5.36
Expand default cache limit to 30GB by @okhat in https://github.com/stanfordnlp/dspy/pull/1850
Full Changelog: https://github.com/stanfordnlp/dspy/compare/2.5.34...2.5.35
Introduce dspy.retrievers.Embeddings index (thread-safe, memory-friendly faiss kNN)
by @okhat in https://github.com/stanfordnlp/dspy/pull/1843
Full Changelog: https://github.com/stanfordnlp/dspy/compare/2.5.33...2.5.34
Add teacher module to MIPROv2 by @Shangyint in https://github.com/stanfordnlp/dspy/pull/1830
Full Changelog: https://github.com/stanfordnlp/dspy/compare/2.5.32...2.5.33
Revert back to more permissive dspy.settings multi-threaded access by @okhat in https://github.com/stanfordnlp/dspy/commit/9a70c7c42c
Full Changelog: https://github.com/stanfordnlp/dspy/compare/2.5.31...2.5.32
Fix asyncify but warn on settings read from unrecognized thread by @okhat in https://github.com/stanfordnlp/dspy/pull/1813
Full Changelog: https://github.com/stanfordnlp/dspy/compare/2.5.30...2.5.31
Change the way of enable/disable litellm logging by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/1777
Full Changelog: https://github.com/stanfordnlp/dspy/compare/2.5.29...2.5.30
Databricks finetuning integration by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/1770
Full Changelog: https://github.com/stanfordnlp/dspy/compare/2.5.28...2.5.29
Revamp BootstrapFinetune and merge BetterTogether to main by @dilarasoylu in https://github.com/stanfordnlp/dspy/pull/1698
Full Changelog: https://github.com/stanfordnlp/dspy/compare/2.5.27...2.5.28
Upgrade pinned litellm to 1.51.0
Full Changelog: https://github.com/stanfordnlp/dspy/compare/2.5.26...2.5.27
Remove structlog dependency by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/1751
structlog dependency by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/1751Full Changelog: https://github.com/stanfordnlp/dspy/compare/2.5.25...2.5.26
Updates to dspy.ReAct by @okhat in https://github.com/stanfordnlp/dspy/pull/1716
Full Changelog: https://github.com/stanfordnlp/dspy/compare/2.5.19...2.5.20
Revamp ReAct, adjust Bootstrap, adjust ChatAdapter by @okhat in https://github.com/stanfordnlp/dspy/pull/1713
Full Changelog: https://github.com/stanfordnlp/dspy/compare/2.5.18...2.5.19
JsonAdapter: Handle JSON formatting in demo's outputs by @okhat in https://github.com/stanfordnlp/dspy/pull/1702
Full Changelog: https://github.com/stanfordnlp/dspy/compare/2.5.17...2.5.18
Deprecate dspy.TypedPredictor and its variants. You'll get much better typed (and untyped) results out-of-the-box now with standard dspy.Predict, dspy…
Full Changelog: https://github.com/stanfordnlp/dspy/compare/2.5.16...2.5.17
Anyscale finetuning refactor by @isaacbmiller in https://github.com/stanfordnlp/dspy/pull/1666
Full Changelog: https://github.com/stanfordnlp/dspy/compare/2.5.15...2.5.16
Improve ChatAdapter's handling of typed values and Pydantic models by @okhat in https://github.com/stanfordnlp/dspy/pull/1663
Full Changelog: https://github.com/stanfordnlp/dspy/compare/2.5.14...2.5.15
Fix TypedPredictor formatting with list output values by @dbczumar in https://github.com/stanfordnlp/dspy/pull/1609
Full Changelog: https://github.com/stanfordnlp/dspy/compare/2.5.13...2.5.14
Refactor finetuning implementation to be 2.5 compatible by @isaacbmiller @dilarasoylu in https://github.com/stanfordnlp/dspy/pull/1594
Full Changelog: https://github.com/stanfordnlp/dspy/compare/2.5.12...2.5.13
Fix saving/loading retriever by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/1638
Full Changelog: https://github.com/stanfordnlp/dspy/compare/2.5.11...2.5.12
Add SemanticF1, fix LM.copy, fix CoT.save
Add SemanticF1, fix LM.copy, fix CoT.save
Full Changelog: https://github.com/stanfordnlp/dspy/compare/2.5.10...2.5.11
Move path creation to BSFS init by @isaacbmiller in https://github.com/stanfordnlp/dspy/pull/1632
Full Changelog: https://github.com/stanfordnlp/dspy/compare/2.5.9...2.5.10
add support for reasoning/rationale in MultiChainComparison by @arnavsinghvi11 in https://github.com/stanfordnlp/dspy/pull/1630
Full Changelog: https://github.com/stanfordnlp/dspy/compare/2.5.8...2.5.9
Patch Poetry build fail due to litellm.caching by @krypticmouse in https://github.com/stanfordnlp/dspy/pull/1629
litellm.caching by @krypticmouse in https://github.com/stanfordnlp/dspy/pull/1629Full Changelog: https://github.com/stanfordnlp/dspy/compare/2.5.7...2.5.8
MIPROv2 Refactor & Documentation Updates by @klopsahlong in https://github.com/stanfordnlp/dspy/pull/1616
Full Changelog: https://github.com/stanfordnlp/dspy/compare/2.5.6...2.5.7
Fix signature saving at Predict saving by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/1556
Full Changelog: https://github.com/stanfordnlp/dspy/compare/2.5.5...2.5.6
New release flow with dspy-ai as a wrapper depending on dspy and dspy… by @hmoazam in https://github.com/stanfordnlp/dspy/pull/1584
Full Changelog: https://github.com/stanfordnlp/dspy/compare/2.5.4...2.5.5
Add num_retries to signature_opt_typed by @tkellogg in https://github.com/stanfordnlp/dspy/pull/1568
num_retries to signature_opt_typed by @tkellogg in https://github.com/stanfordnlp/dspy/pull/1568Full Changelog: https://github.com/stanfordnlp/dspy/compare/2.5.3...2.5.4
fix(dspy): bug fix for snowflake retriever caused by smart filter update by @sfc-gh-alherrera in https://github.com/stanfordnlp/dspy/pull/1565
Full Changelog: https://github.com/stanfordnlp/dspy/compare/2.5.2...2.5.3
Fixing typed predictors for 2.5 with a temporary _parse_values=False … by @okhat in https://github.com/stanfordnlp/dspy/pull/1558
Full Changelog: https://github.com/stanfordnlp/dspy/compare/2.5.1...2.5.2
Make output processing in typed predictors compatible to dspy.LM (2.5) by @krypticmouse in https://github.com/stanfordnlp/dspy/pull/1546
dspy as well as dspy-ai on pypi by @hmoazam in https://github.com/stanfordnlp/dspy/pull/1557Full Changelog: https://github.com/stanfordnlp/dspy/compare/2.5.0...2.5.1
Add deprecation warning for old clients on first use (per client) by @okhat in https://github.com/stanfordnlp/dspy/pull/1533
Full Changelog: https://github.com/stanfordnlp/dspy/compare/2.4.17...2.5.0
Nothing published for this version
Nothing published for this version
Nothing published for this version
Various improvements for adapters & LMs by @okhat in https://github.com/stanfordnlp/dspy/pull/1523
Full Changelog: https://github.com/stanfordnlp/dspy/compare/2.4.16...2.4.17
This is a pretty significant release. New dspy.LM and dspy.Adapter will be key for DSPy 2.5 onwards. Old clients are unaffected for now.
This is a pretty significant release. New dspy.LM and dspy.Adapter will be key for DSPy 2.5 onwards. Old clients are unaffected for now.
Full Changelog: https://github.com/stanfordnlp/dspy/compare/2.4.15...2.4.16
Assertions patches by @arnavsinghvi11 in https://github.com/stanfordnlp/dspy/pull/1471
Full Changelog: https://github.com/stanfordnlp/dspy/compare/2.4.14...2.4.15
Nothing published for this version
supports configurable backoff time for LM/RM providers dspy.settings.configure(backoff_time = ...)
dspy.settings.configure(backoff_time = ...)Full Changelog: https://github.com/stanfordnlp/dspy/compare/v2.4.12...2.4.13
Supports treating dspy.Predict and dspy.ChainOfThought directly as Modules, e.g. can compile them without creating a wrapping dspy.Module object.
Supports treating dspy.Predict and dspy.ChainOfThought directly as Modules, e.g. can compile them without creating a wrapping dspy.Module object.
Improves the experimental=True Chat LM support from DSPy v2.4.11, which is quoted below for reference:
Initial support for new adapters, with far more smooth support for Chat LMs. The default behavior is unchanged from before. However, dspy.configure(experimental=True) is likely to lead to much more predictable and accurate zero-shot generations with Chat LMs. Tested against several variants of GPT-3.5, GPT-4, Llama3, Mixtral, and DBRX.
All sorts of PRs over the past two weeks.
All sorts of PRs over the past two weeks.
Most importantly, initial support for new adapters, with far more smooth support for Chat LMs.
The default behavior is unchanged from before. However, dspy.configure(experimental=True) is likely to lead to much more predictable and accurate zero-shot generations with Chat LMs. Tested against several variants of GPT-3.5, GPT-4, Llama3, Mixtral, and DBRX.
MIPROv2 and everything else from May 2024 and up to June 20th.
MIPROv2 and everything else from May 2024 and up to June 20th.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →