This release includes 1 breaking change for platform teams planning a safe upgrade.
✓ No known CVEs patched in this version
Topics
+8 more
Affected surfaces
ReleasePort's take
Light signalOrborus moves to a separate repository (github.com/shuffle/orborus) requiring source code migration. Licensing metric now counts app runs with a 25K default limit, not workflow runs—review capacity before upgrading.
Why it matters: Repository migration requires code updates; licensing shift to app-run counting (25K default) affects capacity planning. Audit limits and test migration in non-prod first.
Summary
AI summaryOrborus has been moved to its own repository, requiring source code migration.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Security | Medium |
Fixed disableRule and enableRule operations in Orborus for safer execution. Fixed disableRule and enableRule operations in Orborus for safer execution. Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Security | Medium |
Made disableRule and enableRule operations in Orborus safer to prevent unintended state changes. Made disableRule and enableRule operations in Orborus safer to prevent unintended state changes. Source: granite4.1:30b@2026-05-23-audit Confidence: low |
— |
| Breaking | Medium |
Licensing metric changed from workflow runs to app runs (default 25k limit). Licensing metric changed from workflow runs to app runs (default 25k limit). Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
Added Azure DevOps workflow sync mode with list and import capabilities. Added Azure DevOps workflow sync mode with list and import capabilities. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
Orborus can now operate as independent local compliance and response agent. Orborus can now operate as independent local compliance and response agent. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
Workers now inherit proxy settings from parent backend if not configured. Workers now inherit proxy settings from parent backend if not configured. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
Throttle to one workflow execution per minute during burst detection. Throttle to one workflow execution per minute during burst detection. Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Medium |
Added debug mode support to Helm chart backend, orborus, worker, app components. Added debug mode support to Helm chart backend, orborus, worker, app components. Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Medium |
Added base_url configuration support for Orborus sensor mode. Added base_url configuration support for Orborus sensor mode. Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Medium |
Automatically sets GOMEMLIMIT environment variable in Kubernetes deployments. Automatically sets GOMEMLIMIT environment variable in Kubernetes deployments. Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Dependency | Medium |
Updated shuffle-shared from v1.1.4 to v1.2.50. Updated shuffle-shared from v1.1.4 to v1.2.50. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Dependency | Medium |
Updated frikky/schemaless from v0.0.32 to v0.0.34. Updated frikky/schemaless from v0.0.32 to v0.0.34. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Performance | Medium |
Return HTTP 200 before workflow transaction to reduce timeout issues. Return HTTP 200 before workflow transaction to reduce timeout issues. Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Bugfix | Medium |
Fixed race conditions and state inconsistencies in subflow execution. Fixed race conditions and state inconsistencies in subflow execution. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Bugfix | Medium |
Fixed stale execution context when switching between sub-organizations. Fixed stale execution context when switching between sub-organizations. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Bugfix | Medium |
Fixed execution ID reading from URL window.location.search parameter. Fixed execution ID reading from URL window.location.search parameter. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Bugfix | Medium |
Fixed authentication context problem appearing after subflow execution. Fixed authentication context problem appearing after subflow execution. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Bugfix | Medium |
Fixed duplicate action result handling during execution updates. Fixed duplicate action result handling during execution updates. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Bugfix | Medium |
Fixed missing app images on workflow canvas with sidebar fallback. Fixed missing app images on workflow canvas with sidebar fallback. Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Bugfix | Medium |
Added executionsLoading state to prevent stale UI updates in execution panel. Added executionsLoading state to prevent stale UI updates in execution panel. Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Bugfix | Medium |
Removed confusing intermediate waiting stage from workflow execution status. Removed confusing intermediate waiting stage from workflow execution status. Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Bugfix | Medium |
Fixed Shuffle Tools app image fallback in execution result view. Fixed Shuffle Tools app image fallback in execution result view. Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Bugfix | Medium |
Fixed shuffle.appInstance.env Helm helper context dict for env propagation. Fixed shuffle.appInstance.env Helm helper context dict for env propagation. Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Bugfix | Medium |
Hardcoded Kaniko image in Helm for consistency across build environments. Hardcoded Kaniko image in Helm for consistency across build environments. Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Refactor | Medium |
Orborus source code moved to separate github.com/shuffle/orborus repository. Orborus source code moved to separate github.com/shuffle/orborus repository. Source: llm_adapter@2026-05-21 Confidence: high |
— |
Full changelog
Shuffle Release Notes
🚀 New Features
Azure DevOps Workflow Sync
- Added a new Sync mode to the workflow import dialog, allowing users to list all workflows from a remote repository (e.g., Azure DevOps) before importing them.
- A new "List & Sync" modal displays all remote workflows in a table with Name, Folder, Last Updated, and an Import / Sync action button.
- If a workflow already exists in the org, the button shows Sync (with a refresh icon); otherwise it shows Import (with a download icon).
- Users can toggle Sync mode via a switch in the import dialog (
Sync: list workflows before importing). - Implemented
listRemoteWorkflows()andhandleRemoteWorkflowAction()functions inWorkflows2.jsx. - Merged via PR #1960 and PR #1962.
Orborus Controlled Agent Mode
- Orborus can now operate as a local compliance and response agent, capable of running independently from a central backend.
- Added
base_urlsupport for Orborus sensor mode. - Orborus has been moved to its own repository
github.com/shuffle/orborus; the Orborus source code has been removed from this monorepo (commit).
🐛 Bug Fixes
Frontend
- Fixed missing app images on workflow canvas: if an action's
large_imageis missing (e.g., in imported or synced workflows), the image is now injected from the available apps sidebar by matchingapp_idorapp_name. (commit) - Fixed execution context on sub-org switch: When switching to a different sub-org, stale
execution_idURL parameters are now cleared and execution modal state is reset to avoid showing the wrong org's execution. (commit) - Fixed execution ID reading from URL:
execution_idis now always read fromwindow.location.search(not stalecursearch), and correctly handled in sub-org context. (commit) - Added
executionsLoadingstate to the workflow execution panel to better track loading state and prevent stale UI updates. (commit) - Removed duplicate "close" button text from execution panel:
execution_idURL param is now properly cleared when the close button is clicked. (commit) - Removed the "Folder" column from the remote workflows table in the sync modal (temporarily hidden). (commit)
- Fixed minor UI issues and bugs across various components. (PR #1968, PR #1970)
- Fixed Shuffle Tools app image fallback in execution result view to always display the correct icon when
large_imageis missing. (commit) - Fixed
disableRule/enableRulesafety in Orborus: made these operations safer to prevent unintended state changes. (PR #1964) - Fixed auth issue after subflow execution: resolved an authentication context problem that appeared after a subflow completed. (commit)
- Fixed
base_urlfor Orborus sensor. (commit)
Backend / Execution Engine
- Improved stability of subflows and workflow executions: multiple fixes for race conditions and state inconsistencies during parallel/subflow execution. (commit)
- Fixed duplicate action result handling: added a fix to ignore duplicate action results during execution updates (later reverted due to side effects, then re-approached via stability improvements). (commit, revert)
- Removed confusing "waiting" stage from workflow execution status: this intermediate state was causing user confusion. (commit)
- Return HTTP 200 before workflow transaction to improve responsiveness and reduce timeout-related issues. (commit)
- Pass proxy settings from backend to worker: if a worker does not have proxy settings, it now inherits them from the parent. (commit)
Licensing
- Applied licensing changes to the frontend: Changed limitation metric to go from workflow runs to app runs, default limit: 25k app runs. (commit)
- Note: Users on Shuffle open-source will not be hard-blocked upon reaching the 25k app run limit. Instead, when a burst of executions is detected, throughput will be throttled to 1 workflow execution per minute. All rate limits reset automatically on the 1st of each month.
🔧 Infrastructure & Kubernetes (Helm)
- Added debug mode support to all Shuffle Helm chart components (
backend,orborus,worker,app) via new*.debugboolean values. When enabled, setsDEBUG: "true"as an environment variable. (PR #1961) - Fixed
shuffle.appInstance.envHelm helper: the helper now accepts a proper context dict, fixing env variable propagation to app deployments. - Automatically sets
GOMEMLIMITenvironment variable in Kubernetes deployments. (commit) - Helm chart README cleanup: removed duplicate parameter table entries and fixed heading levels. (commit)
- Hardcoded the Kaniko image for consistency across build environments. (commit)
📦 Dependency Updates
| Component | Update | Date |
|-----------|--------|------|
| shuffle-shared | v1.1.4 → v1.1.4-experimental → v1.2.8 → v1.2.50 | Mar–May 2026 |
| frikky/schemaless | v0.0.32 → v0.0.34 | Mar 2026 |
👥 Contributors
| Contributor | GitHub |
|-------------|--------|
| Lalit Deore | @LalitDeore |
| Yash Singh | @yashsinghcodes |
| Aditya | @0x0elliot |
| Frikky | @frikky |
| Pascal Sthamer | @P4sca1 |
Breaking Changes
- Orborus source code removed from the monorepo; must be fetched from https://github.com/shuffle/orborus.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About Shuffle
Shuffle: A general purpose security automation platform. Our focus is on collaboration and resource sharing.
Related context
Related tools
Beta — feedback welcome: [email protected]