CrewAI's 1.15 line, shipped across three point releases from June 25 to July 8, 2026, is easy to under-read from the changelog — it looks like a pile of small flow tweaks. Step back and there's one real move in it: flow authoring stopped being purely code. That changes who on your team can touch a flow and how you review one, which for a small shipping team matters more than any single feature.

A framework for orchestrating role-playing, autonomous AI agents into collaborative crews and flows; Python-native, code-first, with a growing declarative authoring path
★ 55.6kPythoncrewAIInc/crewAI

From decorated classes to a FlowDefinition you can load#

Until now, a CrewAI Flow — the orchestration layer that sequences crews and steps with routing and state — was a Python class you built with decorated methods. Powerful, and firmly code-first. If you wanted to see what a flow did, you read the code.

1.15 adds a declarative alternative. The release notes list unified declarative flow loading, declarative Flow CLI support, crew actions in a FlowDefinition, inline crew definition loading, a single-agent action in flow definitions, and an each composite action. In plain terms: more of a flow's shape can live as a definition you load rather than only as a class you write. The notes name the pieces but stop short of publishing the full authoring syntax, so treat the exact schema as something to confirm in the docs — what's certain is the direction.

Why a founder should care about a direction, not a snippet: a declarative definition is diffable and reviewable. A teammate who isn't fluent in your decorators can still read what a flow orchestrates; a change shows up as a clean diff in review instead of a reshuffled class; and the definition becomes an artifact you can version alongside prompts and configs. This is the same trade the visual and config-first builders have always sold — we mapped that spectrum in n8n vs Flowise vs Langflow — except here it arrives inside a code-first framework you already run, so you don't give up the Python escape hatch to get it. If you're weighing CrewAI's flows against its crews in the first place, flows vs crews is the decision underneath this one, and conversational flows explained covers the interactive path the CLI now extends.

The feature you'll feel first: one token number per run#

Buried in the 1.15.0 notes is the change a bootstrapped operator notices on day one: aggregate token usage across all LLM calls. A crew or a flow fans out into many model calls, and pricing an agent feature has meant stitching per-call token counts together yourself to answer the only question finance asks — what did one run cost? 1.15 gives you that as a single total.

That's not a rounding-error convenience. When your product's unit economics are "cost per agent run," a first-class total for a whole crew is the difference between guessing your margin and knowing it. It's the on-ramp to the discipline we've argued for repeatedly: measure the spend per task before you set a price, not after a surprising invoice.

Plumbing that signals where this is going#

Two smaller items tell you the roadmap. 1.15.2 defined a stream-frame protocol for flows — a standardized format for how intermediate flow state streams out. On its own it's invisible; as groundwork it's how you'd later put a live run UI or dashboard over a flow without reverse-engineering a bespoke event shape each time. And conversational flows in the CLI TUI make the terminal a faster place to prototype a flow before you commit it to a definition.

There's also a DMN mode for crew creation and execution in 1.15.0. Decision-model-style authoring is a genuinely useful idea, but the notes don't document the workflow, so file it under promising, verify before betting — try it on a throwaway crew and read the current docs rather than inferring the shape.

Should you upgrade?#

If you're on 1.14, the 1.15 changes are additive — declarative loading, token aggregation, a stream protocol, CLI polish — so the risk is low and the token-usage total alone justifies the branch. Pin the version, upgrade in isolation, and run your own crews before shipping. The bigger question isn't whether to take 1.15; it's whether CrewAI is still the right orchestrator for what you're building now that the frameworks have converged — for that, put it beside the field in Agno vs LangGraph vs CrewAI and Microsoft Agent Framework vs LangGraph vs CrewAI. If you already know CrewAI is your lane, 1.15 quietly made it a more reviewable, more measurable one — and those are the two properties a small team feels every week.