Releases: PrefectHQ/ControlFlow
Releases · PrefectHQ/ControlFlow
v0.9: All Together Now
ControlFlow v0.9 is here and it's HUGE:
- New event-based backend that allows agent actions to be "compiled" on demand for different LLMs, workflow visibility, and more
- New lightweight DX, including the workhorse
cf.run()
function - New
Orchestrator
for managing workflow execution - New
TurnStrategy
objects for managing agent collaboration - Completely rewritten documentation
- Custom result validation
- Full Prefect 3.0 support
What's Changed
New Features 🎉
- Add new compiler backend by @jlowin in #199
- Add new compiler backend (#199) by @jlowin in #200
- Add new compiler backend by @jlowin in #203
- Add diagnostic CLI by @jlowin in #205
- Support max iterations by @jlowin in #211
- support private tasks by @jlowin in #212
- Continue building out compilation pipeline by @jlowin in #221
- Update prompt customization by @jlowin in #226
- Improve basic round robin by @jlowin in #231
- Add stable ID for task/agent/team by @jlowin in #232
- Add configurable history visibility by @jlowin in #233
- Add async run and deprecate run_once by @jlowin in #234
- Don't create team of one agent by @jlowin in #243
- Clean up new backend by @jlowin in #246
- Give end-turn tool to the default team by @jlowin in #247
- expand support for lists of agents by @jlowin in #248
- Better support for complex options by @jlowin in #249
- Add support for Annotated result types on tasks by @jlowin in #262
- Add most busy turn strategy by @jlowin in #265
- Add support for custom result validators by @jlowin in #266
- Allow task decorator to return a value that becomes part of the objective by @jlowin in #267
- Update decorator to have proper method for returning a task by @jlowin in #268
- Improve handling of max turns / max turns per call and enforce task.max_turns by @jlowin in #271
- Update prefect pin for 3.0 🎉 by @jlowin in #273
- Allow configurable completion agents by @jlowin in #275
- Add top level
run
fns and support orchestrators with no agent by @jlowin in #280 - Improve debugging options by @jlowin in #281
- Reset task parent tracking when nested flows are created by @jlowin in #286
- @jlowin Remove infer_parent by improving attribute defaults by @jlowin in #287
- Update planning module by @jlowin in #285
- Huge orchestration overhaul by @jlowin in #290
- Add builtin validators and docs by @jlowin in #294
- Flow updates: prevent args from becoming part of context by @jlowin in #300
- Update prefect integration by @jlowin in #301
Fixes 🐞
- Fix bugs with parsing dependent tasks by @jlowin in #201
- Fix error when serializing bad tool args by @jlowin in #204
- fix kwarg by @zzstoatzz in #218
- fix tests by @jlowin in #227
- Add context tests; fix issue loading upstream task events by @jlowin in #229
- Ensure LC tools work by @jlowin in #230
- fix flow thread kwarg by @zzstoatzz in #250
- Add tests to ensure run limits are respected by @jlowin in #264
- Fix issue with classifying complex labels by @jlowin in #276
- Fix issue with special type aliases by @jlowin in #295
Breaking Changes 🛫
- move defaults out of root by @jlowin in #210
- Change run_once to steps by @jlowin in #214
- Remove .agents property by @jlowin in #242
- rename user_access → interactive by @jlowin in #259
- Remove error property and reuse result by @jlowin in #261
- Name is not required for agents; instructions can be provided as a positional arg by @jlowin in #270
- Remove unused settings by @jlowin in #272
Docs 📚
- Add event log docs by @jlowin in #208
- add groq to providers by @jlowin in #209
- Update installation.mdx by @jlowin in #215
- Add example of using a LangChain tool and fetching data, summarizing, and doing NER and sentiment analysis by @discdiver in #225
- Giant docs update by @jlowin in #277
- Icons update by @jlowin in #278
- New flow docs; clean up by @jlowin in #282
- Consolidate concept docs by @jlowin in #289
- Update dependency docs by @jlowin in #291
- Lots of new examples by @jlowin in #297
- Add history doc by @jlowin in #298
- Add feature examples by @jlowin in #299
- Add new agentic examples by @jlowin in #302
- Update readme by @jlowin in #303
Other Changes 🦾
- Update Prefect by @jlowin in #202
- Update README.md header image so displays in PyPI by @discdiver in #224
- Add history tests by @jlowin in #235
- Handle long tool descriptions by @jlowin in #237
- chore: update agent.py by @eltociear in #236
- Make agent name required by @jlowin in #238
- Remove unused events by @jlowin in #245
- Basetool support by @jlowin in #256
- v0.9 foundation by @jlowin in #255
- Fix flow context when using @flow by @jlowin in #257
- Update welcome.mdx by @jlowin in #258
- fix indentation by @jlowin in #260
- Remove max turns from task by @jlowin in #274
- Add dev CLI by @jlowin in #292
- 2 small things by @zzstoatzz in #293
- Update README.md by @jlowin in #304
New Contributors
- @eltociear made their first contribution in #236
Full Changelog: v0.8.2...v0.9
v0.8.3
v0.8.2
What's Changed
- Add instructions docs by @jlowin in #187
- fix link on welcome page to glossary by @zzstoatzz in #191
- add docs for configuring the default agent by @jlowin in #192
- add docs for configuring the default agent by @jlowin in #194
- platform independent timestamp by @zzstoatzz in #193
New Contributors
- @zzstoatzz made their first contribution in #191
Full Changelog: v0.8.1...v0.8.2
v0.8.1
v0.8.0
What's Changed
- Support anthropic by @jlowin in #157
- Start adding examples by @jlowin in #158
- Make tool calls private by default by @jlowin in #159
- Introduce proprietary backend models by @jlowin in #161
- Improve message processing pipeline by @jlowin in #160
- Reorganize tool imports by @jlowin in #162
- Significant QA updates by @jlowin in #163
- Ensure flow context is entered by @jlowin in #164
- Allow ad-hoc agent assignments by @jlowin in #165
- fix broken attribute by @jlowin in #166
- Update assets by @jlowin in #168
- Update banner by @jlowin in #170
- Update controlflow_banner.png by @jlowin in #171
- Enhancement: Code block styling by @znicholasbrown in #172
- Add tools doc by @jlowin in #173
- Handle missing API key more gracefully by @jlowin in #174
- Add more examples card by @jlowin in #175
- Minor edits by @jlowin in #176
- Add tasks and agents guide by @jlowin in #177
- Update installation instructions by @jlowin in #178
Full Changelog: v0.7.5...v0.8.0
v0.7.5
What's Changed
- Add loop doc by @jlowin in #140
- add quickstart by @jlowin in #141
- Misc docs updates by @jlowin in #142
- add history notes by @jlowin in #144
- Add message trimming by @jlowin in #143
- Add planning guide by @jlowin in #145
- Move loop to guide by @jlowin in #146
- Improve tool descriptions + add tests by @jlowin in #147
- Add testing utilities by @jlowin in #148
- Refactor core modules by @jlowin in #150
- Streamline the installation docs by @djsauble in #149
- Simplify the quickstart and make it more imperative by @djsauble in #151
- Add pattern docs by @jlowin in #152
- Add pattern headers and move api docs back to guides by @jlowin in #153
- Update main docs by @jlowin in #154
- Update example by @jlowin in #155
- Fix streaming prints by @jlowin in #156
New Contributors
Full Changelog: v0.7.4...v0.7.5
v0.7.4
What's Changed
- typing: utilities/types.py by @aaazzam in #134
- Fix tutorial typos by @seanpwlms in #135
- Update welcome/readme by @jlowin in #138
- Update Prefect pin by @jlowin in #137
- Update README.md by @jlowin in #139
New Contributors
- @seanpwlms made their first contribution in #135
Full Changelog: v0.7.3...v0.7.4
v0.7.3
v0.7.2
What's Changed
- Ensure debug setting defaults to False by @jlowin in #119
- Add script.js for docs by @discdiver in #118
- Prefect all the things by @jlowin in #120
- Make agents more extensible by @jlowin in #121
- Move history to the flow by @jlowin in #122
- Add basic planning by @jlowin in #123
- Update tests by @jlowin in #124
- Ensure that agents always load the then-default model if one is not specified by @jlowin in #125
- Create codeql.yml by @jlowin in #126
- Improve basic planning by @jlowin in #127
- Add generate_subtasks by @jlowin in #128
New Contributors
- @discdiver made their first contribution in #118
Full Changelog: v0.7.1...v0.7.2
v0.7.1
What's Changed
- rm video on introduction for now by @aaazzam in #103
- Add llm docs by @jlowin in #105
- Add example and fix function calls by @jlowin in #107
- Add debug option for raising on tool error by @jlowin in #106
- add restaurant example by @jlowin in #108
- Update type for default nones in decorators.py by @aaazzam in #110
- mypy init + refactor llm import logic + tests by @aaazzam in #104
- Revert "mypy init + refactor llm import logic + tests" by @jlowin in #111
- Add mypy by @jlowin in #112
- Ensure tool generation is compatible with all v2 models by @jlowin in #113
- Support static print when Live is running by @jlowin in #114
- Improve display of results in template instructions by @jlowin in #115
- Update introduction.mdx by @jlowin in #116
- minor updates by @jlowin in #117
Full Changelog: v0.7.0...v0.7.1