Change8

3.0.0b1

Breaking Changes
📦 dspyView on GitHub →
1 breaking4 features🐛 8 fixes🔧 6 symbols

Summary

This release introduces several bug fixes, style standardization, and new features like a global max_errors setting. The main breaking change is the removal of unmaintained retriever integrations.

⚠️ Breaking Changes

  • Removal of unmaintained retriever integration (#8073). Users relying on these specific retrievers must migrate to custom code implementations.

Migration Steps

  1. If you were using unmaintained retriever integrations removed in #8073, migrate your code to use custom retriever implementations.

✨ New Features

  • Added global max_errors setting.
  • Added more permission capabilities to PythonInterpreter.
  • Added xml adapter.
  • Standardized coding style across DSPy.

🐛 Bug Fixes

  • Fixed Pydantic v2 deprecation warning in json_adapter.
  • Fixed custom type extraction in dspy.BaseType.
  • Fixed logging configuration to prevent OpenTelemetry handler conflicts.
  • Restored audio inspect_history functionality.
  • Wrapped langchain tool code example by asyncio runner.
  • Allowed tool async to sync conversion.
  • Fixed missing [[ ## completed ## ]] marker in history and fewshot examples.
  • Fixed usage tracking when None exists as a value.

🔧 Affected Symbols

dspy.BaseTypejson_adapterPythonInterpreterdspy.ReActaudio_formatinspect_history