3.0.3

stanfordnlp/dspy3.0.3Aug 31, 2025by okhat

AI Summary

Focuses on GEPA updates, replacing ujson with orjson, and fixing rollout_id cache bypassing logic.

Key Highlights

  • Introduced rollout_id for bypassing LM cache in a namespaced way.
  • Bumped GEPA version with progress bar and failure handling.
  • Replaced ujson with orjson for performance.
  • Lowered max_tokens requirement for reasoning models.

New Features

  • rollout_id for cache bypassing.
  • GEPA progress bar.
  • orjson replacement.

Full Release Notes

## What's Changed


New Functionality
* Introduce `rollout_id` for bypassing LM cache in a namespaced way by @okhat in https://github.com/stanfordnlp/dspy/pull/8745
* Raise temperature when doing multiple rollouts (and warn otherwise) by @okhat in https://github.com/stanfordnlp/dspy/pull/8748

Optimizers
* Bump gepa version - Fix dependencies, Add progress bar, Ensure failing metrics do not continue running by @LakshyAAAgrawal in https://github.com/stanfordnlp/dspy/pull/8701
* Fix __call__ to forward in dspy.GEPA tutorial by @LakshyAAAgrawal in https://github.com/stanfordnlp/dspy/pull/8719

Maintenance
* Replace ujson by orjson by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/8655
* Change how `forward` is patched to avoid warning on explicit `forward` call by @chenmoneygithub in https://github.com/stanfordnlp/dspy/pull/8700
* Add type hints and fix doc string of SIMBA by @TomeHirata in https://github.com/stanfordnlp/dspy/pull/8707
* Remove deprecated LiteLLM caching from LM by @okhat in https://github.com/stanfordnlp/dspy/pull/8742
* Fix Predict config merging and document rollout_id usage by @okhat in https://github.com/stanfordnlp/dspy/pull/8746
* Lower max_tokens requirement for reasoning LMs by @okhat in https://github.com/stanfordnlp/dspy/pull/8750


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