β οΈ Breaking Changes in crewAI v1.14.5 (May 21, 2026)
- CrewAgentExecutor is DEPRECATED: Use
AgentExecutorby default - function_calling_llm field is DEPRECATED: Remove from crew configurations
- Status endpoint changed: Now
/status/{kickoff_id}instead of/{kickoff_id}/status
If your existing crewAI code stopped working, you need to update to the new patterns shown below.
π¦ What's New (v1.14.5 - May 21, 2026)
- β Skills Repository: New registry, cache, CLI, and SDK integration
- β Enterprise Release Notes: Categorized release notes generator
- β Security Fix: Bumped idna to 3.15 (GHSA-65pc-fj4g-8rjx)
- β RuntimeState: Hardened serialization across entity fields
- β JSX Fix: Removed {" "} expressions breaking render
What is CrewAI?
CrewAI lets you build teams of AI agents with specific roles that collaborate on complex tasks. Each agent has a role, goal, and backstory. They work together sequentially or hierarchically to complete multi-step workflows.
Step 1: Install CrewAI
# Create virtual environment
python -m venv venv
source venv/bin/activate
# Install CrewAI (v1.14.5+)
pip install crewai crewai-tools
Step 2: Build a Crew (Updated for v1.14.5)
from crewai import Agent, Task, Crew, Process
from langchain_openai import ChatOpenAI
# Initialize LLM
llm = ChatOpenAI(model="gpt-4o")
# Create agents with roles
researcher = Agent(
role="Senior Research Analyst",
goal="Discover insights and trends in AI",
backstory="You are an expert at analyzing complex data and identifying patterns.",
verbose=True,
allow_delegation=False,
llm=llm
)
writer = Agent(
role="Content Strategist",
goal="Create compelling content from insights",
backstory="You are skilled at turning complex insights into clear narratives.",
verbose=True,
allow_delegation=False,
llm=llm
)
# Create tasks with clear expected outputs
research_task = Task(
description="Research the latest AI trends in 2026. Focus on orchestration tools and agent frameworks.",
expected_output="A list of 5 key trends with brief descriptions",
agent=researcher
)
write_task = Task(
description="Write a blog post about the research findings.",
expected_output="A 500-word blog post with introduction, body, and conclusion",
agent=writer
)
# Create the crew (uses AgentExecutor by default in v1.14.5+)
crew = Crew(
agents=[researcher, writer],
tasks=[research_task, write_task],
process=Process.sequential,
verbose=True
)
# Run the crew
result = crew.kickoff()
print(result)
Note: In crewAI v1.14.5+, you no longer need to specify CrewAgentExecutor.
The crew now uses AgentExecutor by default.
Step 3: Advanced Features
Restore from Previous State
# Resume a crew from a saved state
result = crew.kickoff(restore_from_state_id="your-state-id")
Check Crew Status
# New endpoint format (v1.14.5+)
# GET /status/{kickoff_id}
import requests
response = requests.get(f"https://api.crewai.com/status/{kickoff_id}")
status = response.json()
π CrewAI is Ready!
You can now build multi-agent teams. Explore AutoGen for more advanced agent conversations, or check the AI Orchestrators page for all frameworks.