5.0.0
Adjusted from History
The Flow Director Platform was originally developed by Edge Broker GmbH, a dedicated startup we created to address a broader no-code market—targeting both individuals and enterprises, SwiftMQ and non-SwiftMQ customers alike.
That startup is now history. IIT Software GmbH, as the parent company, has since acquired the Flow Director Platform.
In this release, many features not specifically required for SwiftMQ integration have been removed. These include collaboration features for individual users such as app/flow/dashboard import and export, and custom flow component library import.
The only supported way to collaborate or share apps is now via Git (e.g., GitHub, GitLab).
We have also removed the automatic upgrade feature of the Flow Director Platform itself. This mechanism is not typically used in enterprise environments, and automatically replacing a GraalVM release is complex and error-prone.
Instead, a simple upgrade script is now provided with each new release. It can be invoked as:
upgrade [-q] <old fd install dir>
This script copies all necessary files from the old release to the new one. After running it, simply start the new release—all apps and licenses will already be in place.
For Docker installations, nothing changes: just pull the new image, update your configuration if necessary, and restart the container.
Major Refactoring
Both the Flow Director frontend (UI) and the server have undergone major refactoring.
For the frontend, you will not notice any visual differences—the design remains the same. However, numerous hidden bugs have been fixed, and the underlying frameworks have been cleaned up and upgraded.
Previously, the Flow Director server sometimes exhibited non-deterministic behavior when routers connected or disconnected. Synchronizing the server state (apps and flows) with a router was handled via request/reply mechanisms with retries. These could eventually time out, leaving the app in an inconsistent state. Additionally, each flow action was initiated sequentially from the server, waiting for replies, which led to long deployment times.
This entire synchronization process has been redesigned in this release with a Batch Deployment Architecture.
Now, when a router connects, the Flow Director server pushes a SwiftMQ Stream named appdeployer.js to the router. This stream supervises app deployment on that router and coordinates deployments locally. Installed apps simply send a single deployment batch to appdeployer.js, containing all actions required to create the desired app state.
This new approach is reliable, fire-and-forget, and significantly faster than the previous server-side coordination model.
Bug
SWIF-133 FD: Ensure the SSO URL is reset to null after Azure SSO App has been deinstalled
SWIF-258 [BUG] Validation not triggered after paste operations
SWIF-259 [BUG] Explorer app not displaying by default for users
SWIF-260 [BUG] Dashboard background color not saving
SWIF-261 [BUG] Canvas background and grid not displaying
SWIF-262 [BUG] Tooltip display broken for chart components
SWIF-263 [BUG] Paper scroller visibility issues in editor/viewer
SWIF-264 [BUG] TypeError in dashboard editor mounted hook
SWIF-265 [BUG] Status card rendering failure in dashboard
SWIF-266 [BUG] Duplicate routers appearing in flow orchestrator
SWIF-267 [BUG] Missing flow param error not displaying
SWIF-268 [BUG] Fit-to-screen button not working in flow editor
SWIF-269 [BUG] Canvas validation errors on missing elements
SWIF-270 [BUG] SetupButton component syntax error
SWIF-271 [BUG] FlowsCrud component registration error
SWIF-272 [BUG] Monitor messages showing duplicate keys
SWIF-233 [BUG] Fix MapMessage Body Reading
SWIF-237 [BUG] Fix flowdeployer.js to Use Shared Repository Path
Task
SWIF-114 Create Upgrade script for FD that replaces auto upgrade of FD Platform
SWIF-116 Admin tables (Users, etc) sortable over all columns
SWIF-214 Upgrade to GraalVM CE 25.0.1 (JDK 25 LTS)
SWIF-219 Implement Batch Deployment Core Architecture
SWIF-225 Implement ListFlowHandler
SWIF-226 Implement Router-Side Listflow Handler
SWIF-232 Implement Fire-and-Forget App Deletion
SWIF-234 Implement Fire-and-Forget App Installation
SWIF-235 Implement migrateShellStreams() Function
SWIF-236 Integrate Migration into handleAppSync()
SWIF-243 Enhance flowdeployer.js with Dual Input Support
SWIF-244 Implement ActionBundler Component
SWIF-245 Implement RouterQueue Component
SWIF-246 Implement SwiftMQVerticle RouterQueue Lifecycle Management
SWIF-247 Implement Router-Side appdeployer.js Processor
SWIF-248 Update FlowAutomator to Use ActionBundler
SWIF-222 Migrate Shell Stream Repository Paths
SWIF-223 Implement Listflow Integration
SWIF-224 Implement App Lifecycle Management
SWIF-250 Retired Functionality
SWIF-113 Remove auto update feature of FD Platform
SWIF-276 Remove app import/export functionality
SWIF-277 Remove flow/dashboard import/export options
SWIF-278 Remove flow password locking feature
SWIF-279 Remove install from app library option
SWIF-280 Remove upgrade and release check functionality
SWIF-281 Remove auto-layout button from flow editor
SWIF-282 Remove owner columns from orchestrators
SWIF-253 Code Cleanup and Dependencies
SWIF-273 Remove unused components and mixins
SWIF-274 Remove Lodash dependency
SWIF-275 Remove unused Git integration files
SWIF-254 Restructure Project Architecture
SWIF-283 Organize mixins into feature-based subfolders
SWIF-284 Refactor monitoring directory structure
SWIF-285 Rename and reorganize flow components
SWIF-286 Rename log panel components and update references
SWIF-287 Move authentication and webapi to toolbar menu
SWIF-288 Update component imports to use src alias
SWIF-289 Restructure src directory to features-based architecture
SWIF-290 Extract toolbar to AppToolbar component
SWIF-257 Vue 2.7 Upgrade and Modernization
SWIF-255 Remove Vuex and Implement Custom Store
SWIF-299 Migrate viewer module to custom store
SWIF-300 Migrate flows module to custom store
SWIF-301 Migrate tags and snackbar modules to custom store
SWIF-302 Migrate explorer module to custom store
SWIF-303 Migrate dashboard editor to custom store
SWIF-304 Restore flow and dashboard setters UI
SWIF-305 Enable multi-select operations in orchestrators
SWIF-306 Show flow selection only for valid flows
SWIF-307 Require router selection for bulk actions
SWIF-256 Convert Mixins to Composables
SWIF-291 Convert utility mixins to composables
SWIF-292 Refactor canvas setup into functions with cleanup
SWIF-293 Convert flow editor mixins to composables
SWIF-294 Convert validation and monitoring mixins to composables
SWIF-295 Convert canvas-related mixins to composables
SWIF-296 Organize composables into feature directories
SWIF-297 Create tools for component wrapping and import aliasing
SWIF-309 Wrap Vue components with defineComponent