Releases: stanfordnlp/dspy
Releases · stanfordnlp/dspy
3.0.0b2
What's Changed
Modules & Adapters
- Remove dspy.Program alias by @TomeHirata in #8392
- Clean up ChainOfThoughtWithHint in DSPy 3.0 by @Hangzhi in #8395
- Change the output interface of evaluate by @TomeHirata in #8003
- Add format to ToolCalls by @TomeHirata in #8455
- Allow reusing the stream listener by @chenmoneygithub in #8461
Bug Fixes
- Fix the issue that StreamListener strip out space after the start identifier by @chenmoneygithub in #8360
- Fix the streaming test by @chenmoneygithub in #8367
- fix bedrock streaming token tracking by @BTripp1986 in #8431
- Allow exception to pass through in JSONAdapter by @chenmoneygithub in #8445
- Support async path for ChatAdapter and JSONAdapter by @chenmoneygithub in #8419
- Fix PEP 604 union types when using Class Signatures for ChainOfThought by @erandeutsch in #8465
QoL
- Improve error message on invalid lm setup by @chenmoneygithub in #8378
- Show warning if forward is directly called by @TomeHirata in #8380
Style
- Small style fix on forward call warning by @chenmoneygithub in #8381
- Add quote rule to the lint rules by @TomeHirata in #8383
- Refactor root init file by @TomeHirata in #8385
- Add missing rule comment by @chenmoneygithub in #8398
- Consistently use double quotes in DSPy docsite landing page by @chenmoneygithub in #8447
Maintenance
- Remove pandas and datasets from core dependencies by @TomeHirata in #8274
- Update dspy version in uv lock by @TomeHirata in #8384
- Remove Hyperparameter class by @TomeHirata in #8386
- Remove unused multi-hop state files by @TomeHirata in #8389
- Remove unused postprocess of param name by @TomeHirata in #8387
- Remove experimental module by @TomeHirata in #8391
- Remove commented out assertions file by @TomeHirata in #8388
- Clean up unnecessary ruff exclude by @chenmoneygithub in #8399
- Remove commented out old dotdict by @TomeHirata in #8401
- Remove branch installation instruction by @TomeHirata in #8404
- Remove dspy.settings related to dspy.Assertion by @chenmoneygithub in #8397
- Remove unnecessary pre-commit exclusion by @chenmoneygithub in #8405
- Rename modules to module by @TomeHirata in #8407
- Move internal_dspy outside dspy module by @TomeHirata in #8400
- Remove aws extra dep group by @TomeHirata in #8412
- Move dsp/metrics into evaluate/metrics by @TomeHirata in #8402
- Fix signature input type by @TomeHirata in #8413
- Disable doc-push on forked repo by @chenmoneygithub in #8415
- compute cache key once by @poudro in #8394
- Add CLAUDE.local.md to .gitignore by @TomeHirata in #8420
- Remove datasets installation from the Getting Started I by @chenmoneygithub in #8418
- Add gemini to LM provider by @chenmoneygithub in #8417
- change the default model to llama-4 for databricks provider by @chenmoneygithub in #8414
- Move litellm cache testing under tests/client and remove unnecessary tests by @chenmoneygithub in #8396
- Fix the error that status message streaming was blocking by @chenmoneygithub in #8432
- Add real world tutorial for email extraction by @TomeHirata in #8426
- Document comparison operations of dspy.Prediction by @TomeHirata in #8437
- Drop Python 3.9 support by @TomeHirata in #8456
- Add support for PEP 604 union types in inline signatures by @erandeutsch in #8449
- Fix Lint by @TomeHirata in #8458
- Update lockfile by @TomeHirata in #8459
- Typo fix by @chenmoneygithub in #8462
Documentation
- [update docs] init gsm8k = GSM8K() by @codingDuan in #8363
- Add missing hooks to the tutorial of observability by @chenmoneygithub in #8368
- Add a tutorial on customizing modules by @chenmoneygithub in #8370
- Update the version to 3.0.0 in model saving doc by @TomeHirata in #8409
- Automatic doc update by @chenmoneygithub in #8476
- Fix mkdoc warnings by @TomeHirata in #8410
- Expand sidenav items by default by @TomeHirata in #8411
- Add real world example with yahoo finance Langchain tool by @TomeHirata in #8428
- Add memory agent tutorial by @TomeHirata in #8427
- Add real-world example overview page by @TomeHirata in #8442
- Remove unsupported options of Plugin 'material/search' by @TomeHirata in #8423
- Relax configure allowance in async tasks by @chenmoneygithub in #8444
- Add tutorial for text based game by @TomeHirata in #8451
- Add a tutorial for generating a code example from doc by @TomeHirata in #8450
- Add llms.txt generation tutorial by @TomeHirata in #8421
New Contributors
- @codingDuan made their first contribution in #8363
- @Hangzhi made their first contribution in #8395
- @poudro made their first contribution in #8394
Full Changelog: 3.0.0b1...3.0.0b2
3.0.0b1
What's Changed
A cleaner release note to follow. The only breaking change to be aware of in 3.0 is just #8073 for unmaintained retriever integration (should affect almost no one, and easy to migrate to custom code for those affected).
- Fix Pydantic v2 deprecation warning in json_adapter by @brishin in #8263
- Enable CI testing for all supported python versions by @chenmoneygithub in #8321
- Fix the custom type extraction in dspy.BaseType by @chenmoneygithub in #8320
- Add global max_errors setting by @okhat in #8319
- Wrap langchain tool code example by asyncio runner by @chenmoneygithub in #8322
- add more permission capabilities to PythonInterpreter by @arnavsinghvi11 in #8296
- Fix logging configuration to prevent OpenTelemetry handler conflicts by @dmavrommatis in #8269
- restore audio inspect_history by @arnavsinghvi11 in #8336
- Standardize coding style in DSPy by @chenmoneygithub in #7885
- Fix lint failures by @chenmoneygithub in #8337
- Prompt users to run pre-commit when detecting ruff failures by @chenmoneygithub in #8338
- refactoring audio_format completely by @arnavsinghvi11 in #8349
- Add docstring for dspy.ReAct by @chenmoneygithub in #8334
- Allow tool async to sync conversion by @chenmoneygithub in #8332
- Fix missing [[ ## completed ## ]] in history and fewshot example by @chenmoneygithub in #8340
- Fix usage tracking when None exists as value by @chenmoneygithub in #8339
- Remove unused GRPO endpoint by @Ziems in #8354
- update the MLflow tracing guide by @chenmoneygithub in #8353
- Add xml adapter by @chenmoneygithub in #8358
- Merge async settings change into main by @chenmoneygithub in #8361
- Remove community retrievers by @TomeHirata in #8073
New Contributors
- @brishin made their first contribution in #8263
- @dmavrommatis made their first contribution in #8269
Full Changelog: 2.6.27...3.0.0b1
2.6.27
2.6.27a1
2.6.26
What's Changed
- Support
dspy.Toolas input field type anddspy.ToolCallas output field type by @chenmoneygithub in #8242 - fix inspect_history function calling issue #8315 by @iPersona in #8316
- Fix lint errors and lock uv dependencies by @TomeHirata in #8312
- Revert hotpotqa back to original (from #8234) as it's now alive by @okhat in #8317
New Contributors
Full Changelog: 2.6.25...2.6.26
2.6.25
What's Changed
Core
- Provide a standard base class for creating custom Signature field type by @chenmoneygithub in #8217
- dspy.Audio by @arnavsinghvi11 in #8214
- Fix audio attr name by @chenmoneygithub in #8241
- Fix ReinforceJob LM reference by @okhat in #8249
- Support python 3.13 by @TomeHirata in #8255
- Avoid importing optuna in dspy import by @TomeHirata in #8258
- Support custom imported module serialization with cloudpickle by @erandeutsch in #8286
- Support for Service Principal Auth for Databricks Retrieve with DSPy by @willsmithDB in #8293
- Fix Module history initialization by @okhat in #8307
- Add pytest-asyncio to deps list of testing before pypi by @chenmoneygithub in #8308
Modules
- Add CodeAct module by @TomeHirata in #8222
- Per module lm history by @chenmoneygithub in #8199
- Streaming: support models that don't split stream chunks in tokens by @chenmoneygithub in #8235
- Support predicted output in DSPy by @chenmoneygithub in #8247
- Bugfix: Ensure keys in both entities are merged by @estsauver in #8238
- Fixes utf-8 formatting issues in optimization saves by @ItzAmirreza in #8272
- Add langchain tool support by @TomeHirata in #8292
Misc
- fix: use forked hotpotqa to bring dataset alive #8233 by @vincentkoc in #8234
- fix(tests): use temp file for dataset by @estsauver in #8237
- feat(dspy): custom type resolution in Signatures by @isaacbmiller in #8232
- Remove dspy/.internal_dspyai/dist/ produced in the pipeline by @TomeHirata in #8240
- Fix DataLoader input key bug by @okhat in #8248
- Run tests with extra dependencies separately by @TomeHirata in #8246
- Ensure dspy.Image allows gs://image_urls from Google Cloud Platform (GCP) by @dimroc in #8267
- Fix the history related error of CodeAct by @TomeHirata in #8300
New Contributors
- @vincentkoc made their first contribution in #8234
- @estsauver made their first contribution in #8237
- @jmho made their first contribution in #8229
- @JHMuir made their first contribution in #8168
- @neilbhutada made their first contribution in #8250
- @carsonkahn-external made their first contribution in #8254
- @dimroc made their first contribution in #8267
- @erandeutsch made their first contribution in #8286
- @willsmithDB made their first contribution in #8293
Full Changelog: 2.6.24...2.6.25
2.6.24
What's Changed
Core
- Make it easier to do sync streaming by @chenmoneygithub in #8183
- Better default and warnings around LM max_tokens by @okhat in #8215
- Remove duplicated callback field from LM by @TomeHirata in #8230
Adapters
- Add AdapterParseError to dspy by @chenmoneygithub in #8212
Modules
- Fix spelling typo in react module by @BTripp1986 in #8191
- Move string representation of tool to Tool class by @TomeHirata in #8208
Optimizers
- Add GRPO Optimizer to DSPy by @Ziems @LakshyAAAgrawal @dilarasoylu @Harryllh in #8171
- Handle finetuning errors gracefully by @arnavsinghvi11 in #8194
New Contributors
- @BTripp1986 made their first contribution in #8191
Full Changelog: 2.6.23...2.6.24
2.6.23
What's Changed
Core
- Support streaming in async DSPy program by @chenmoneygithub in #8144
- Fix predict usage tracking by @chenmoneygithub in #8146
- Improve the positional args error message for dspy.Predict by @chenmoneygithub in #8152
- Support token streaming with json adapter by @chenmoneygithub in #8158
- Fix litellm retries by @chenmoneygithub in #8161
- Utility that converts async stream to sync stream by @chenmoneygithub in #8162
Optimizers
- Updating MIPROv2 Auto Settings by @klopsahlong in #8165
- MIPROv2 Updates by @klopsahlong in #8166
New Contributors
- @emmanuel-ferdman made their first contribution in #8160
- @Y-1huadb made their first contribution in #8131
- @Krishn1412 made their first contribution in #8129
Full Changelog: 2.6.22...2.6.23
2.6.22
What's Changed
Core
- Fix cache thread unsafety by @chenmoneygithub in #8133
Adapters & Modules
- Support async path in dspy.ReAct by @chenmoneygithub in #8139
- Fixes for Adapters (Pydantic validation) and SIMBA (candidate_programs) by @okhat in #8141
- Support args of custom types in dspy mcp tool by @chenmoneygithub in #8142
- Add cache to async LM call by @chenmoneygithub in #8135
- Adapters: Improve handling of literals and optionals by @okhat in #8143
New Contributors
- @SanjanShiv made their first contribution in #8124
Full Changelog: 2.6.21...2.6.22