3.1.3

coleam00/Archon3.1.3Feb 5, 2026by okhat

AI Summary

A maintenance-focused release for DSPy addressing stability issues in RLMs (Reasoning Language Models), GEPA tools, and streaming interactions.

Key Highlights

  • Refactored RLM tools to accept lists and properly serialize None/null values.
  • Updated GEPA dependency to support Python 3.14 and cached evaluations.
  • Converted RLM messaging format to JSONRPC for better interoperability.
  • Stabilized real language model tests with deterministic temperature settings.
  • Fixed streaming mode request headers and ColBERTv2 error handling.

Breaking Changes

  • Refactored RLM tools to take a list instead of a dict.
  • Removed the GEPA `enable_tool_optimization` feature.
  • Reverted ChainOfThought behavior to the pre-dspy.Reasoning state.

New Features

  • Added a community ports page to the documentation.

Full Release Notes

## What's Changed

RLMs
* fix(interpreter): Fix enable_read_paths with multiple files by @missing-piece in https://github.com/stanfordnlp/dspy/pull/9256
* fix: handle dict response in RLM for reasoning models by @darinkishore in https://github.com/stanfordnlp/dspy/pull/9219
* feat(CodeInterpreter): Convert messaging format to JSONRPC by @isaacbmiller in https://github.com/stanfordnlp/dspy/pull/9226
* feat(RLMs): Fix code fence parsing by @isaacbmiller in https://github.com/stanfordnlp/dspy/pull/9231
* fix(RLM): large variable injection by @isaacbmiller in https://github.com/stanfordnlp/dspy/pull/9233
* fix(RLM): no longer get stuck on imports by @isaacbmiller in https://github.com/stanfordnlp/dspy/pull/9234
* fix(RLM): Refactor tools to take list instead of dict and properly serialize None/null values by @isaacbmiller in https://github.com/stanfordnlp/dspy/pull/9247

GEPA
* Update gepa[dspy] dependency to version 0.0.26 adding support for cached evals in GEPA expected to reduce metric calls, fix MLFlow logging, and bug fixes by @LakshyAAAgrawal in https://github.com/stanfordnlp/dspy/pull/9238
* Update gepa[dspy] version to 0.0.25 adding python==3.14 support by @LakshyAAAgrawal in https://github.com/stanfordnlp/dspy/pull/9224
* Temporarily remove the GEPA tool optimization doc by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/9220
* fix(gepa): Remove enable_tool_optimization feature by @Ju-usc in https://github.com/stanfordnlp/dspy/pull/9223



Maintenance
* Stabilize real LM tests with deterministic temperature by @okhat in https://github.com/stanfordnlp/dspy/pull/9218
* fix: handle error responses from ColBERTv2 server by @emmanuel-ferdman in https://github.com/stanfordnlp/dspy/pull/9227
* Fix format  by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/9249
* Fix the request header in streaming mode by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/9248
* feat(docs): add community ports page by @isaacbmiller in https://github.com/stanfordnlp/dspy/pull/9222


Deferred to a later release (added then reverted before cutting this release):
* Allow DSPy to use the native reasoning from models by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/8822
* Revert ChainOfThought to pre-dspy.Reasoning (#8822) behavior by @okhat in https://github.com/stanfordnlp/dspy/pull/9258

## New Contributors
* @missing-piece made their first contribution in https://github.com/stanfordnlp/dspy/pull/9256

**Full Changelog**: https://github.com/stanfordnlp/dspy/compare/3.1.2...3.1.3