⚠️ Breaking Changes
This release contains breaking changes that may affect existing crewAI code. Review the changes below and update your code accordingly.
AgentExecutor
/status/{kickoff_id} instead of /{kickoff_id}/status
✨ New Features
AgentExecutor Now Default
Crew agents now default to AgentExecutor instead of the deprecated CrewAgentExecutor.
Old code (deprecated):
from crewai import CrewAgentExecutor
New code (recommended):
from crewai import AgentExecutor
Improved Daytona Sandbox Tools
Enhanced sandbox isolation for safer code execution in agent workflows. Better security boundaries and resource management.
State Restoration
New restore_from_state_id kickoff parameter allows resuming
crews from saved state checkpoints.
ExaSearchTool Enhanced
Added highlights to search results and renamed from EXASearchTool
to ExaSearchTool for consistency.
🐛 Bug Fixes
Memory Leak Fixed
Fixed memory leak in git.py by using cached_property
Tool Call Surfacing
Surface streamed tool calls when available_functions is absent
Status Endpoint Path
Corrected from /{kickoff_id}/status to /status/{kickoff_id}
Result Validation
Prevent result_as_answer from returning hook-block or error messages as final answer
Task Output Preservation
Preserve task outputs across async batch flush
Model Conversion
Handle BaseModel input in convert_to_model
🔄 Migration Guide
Upgrading from crewAI v1.14.4 or earlier? Follow these steps:
Step 1: Update Dependencies
pip install --upgrade crewai crewai-tools
Step 2: Replace CrewAgentExecutor
Change all imports from:
from crewai import CrewAgentExecutor
To:
from crewai import AgentExecutor
Step 3: Remove function_calling_llm
Remove any function_calling_llm parameters from your crew configurations.
Step 4: Update Status Endpoint Calls
Update API calls from:
GET /{kickoff_id}/status
To:
GET /status/{kickoff_id}