SDK Changelog
All notable changes to the Kubiya Workflow SDK are documented here.
[2.0.0] - 2024-12-15
π Major Release
Complete rewrite of the SDK with enhanced AI capabilities and streaming support.
β¨ Added
- AI Workflow Generation: Generate workflows from natural language using ADK provider
- Streaming Execution: Real-time workflow execution updates
- Provider System: Extensible provider architecture for different orchestration backends
- MCP Server: Model Context Protocol server for AI integration
- Enhanced DSL: More intuitive Python DSL with decorators
- Inline Agents: Embed AI decision-making directly in workflows
- Resource Management: Better container resource allocation
- Parallel Execution: Native support for parallel step execution
π Changed
- API Redesign: Cleaner, more intuitive API structure
- Client Configuration: Simplified client initialization
- Error Handling: More descriptive error messages and types
- Step Definition: Unified step creation interface
- Default Runner: Changed from βautoβ to βkubiya-hostedβ
π Fixed
- Context loading issues with ADK provider
- Streaming event formatting
- Authentication with UserKey format
- Runner selection logic
π₯ Breaking Changes
- Removed
workflow.add_step()
in favor of DSL approach
- Changed provider initialization API
- Updated streaming event structure
- Renamed several core classes for clarity
π Documentation
- Complete documentation overhaul
- New SDK deep dive section
- Comprehensive examples
- API reference updates
[1.5.0] - 2024-11-01
β¨ Added
- Basic workflow composition
- Docker container support
- Simple retry mechanisms
- Environment variable management
π Changed
- Improved error messages
- Better validation logic
- Updated dependencies
π Fixed
- Memory leaks in long-running workflows
- Docker socket permission issues
- Windows compatibility problems
[1.0.0] - 2024-09-15
π Initial Release
- Basic workflow definition and execution
- Python DSL for workflow creation
- Command-line interface
- Docker integration
- Simple step types (shell, python)
Version Guidelines
We follow Semantic Versioning:
- Major (X.0.0): Breaking API changes
- Minor (0.X.0): New features, backward compatible
- Patch (0.0.X): Bug fixes, backward compatible
Upgrade Guide
From 1.x to 2.0
Client Initialization
Before (1.x):
from kubiya_sdk import KubiyaClient
client = KubiyaClient(
token="...",
base_url="..."
)
After (2.0):
from kubiya_workflow_sdk import Client
client = Client(
api_key="key_...",
api_url="https://api.kubiya.ai"
)
Workflow Definition
Before (1.x):
workflow = Workflow("my-workflow")
workflow.add_step(ShellStep("echo", "echo 'Hello'"))
workflow.add_step(PythonStep("process", "print('Processing')"))
After (2.0):
@workflow(name="my-workflow")
def my_workflow():
step.shell("echo 'Hello'", name="echo")
step.python("print('Processing')", name="process")
Streaming
Before (1.x):
# Not supported
result = client.run_workflow(workflow)
print(result)
After (2.0):
# Real-time streaming
for event in client.execute_workflow(workflow, stream=True):
if event.type == "log":
print(event.data["message"])
Error Handling
Before (1.x):
try:
client.run_workflow(workflow)
except Exception as e:
print(f"Error: {e}")
After (2.0):
from kubiya_workflow_sdk.errors import (
ValidationError,
ExecutionError,
StepError
)
try:
client.execute_workflow(workflow)
except StepError as e:
print(f"Step {e.step_name} failed: {e.message}")
except ExecutionError as e:
print(f"Workflow failed: {e}")
Deprecation Policy
- Features marked as deprecated will be maintained for at least 2 minor versions
- Deprecation warnings will be added to affected code
- Migration guides will be provided for deprecated features
- Breaking changes only occur in major version releases
Support Policy
Version | Status | Support Until |
---|
2.0.x | Current | Active |
1.5.x | Maintenance | 2025-03-01 |
1.0.x | End of Life | 2024-12-31 |
Support Levels
- Current: Full support, new features, bug fixes
- Maintenance: Critical bug fixes only
- End of Life: No support, upgrade recommended
Reporting Issues
Found a bug or have a feature request?
- Check existing issues
- Create a new issue
- Include:
- SDK version
- Python version
- Minimal reproduction code
- Error messages/logs
Future Roadmap
Version 2.1 (Q1 2025)
Version 2.2 (Q2 2025)
Version 3.0 (Q3 2025)
Contributing
See our Contributing Guide to help shape the future of the SDK!