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!
Responses are generated using AI and may contain mistakes.