Download Latest Version 3.0.4 source code.tar.gz (16.3 MB)
Email in envelope

Get an email when there's a new version of DSPy

Home / 3.0.4
Name Modified Size InfoDownloads / Week
Parent folder
3.0.4 source code.tar.gz 2025-10-21 16.3 MB
3.0.4 source code.zip 2025-10-21 16.5 MB
README.md 2025-10-21 7.7 kB
Totals: 3 Items   32.7 MB 4

3.0.4b2 has been running for a while without seeing issue, so we are making it an official 3.0.4 release.

The release note is the combination of 3.0.4b1 and 3.0.4b2.

What's Changed

Optimizers

  • Fix GEPA usage tracking with tuple outputs by @smec-cgint in [#8739]
  • Add custom instruction_proposer support to GEPA with multimodal (dspy.Image) handling by @andressrg in [#8737]
  • Enhance logging for valset usage in GEPA by @LakshyAAAgrawal in [#8770]
  • [Feature] GEPA: Add custom component selection logic support by @andressrg in [#8765]
  • Add MLFLow <> GEPA support by @TomeHirata in [#8763]
  • Update optimization overview with data split guidance by @LakshyAAAgrawal in [#8792]
  • docs: Add comprehensive instruction_proposer documentation and examples for GEPA by @andressrg in [#8775]
  • Introduce gepa_kwargs for passing custom kwargs to gepa.optimize by @LakshyAAAgrawal in [#8850]
  • Propagate callback metadata during GEPA minibatch eval by @TomeHirata in [#8835]
  • Fix typo in GEPA warning by @TomeHirata in [#8840]
  • Update gepa[dspy] dependency version to 0.0.17; Potential fix for load from state not working in GEPA by @LakshyAAAgrawal in [#8859]
  • SIMBA Improvements by @klopsahlong in [#8766]

Features & Enhancements

  • Add Anthropic Citation API support by @TomeHirata in [#8721]
  • Add api reference for citations and document by @TomeHirata in [#8801]
  • Allow custom type to be streamed and use native response by @TomeHirata in [#8778]
  • Fix example code for Citations by @TomeHirata in [#8868]
  • Add ToolCall.execute for smoother tool execution (#8825, @TomeHirata)
  • Add DSPy User-Agent header (#8887, @TomeHirata)
  • Update headers when specified (#8893, @TomeHirata)
  • Arbor GRPO Sync Update (#8939, @Ziems)
  • Deprecate Image from_* helpers in favor of flexible constructor by @isaacbmiller in [#8771]
  • Cache Image.format for better throughput by @TomeHirata in [#8842]
  • test(dspy.Image): Adds a test with ReAct that has an Image tool by @isaacbmiller in [#8855]

Bug Fixes & Type Handling

  • Fix [#8703] - fixing module and feedback mismatch by @Lucas-Fernandes-Martins in [#8777]
  • Fix value parsing and add tests by @chenmoneygithub in [#8774]
  • Parse doubly-encoded base type in json.parse by @TomeHirata in [#8814]
  • Fix unexpected parsing of Optional[str] fields when string has brackets or braces by @sontanon in [#8805]
  • Use mcp.ClientSession for type hint by @TomeHirata in [#8826]
  • Fix type hint for callpreprocess by @TomeHirata in [#8827]
  • fix: Allow DummyLM answers dict values to be of any type to work with a wider range of signatures by @BenMcH in [#8803]
  • Fix the crash when usage tracker is enabled with non-prediction output by @TomeHirata in [#8831]
  • Fallback to memory cache when disk is not available by @TomeHirata in [#8718]
  • bug(lm): Avoid unnecessary cache key computation by @isaacbmiller in [#8862]
  • Display metric=0 in eval table by @TomeHirata in [#8817]
  • Add save/load to Embeddings by @TomeHirata in [#8818]
  • Fix chunk loss in long streaming with native response field (#8881, @TomeHirata)
  • Make the buffer condition more precise (#8907, @TomeHirata)
  • fix: add fallback on missing end marker during streaming (#8890, @enitrat)
  • fix(JSONAdapter): escape logic when JSON mode but no structured outputs (#8871, @isaacbmiller)
  • fix: XML adapter markers (#8876, @enitrat)
  • Fix test_xml_adapter_full_prompt (#8904, @TomeHirata)
  • Fix responses API (#8880, @chenmoneygithub)
  • Fix response_format handling for responses API (#8911, @TomeHirata)
  • Fix error handling in dspy parallel (#8860, @TomeHirata)
  • fix(LM): default temperature and max_tokens to None (#8908, @isaacbmiller)
  • fix(MIPROv2): select between task_model and prompt_model (#8877, @isaacbmiller)
  • Exclude API keys from saved programs (#8941, @Copilot)

Documentation & Tutorials

  • Minor document changes by @Navanit-git in [#8722]
  • Add doc page to learn tool usage in DSPy by @TomeHirata in [#8709]
  • Style fix for tool page by @TomeHirata in [#8781]
  • Add tracing banner in new tutorials by @B-Step62 in [#8772]
  • docs: fix link to the sglang installation/getting started page by @tomsanbear in [#8776]
  • Guide on using native tool calling by @chenmoneygithub in [#8788]
  • fix: removed duplicate cell from GEPA information extraction tutorial by @vacmar01 in [#8806]
  • Remove EmailInsight class from email extraction tutorial by @TomeHirata in [#8790]
  • Update documentation to include responses api by @chenmoneygithub in [#8780]
  • [Feature] Add automatic llms.txt generation via mkdocs-llmstxt plugin by @aberoham in [#8562]
  • Guide on using native tool calling by @chenmoneygithub in [#8788]
  • Update HotPotQA in light of [#8591] by @okhat in [#8751]
  • Add Learn MCP page (#8903, @TomeHirata)
  • Fix MIPRO paper link in RAG tutorial (#8937, @TomeHirata)
  • [Docstring] Add docstring for Adapter (#8915, @chenmoneygithub)
  • [Docs] Google-style docstrings for dspy/primitives/example Example class (#8949, @Davshiv20)
  • [Docs] Google-style docstrings for Signature.prepend/append/insert/delete (#8945, @gnetsanet)
  • Better tutorial sidebar—do not auto-expand all tutorials (#8912, @chenmoneygithub)

Minor Fixes & Maintenance

  • Use developer role in response API by @TomeHirata in [#8727]
  • 8688 csv output by @crawftv in [#8725]
  • Add header link by @TomeHirata in [#8773]
  • Add experimental annotation by @TomeHirata in [#8712]
  • Update LICENSE error by @TomeHirata in [#8783]
  • Fixed Spelling error in DatasetDescriptor Prompt by @PoeAudits in [#8812]
  • Update API reference by @TomeHirata in [#8844]
  • Expose EvaluationResult as dspy.evaluate.EvaluationResult by @TomeHirata in [#8843]
  • Include built-in types in DSPy api references by @chenmoneygithub in [#8810]
  • Change DummyLM to take an adapter at init by @isaacbmiller in [#8802]
  • Infinitus AI agents by @suman-subash-infinitusai in [#8708]
  • [WIP] Arbor Interface Update by @Ziems in [#8837]
  • Refactor URL construction in ArborReinforceJob to use urljoin (#8951, @Ziems)
  • Update type hint of ClientSession (#8894, @TomeHirata)
  • Long line in function signature (style) (#8914, @chenmoneygithub)
  • Fix lint of LM (#8884, @chenmoneygithub)
  • Deflake the real LM test (#8924, @chenmoneygithub)

New Contributors

Full Changelog: https://github.com/stanfordnlp/dspy/compare/3.0.3...3.0.4

Source: README.md, updated 2025-10-21