2.6.0
Breaking Changes📦 dspyView on GitHub →
⚠ 2 breaking✨ 7 features🐛 3 fixes⚡ 1 deprecations🔧 12 symbols
Summary
This release removes deprecated functional and dsp clients, adds streaming, a sandboxed interpreter, retry support, and several feature enhancements while fixing literal handling bugs.
⚠️ Breaking Changes
- Removed deprecated `functional/` and `dsp/` client modules and old cache implementations; import paths and usage must be updated to the new modules.
- Python interpreter refactor to a sandboxed environment may change execution behavior; code that relied on direct interpreter access should be reviewed and adapted to the sandbox API.
Migration Steps
- Replace imports of `functional` and `dsp` clients with the new module paths or alternative implementations.
- If your code interacts directly with the Python interpreter, migrate to the new sandbox API as described in the migration guide.
- Review any custom retry logic and switch to using LiteLLM `RetryPolicy` where appropriate.
✨ New Features
- Added streaming support for model outputs.
- Improved BootstrapFT functionality with several performance enhancements.
- Introduced retry support via LiteLLM `RetryPolicy`.
- Added argument parsing for `dspy.ReAct`.
- Redirected the math dataset to the new location.
- Simplified built-in modules in preparation for assertions v2.
- Refined thread‑safety semantics for the `Settings` class.
🐛 Bug Fixes
- Fixed literal format adherence in `ChatAdapter` and `JSONAdapter`.
- Updated `multi_chain_comparison.py` example script.
- Other minor bug fixes related to settings thread‑safety semantics.
🔧 Affected Symbols
functionaldspSettingsStreamBootstrapFTinterpreterLiteLLM.RetryPolicyChatAdapterJSONAdapterdspy.ReActmath_datasetmulti_chain_comparison⚡ Deprecations
- The `functional/` and `dsp/` client packages were previously deprecated and have now been removed.