3.1.3

stanfordnlp/dspy3.1.3Feb 5, 2026by okhat

AI Summary

This patch release focuses on improving RLMs (Reasoning Language Models) with fixes for code interpreter, JSONRPC conversion, and tool serialization. GEPA receives updates for cached evaluations and Python 3.14 support.

Key Highlights

  • Converted CodeInterpreter messaging format to JSONRPC
  • Fixed code fence parsing and large variable injection in RLMs
  • Updated GEPA dependency to 0.0.26 with cached evals support
  • Added Python 3.14 support via GEPA update
  • Fixed streaming request headers and ColBERTv2 error handling

New Features

  • JSONRPC messaging format for CodeInterpreter
  • Cached evaluations in GEPA to reduce metric calls
  • Python 3.14 support

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