Releases: PrefectHQ/ControlFlow
v0.11.3: Exception-al Service
v0.11.2: Great Success
This is a small release that tweaks mark_success instructions to improve GPT-4o mini responses.
What's Changed
Other Changes 🦾
Full Changelog: v0.11.1...v0.11.2
v0.11.1: Let That Async In
What's Changed
New Features 🎉
Docs 📚
- add syntax highlighting by @jlowin in #357
- Fix broken link and broken code in docs by @discdiver in #359
Other Changes 🦾
- Update test_history.py by @AranavMahalpure in #360
- add slackbot example and update typing + debug logs by @zzstoatzz in #363
- fully rm invalid test by @zzstoatzz in #366
- Add AI labeler by @jlowin in #367
- Pass basemodel attributes directly as kwargs by @jlowin in #369
- Orchestrator: exclude
handlers
field from being serialized by @teocns in #370
New Contributors
- @AranavMahalpure made their first contribution in #360
- @teocns made their first contribution in #370
Full Changelog: v0.11.0...v0.11.1
v0.11.0: Flow Stopper
The 0.11 release includes new ways of controlling the agentic loop to introduce custom early termination conditions.
What's Changed
New Features 🎉
Enhancements 🚀
- Improve type hints by @jlowin in #343
- Improve task rendering by @jlowin in #344
- Allow parent tasks to optionally wait for subtasks by @jlowin in #346
- Allow model_kwargs to be passed to llm API by @jlowin in #347
- Add LLM rules for custom or unrecognized models by @jlowin in #350
- Add compilation flag for removing all system messages by @jlowin in #355
Fixes 🐞
Breaking Changes 🛫
Docs 📚
- "Added in" → "New in" for docs badge by @jlowin in #339
- chore: update settings.py by @eltociear in #352
Other Changes 🦾
Full Changelog: v0.10.0...v0.11.0
v0.10.0: Total Recall
The 0.10 release is headlined by a new memory system, so that agents can retain partitioned knowledge across flows and invocations. Agents can have multiple memory modules, each with its own instructions and shared access patterns. Memory is backed by a pluggable provider interface; 0.10 includes support for Chroma and LanceDB.
What's Changed
New Features 🎉
- remove old
typer
extra and updatejson
->model_dump_json
(LC 0.3+ support) by @zzstoatzz in #312 - Support langchain 0.3 by @jlowin in #321
- Add llm-specific prompt instructions by @jlowin in #322
- Add agent memories by @jlowin in #326
- Bump langchain versions by @jlowin in #328
- Allow completion tools to be customized per-task by @jlowin in #330
- Add chroma cloud configs by @jlowin in #331
- Add LanceDB memory provider by @jlowin in #334
- Support async tasks with task decorator by @jlowin in #337
Fixes 🐞
Breaking Changes 🛫
Docs 📚
- Add docs for multiple labels by @jlowin in #320
- Remove comma from pip install by @ahuang11 in #324
- Add version badges by @jlowin in #329
- Add memory example by @jlowin in #332
- Update all examples by @jlowin in #335
Other Changes 🦾
New Contributors
Full Changelog: v0.9.4...v0.10.0
v0.9.4: Pin It to Win It
v0.9.3: Model Behavior
What's Changed
New Features 🎉
- Support automatic model configuration on agents by @jlowin in #308
- Improve gemini support by @jlowin in #309
Full Changelog: v0.9.2...v0.9.3
v0.9.2: Handle with Care
This release exposes and documents Handlers
for users to customize. Handlers provide a way to observe and react to events that occur during task execution. They allow users to customize logging, monitoring, or take specific actions based on the orchestration process.
What's Changed
New Features 🎉
Docs 📚
Full Changelog: v0.9.1...v0.9.2
v0.9.1
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