Release v0.0.22
π§ Overviewβ
This release introduces the powerful Cascade Cancel feature for subflows, enabling automatic cancellation of all related active jobs, tasks, and correlations when a main instance is canceled. Additionally, this release includes Inbox and Outbox Worker infrastructure, enhanced Function Filter capabilities, Instance ID and Key support across all endpoints, and significant improvements to Aspect/Trace/Logging architecture. Critical bug fixes for async validation and nested JSON path filtering are also included.
β οΈ Breaking Change: The
subTypeproperty has been added to the state schema. You need to update your existing workflows.
π Major Updatesβ
1. Cascade Cancel for Subflows on Main Instance Cancellationβ
A new cancel transition definition has been introduced for workflows. When a cancel transition is executed, all active jobs, tasks, and correlations associated with the flow are automatically canceled in a cascading manner.
Key Features:
- β Automatic cancellation of all active subflows when main instance is canceled
- β Recursive cancellation for nested subflows
- β Idempotent operation (safe for repeated cancel requests)
- β Proper status propagation across workflow hierarchy
- β Incident and error tracking for cascade cancellation events
Cancel Transition Definition:
{
"cancel": {
"key": "cancel-account-opening",
"target": "cancelled",
"triggerType": 0,
"versionStrategy": "Minor",
"labels": [
{
"language": "en-US",
"label": "Cancel Account Opening"
}
],
"onExecutionTasks": [],
"availableIn": []
}
}
Cancellation Flow:
- Main instance receives cancel request
- All active subflows are identified
- Cancel propagates recursively to nested subflows
- Related tasks and correlations are canceled
- Status updates are tracked for auditing
Benefits:
- Ensures workflow consistency by preventing orphaned flows
- Aligns with expected workflow lifecycle management
- Provides comprehensive audit trail for cancellation events
- Simplifies cleanup of complex workflow hierarchies
Documentation: See Cascade Cancel for Subflows for detailed implementation guide.
Reference: #62 - Feature: Cascade Cancel for Subflows on Main Instance Cancellation
2. Inbox and Outbox Worker Images (NEW - INFRA)β
New worker images have been introduced for better message processing, performance optimization, data loss prevention, and unified contract-based system operations.
Architecture Overview:
- Dapr PubSub Integration: Provides infrastructure isolation
- Smart Message Routing: Attempts PubSub delivery first; falls back to message box on failure
- Custom Hook Support: Execute hooks before PubSub; skip PubSub on successful hook completion (critical for sync processes)
Message Flow Strategy:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Message Processing Flow β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β 1. Check for custom hook definition β
β βββ If hook exists β Execute hook β
β β βββ Success β Skip PubSub (return) β
β β βββ Failure β Continue to PubSub β
β 2. Attempt PubSub delivery β
β βββ Success β Message delivered β
β βββ Failure β Write to message box for retry β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Benefits:
- Improved message delivery reliability
- Better handling of synchronous processes
- Infrastructure isolation through Dapr PubSub
- Automatic retry mechanism via message box
3. Function Filter Enhancementsβ
Extended Function endpoint with advanced filtering capabilities similar to the Data endpoint. All filter inputs are optional to ensure backward compatibility.
Key Improvements:
- β Advanced filtering support on Function endpoint
- β Optional filter inputs for backward compatibility
- β Consistent filter syntax across endpoints
Reference: #54 - Function Filter Enhancements
4. Support Instance ID and Key in All Instance Endpointsβ
All instance endpoints now accept both InstanceId and Key for instance identification, providing more flexibility in API interactions.
Previous Behavior:
- Only
InstanceId(UUID) was accepted
New Behavior:
InstanceIdORKeycan be used interchangeably
Example Usage:
Using Instance ID:
GET /core/workflows/order/instances/18075ad5-e5b2-4437-b884-21d733339113/data
Using Instance Key:
GET /core/workflows/order/instances/ORDER-2024-001/data
Benefits:
- More readable and meaningful API calls
- Easier integration with external systems using business keys
- Consistent behavior across all instance-related endpoints
Reference: #140 - Support Instance ID and Key in All Instance Endpoints
5. Support for _comment Property in Visual Editorsβ
The _comment property is now supported in both schema and runtime, enabling better documentation within workflow definitions for visual editors.
Example Usage:
{
"key": "process-payment",
"_comment": "This state handles payment processing and validation",
"stateType": 1,
"transitions": [...]
}
Benefits:
- Enhanced workflow documentation
- Better collaboration in visual editors
- Self-documenting workflow definitions
Reference: #145 - Support for _comment Property in Visual Editors
6. Aspect/Trace/Logging Improvementsβ
Significant architectural improvements have been made to code maintainability, refactoring, and organization through aspect-oriented architecture.
Key Improvements:
- β Migration to aspect-oriented architecture for better code maintenance
- β Span correlation in traces for better observability
- β Reduced unnecessary log noise
7. Runtime Metadata Endpointβ
A new endpoint has been added to expose runtime metadata for vnext tools and other system integrations.
Endpoint:
GET api/v1/config
Response:
{
"version": "0.0.22",
"domain": "core",
"schemas": {
"sys-flows": "sys_flows",
...
}
}
Benefits:
- Easy integration with vnext tools
- Runtime version discovery
- Schema information access
β οΈ Breaking Changesβ
State Schema - subType Property Addedβ
The subType property has been added to the state schema. This change may affect your existing workflows.
Required Action:
- Review state definitions in your existing workflows
- Update
subTypedefinitions according to the documentation
Example Usage:
{
"key": "waiting-approval",
"stateType": 1,
"subType": 1,
"_comment": "Waiting for approval state"
}
Documentation: Workflow - Please update your workflows according to this documentation.
π οΈ Hotfixβ
Remove Live and Ready Endpoints from OpenTelemetry Tracesβ
Health check endpoints (/live and /ready) are now excluded from OpenTelemetry traces to reduce noise in trace data.
Problem Resolved:
- Health and metric endpoints were creating unnecessary trace noise
- Frequent calls from orchestration systems (Kubernetes, Docker) added no business value to traces
- Increased trace volume and storage costs
Solution:
- Health, metric, and similar endpoints are now excluded from trace monitoring
Reference: #134 - Remove Live and Ready Endpoints from OpenTelemetry Traces
π§© Bug Fixesβ
1. Async Operations Validation Fix (#170)β
Fixed validation issues in async operations that prevented proper workflow progression.
Problem Resolved:
- Validation problems in async operations caused workflow progression issues
- Lock mechanism has been improved for better reliability
Impact:
- Improved workflow execution reliability in async scenarios
- Enhanced lock mechanism performance
Reference: #170 - Bug sync=true
2. Nested JSON Path Filtering and QueryParameter Propagation (#203)β
Fixed issues with nested JSON path filtering and QueryParameter propagation to tasks.
Problem Resolved:
- Nested JSON path filtering was not working correctly
- QueryParameters were not properly propagated to tasks
Impact:
- Correct filtering on nested JSON paths
- Proper QueryParameter propagation across task executions
Reference: #203 - Fix nested JSON path filtering and QueryParameter propagation to tasks
π§ Configuration Updatesβ
Configuration for v0.0.22:
{
"runtimeVersion": "0.0.22",
"schemaVersion": "0.0.27"
}
π Other Developmentsβ
Multi-Platform Supportβ
- Added multi-platform support for vnext-runtime (Podman, Docker, OrbStack, etc.)
vnext-cli Deprecationβ
vnext-clitool has been moved to Legacy/Archived status- New projects should use vnext-template
- Existing projects need migration for CI/CD and vnext tool compatibility
Migration Guide: See Migrating from vnext-cli to vnext-template
π§± Issues Referencedβ
- #62 - Feature: Cascade Cancel for Subflows on Main Instance Cancellation
- #54 - Function Filter Enhancements
- #134 - Remove Live and Ready Endpoints from OpenTelemetry Traces
- #140 - Support Instance ID and Key in All Instance Endpoints
- #145 - Support for _comment Property in Visual Editors
- #170 - Bug sync=true
- #203 - Fix nested JSON path filtering and QueryParameter propagation to tasks
π Developer Notesβ
Migration Checklistβ
- β οΈ Breaking Change: Update
subTypeproperty in state definitions - Review workflows for cascade cancel implementation opportunities
- Implement cancel transitions where workflow cleanup is needed
- Update API calls to use Instance Key where appropriate for better readability
- Consider using
_commentproperty for workflow documentation - Migrate from vnext-cli to vnext-template for new projects
- Update workflow definitions to schema version 0.0.27
- Review and test async operations after lock mechanism improvements
New Capabilities to Exploreβ
- Cascade Cancel: Implement proper workflow cleanup with automatic subflow cancellation
- Inbox/Outbox Workers: Leverage new message processing infrastructure for reliable delivery
- Instance Key Usage: Switch to business keys for more readable API interactions
- Runtime Metadata: Integrate with vnext tools using the new config endpoint
- Multi-Platform: Deploy on Podman, OrbStack, or other container platforms
Infrastructure Updatesβ
- New Worker Images: inbox and outbox worker images are now available
- Platform Support: Runtime now supports multiple container platforms beyond Docker
π§ Summaryβ
With this release:
β οΈ Breaking Change: subType property added to state schema - existing workflows need revision
β
Cascade cancel ensures automatic cleanup of subflows and related resources
β
New inbox and outbox worker infrastructure for reliable message processing
β
Function filter enhancements with backward compatibility
β
Instance ID and Key support across all instance endpoints
β
_comment property support for better workflow documentation
β
Aspect-oriented architecture for improved code maintainability
β
Health endpoints excluded from OpenTelemetry traces
β
Async validation and nested JSON path filtering bugs fixed
β
Multi-platform container support (Podman, Docker, OrbStack)
β
Runtime metadata endpoint for tool integrations
β
vnext-template as the new standard for project setup
π Upgrade Pathβ
From v0.0.21 to v0.0.22:β
-
Update Runtime:
# Update to v0.0.22git pull origin master -
Update Configuration:
{"runtimeVersion": "0.0.22","schemaVersion": "0.0.27"} -
Implement Cascade Cancel (Optional):
- Add cancel transition definitions to workflows that need cleanup capabilities
- Define target state for canceled instances
- Configure labels and available states for cancel transition
-
Migrate from vnext-cli (If Applicable):
- Follow the migration guide
- Update CI/CD pipelines for vnext-template compatibility
-
Test Async Operations:
- Verify async workflow operations after lock mechanism improvements
- Test nested JSON path filtering scenarios
- Validate QueryParameter propagation in task executions
-
Deploy Worker Images (If Using Message Processing):
- Deploy new inbox and outbox worker images
- Configure Dapr PubSub components
- Set up message box for retry scenarios
vNext Runtime Platform Team
December 3, 2025
