Migration Guide
This guide helps you upgrade between major versions of the Kubiya Workflow SDK.
Migrating from 1.x to 2.0
Breaking Changes
Version 2.0 includes some breaking changes. Please review carefully before upgrading.
1. Default Runner Changed
The default runner has changed from core-testing-2
to auto
:
# Old (1.x)
workflow = Workflow( name = "test" , runner = "core-testing-2" )
# New (2.0)
workflow = Workflow( name = "test" ) # Uses "auto" by default
2. Client API Updates
New methods added to the Client class:
# New in 2.0
client = Client()
runners = client.get_runners()
integrations = client.get_integrations()
secrets = client.get_secrets_metadata()
org_info = client.get_organization_info()
SSE streaming now requires the native_sse
parameter:
# Old (1.x)
for event in client.execute_workflow(workflow, stream = True ):
pass
# New (2.0) - Better SSE support
for event in client.execute_workflow(workflow, stream = True ):
# Events now properly parsed with native SSE format
pass
New Features
AI-Powered Workflow Generation
from kubiya_workflow_sdk.providers import get_provider
# New ADK provider
adk = get_provider( "adk" )
# Generate workflows from natural language
result = await adk.compose(
task = "Create a backup workflow" ,
mode = "plan"
)
SDK Server
# New server command
kubiya-server --host 0.0.0.0 --port 8000
Migration Steps
Update Dependencies
pip install --upgrade kubiya-workflow-sdk[all]
Update Runner References
Search for runner="core-testing-2"
and replace with runner="auto"
or remove the parameter.
Test Streaming
Test your streaming code to ensure it handles the new SSE format correctly.
Add API Keys
If using ADK provider, add the required API keys:
export TOGETHER_API_KEY = "your-key"
Migrating from 0.x to 1.0
Breaking Changes
Workflow Definition : Changed from dict to object-based
Step Dependencies : Now use explicit depends
parameter
Execution API : New streaming interface
Example Migration
# Old (0.x)
workflow = {
"name" : "test" ,
"steps" : [
{ "name" : "step1" , "cmd" : "echo hello" }
]
}
# New (1.0+)
from kubiya_workflow_sdk import Workflow, Step
workflow = Workflow(
name = "test" ,
steps = [
Step( name = "step1" , command = "echo hello" )
]
)
Best Practices
Test Thoroughly Always test workflows in a staging environment before upgrading production
Backup Workflows Export your workflow definitions before upgrading
Update Gradually Migrate workflows one at a time rather than all at once
Monitor Execution Watch for any changes in execution behavior after upgrade
Getting Help
If you encounter issues during migration:
Check the Changelog for detailed changes
Review the API Reference
Contact support at support@kubiya.ai
Responses are generated using AI and may contain mistakes.