-
Notifications
You must be signed in to change notification settings - Fork 0
Data Flow Design Standards Design Standards
Article Type: Standard / Reference Audience: Solution Architects, Application Designers, Developers Module: Fuuz Platform - Data Flow Designer Applies to Versions: 2025.12+
Data Flow Design Standards define the mandatory requirements and best practices for deploying Data Flows in the Fuuz Platform. These standards ensure consistency across flow designs, provide inline documentation for future reference, increase efficiency of support by others, and track all changes for visibility. All standards must be completed prior to deploying a Data Flow to production environments.
Depending on the platform version, most of these validations may be automatically checked and prevent deployments. Violations of standards and requirements are acceptable while working on flows during development, but all violations must be resolved before requesting a production deployment.
These standards are established to:
- Improve the consistency of flow designs across the organization
- Provide inline documentation for future reference and knowledge transfer
- Increase the efficiency of support by others including Fuuz support teams
- Track all changes for visibility and audit compliance
- Ensure deployment readiness and production stability
- Enable effective troubleshooting through meaningful error log messages
Important: Violations of standards are acceptable while working on flows during development and testing. Always resolve all violations before requesting a production deployment. Automated validation checks in newer versions may prevent deployment if violations exist.
Data Flows in Fuuz consist of interconnected nodes that process data, integrate with external systems, and orchestrate business logic. Each flow follows a standard architecture pattern:
Event Trigger (Request/Data Change/Schedule)
↓
Conditional Filter (minimize executions)
↓
Context Setup (label all data)
↓
Business Logic Processing
↓
Integration Calls (if needed)
↓
Response/Completion
- Integration Flows: Bidirectional data synchronization between Fuuz and external systems (ERP, MES, etc.)
- Event-Driven Flows: Respond to data change events, Request-Response triggers, or scheduled events
- Business Logic Flows: Internal Fuuz data transformations and orchestration
- IIoT Flows: Edge Gateway communication for reading/writing PLC tags and sensor data
- Notification Flows: Alert generation and communication workflows
- Explicit Over Implicit: All nodes must have meaningful names and descriptions—no default naming allowed
- Context Hygiene: Maintain clean context with labeled variables; prune unnecessary data to control memory usage
- Error Handling: Every Request flow must have at least one Response node
- Performance Awareness: Minimize broadcasts and forks; filter data changes early to reduce executions
- Documentation First: Flows, versions, and nodes must be documented before deployment
- ERP Integration: Bidirectional synchronization of products, customers, locations, work orders, and inventory between Fuuz and NetSuite, Plex, SAP, or other ERP systems
- Real-Time Data Change Processing: Automatically propagate Fuuz data changes to external systems using data change event triggers with immediate conditional filtering
- Scheduled Data Synchronization: Daily, hourly, or custom schedule-based imports/exports of master and transactional data
- Work Order Automation: Prepopulate work order process records from default product strategy processes when work orders are created
- IIoT Data Collection: Read multiple PLC tags simultaneously from Edge Gateways for production monitoring and control
- Notification Workflows: Generate and route alerts based on production events, quality issues, or business rule violations
- Data Transformation: Complex JSONata transformations for mapping external data structures to Fuuz data models
- Pagination Handling: Process large datasets using topic publishing/subscribing patterns for efficient memory management
- API Orchestration: Coordinate multiple API calls with proper error handling and retry logic
- Badge In/Out Workflows: Time tracking and labor management flows responding to operator badge events
Properly naming the flow is vital. Use the following format:
{#1 Primary Fuuz Object} {#2 direction or verb(s)} {#3 External Platform} {#4 Name of Primary External Object} {#5 Event Type}
| Component | Description | Examples |
|---|---|---|
| #1 Primary Fuuz Object | The primary Fuuz data model being pulled from or pushed into | Locations, Facilities, WorkOrder, Products, Customers |
| #2 Direction or Verb | From, To, or action verbs | From, To, Badge In/Out, Workcenter Mode |
| #3 External Platform | External system name; include (API) if using API vs native connector | NetSuite, Plex, Plex (API), QuickBooks, RedZone |
| #4 External Object Name | Only required if external object name differs from Fuuz object | Bins, Location, Ledger, Processes |
| #5 Event Type | Currently only required for data change events | on Data Change |
- Locations From NetSuite Bins - Standard integration sending locations to Fuuz from NetSuite's list of Bins
- Locations To NetSuite Bins on Data Change - Standard integration sending locations to NetSuite's Bins from Fuuz when updates are captured with data change events
- Facilities from NetSuite Locations - Integration from NetSuite highlighting that Fuuz objects do not line up with NetSuite objects
- WorkOrder Process Defaults From Fuuz Default Product Strategy Processes on Data Change - Flow prepopulates WorkOrder Process records with a copy from default Product Strategy Process tables on data change event (specifically the add event)
Important: Important Distinction — Plex and Plex (API) are very different sources. Always specify whether using native connector or API integration. Renaming a flow doesn't change the flow's ID. If you need to rename a flow, you must export the contents into an empty flow with the new name.
Every flow must have a meaningful description including:
- What the flow does (overall purpose)
- Which connections are used
- Overall summary of the workflow
Every version must have a description of the changes being made. When making additional changes after setting the initial description, update it to reflect all changes in that version.
Every node must have a meaningful description.
Critical: There are NO exceptions to the node description requirement. Every single node in every flow must be documented with a meaningful description.
Every flow must have a walkthrough. Every walkthrough must include all nodes in a logical order. The walkthrough is used during the review and deployment process.
Important: The configured walkthrough is stored directly inside the flow. Save the flow after configuring the walkthrough to ensure the walkthrough persists.
- All nodes must have a unique and meaningful name (error log messages must be useful for troubleshooting)
- Nodes cannot use the default name even if that name is unique
- All nodes with a connection on the left side must be connected to another node
- No orphaned or disconnected nodes allowed in deployed flows
- Descriptions are important; use them to highlight specific test cases
- Test cases are required to prove the testing prior to deployment
- Document expected values and validation criteria in debug node descriptions
- Remove or disable debug nodes before production deployment if they impact performance
- Be descriptive in the conditional expressions
- Avoid double negatives (example:
$not(false)) in conditional logic - Use If/Else in most situations, even if the else condition goes nowhere
- Exception: If the If/Else recommendation results in a double negative to continue on a true path, consider using the else path instead
Label everything in context with a wrapping variable:
- Never set or merge context with a transform that is just
$ - Use
{plexResponse: $}instead of$ - Always wrap response data with meaningful variable names
// WRONG - No context labeling
$
// CORRECT - Properly labeled context
{
"plexResponse": $,
"timestamp": $now(),
"processedCount": $count(items)
}- If the context has unnecessary data, prune it prior to storage
- If the context is large and no longer needed, remove it
- Minimize context size before forks and broadcasts
Important: Context is shared with each node downstream. Forks and broadcasts will significantly increase memory usage by a factor equal to the number of concurrent transactions. It is very important to keep a clean context with only what you need during these situations.
Important: Broadcasts are dangerous. In most cases, there is another way to solve the problem. Due to the nesting limitations of a flow, broadcasting quickly consumes resources and will cause errors. Avoid broadcasts whenever possible and use alternative patterns like topic publishing/subscribing.
- Use topic publishing and subscribing instead of broadcasts for pagination
- Minimize use of fork nodes when possible
- Consider sequential processing over parallel when memory is a concern
- Document any necessary broadcasts with justification
All flows with a Request node must have at least one Response node. This ensures proper completion of request-response cycles and prevents hung requests.
Data Changes can trigger a lot of flows. They should be followed immediately by a conditional statement to reduce executions and filter to only relevant events (add, update, delete).
Data Change Event Node
↓
Conditional: Check event type and specific field changes
↓ (true path only)
Continue processing
Topics, publishing, and subscribing are the preferred methods of handling pagination for large data sets. This pattern prevents memory exhaustion and supports efficient batch processing.
The name of the integration node must indicate what it is calling:
- Example: "Calling Plex DS - POs_Get (key:12345)"
- Include system name, data source/endpoint, and key identifiers
The description of the integration node must include the parameters and a description of the intent:
- Example: "Pulling POs with status of Open"
- Document filter criteria, expected response format, error handling approach
- Use of
$integrate()is highly discouraged in transforms—it will most likely be deprecated - The intent is to make all outbound calls pink in color for easier reference
- It is highly recommended that a native node is used over the HTTP node
- Example: Avoid using HTTP to call Salesforce unless the Salesforce node does not meet the need
- Native connector nodes provide better error handling, retry logic, and debugging visibility
Note: Best Practice — Communication with the Edge Gateway can be time consuming. It is a Best Practice to verify that tag reads (triggered by a flow) read multiple tags at once rather than making individual requests for each tag. Batch tag reads significantly improve performance and reduce gateway load.
- Group related tag reads into single requests
- Minimize polling frequency for non-critical data
- Use Edge Gateway subscriptions for real-time data when available
- Document tag addresses and data types in node descriptions
- Fuuz Industrial Operations Platform
- Data Flow Designer Documentation
- Data Flow Node Reference
- JSONata Expression Language Guide
- Integration Connector Documentation
- Edge Gateway Configuration
- Data Flow Deployment Process
- Issue: Deployment blocked due to naming violations • Cause: Nodes using default names or non-unique names • Fix: Review all nodes in flow; rename any nodes with default names to meaningful descriptive names; verify all node names are unique within the flow
- Issue: Deployment blocked due to missing descriptions • Cause: Nodes without descriptions; flow without description; version without change description • Fix: Add meaningful descriptions to every node explaining what it does; add flow description with purpose and connections used; add version description detailing changes made
- Issue: Flow consuming excessive memory or crashing • Cause: Context bloat with unnecessary data; broadcasts multiplying context across concurrent executions • Fix: Add context pruning nodes before forks/broadcasts; remove unnecessary data from context; use topic publishing instead of broadcasts; minimize data stored in context to only what's needed
- Issue: Error logs not helpful for troubleshooting • Cause: Generic or default node names • Fix: Rename all nodes with specific meaningful names that indicate their purpose; include key identifiers in node names (system name, endpoint, action)
- Issue: Data change flow executing too frequently • Cause: No conditional filter immediately after data change event • Fix: Add conditional node immediately after data change event node; filter for specific event types (add/update/delete); filter for specific field changes; document filtering logic in conditional description
- Issue: Request flow not completing properly • Cause: Missing response node • Fix: Ensure every Request node flow has at least one Response node; verify all execution paths lead to a response; add error handling responses for failure scenarios
-
Issue: Context variables getting overwritten or lost • Cause: Using
$instead of labeled wrapper variables • Fix: Always wrap context data with meaningful variable names like{plexResponse: $}; never set context to just$; use descriptive variable names that indicate data source and purpose -
Issue: Integration calls failing with unclear errors • Cause: Using
$integrate()in transforms or generic HTTP nodes • Fix: Replace$integrate()calls with dedicated integration nodes; use native connector nodes instead of HTTP when available; document integration parameters and expected responses in node descriptions - Issue: Edge Gateway timeouts or slow performance • Cause: Reading tags individually instead of batching • Fix: Consolidate multiple tag reads into single batch requests; group related tags together; reduce polling frequency for non-critical tags; use subscriptions for real-time data
- Issue: Unable to find flow or understand its purpose • Cause: Poor flow naming or missing walkthrough • Fix: Rename flow following standard format: {Fuuz Object} {direction/verb} {External Platform} {External Object} {Event Type}; create comprehensive walkthrough including all nodes in logical order; save flow after configuring walkthrough
- Issue: Flow walkthrough not persisting • Cause: Flow not saved after configuring walkthrough • Fix: Always save the flow after configuring or modifying the walkthrough; walkthrough configuration is stored directly in the flow JSON
-
Issue: Double negative logic making conditionals confusing • Cause: Using If/Else when else path should be the primary logic • Fix: If If/Else creates double negative (
$not(false)), flip the logic and use the else path as the primary path instead; simplify conditional expressions to positive logic whenever possible
| Version | Date | Editor | Description |
|---|---|---|---|
| 1.0 | 2024-12-31 | Fuuz Documentation Team | Initial Release - Data Flow Design Standards |
- Applying-SOLID-Principles-in-Fuuz
- Data-Model-Schema-Design-Standards
- Edge-Gateway-Flows
- Data-Management-Overview
Source: support.fuuz.com
Getting Started (14)
- Access Field Level Help within the Fuuz Platform
- Field-Level Help
- Fuuz Platform 101: Low/No-Code Technology in Manufacturing
- Fuuz Platform Architecture
- Getting to Know the Fuuz Platform
- Logging into Fuuz – Cloud Access
- Manage what displays in Field Level Help throughout Fuuz
- Recovering Your Fuuz Account
- Sharing A Page
- Switching Between Apps in Fuuz
- Switching between Fuuz Environments (Build, QA, Production)
- Trouble Logging Into Fuuz
- Unique Email Plus Addressing
- Welcome To Industry Accelerators!
Training Guides (52)
Applications
- Brand and Configure Your Application
- Create an Application
- Deactivate (Retire) an Application
- Find Pages Beyond the Left Menu
- Install a Fuuz Package
- Navigate the Application Designer
- Retire an Application
Access & Users
- Approve Access Requests
- Approve Application Access Requests
- Configure the Internal Password Policy
- Create a Role
- Create an API Key
- Deactivate and Reactivate a User
- Grant Permissions with Policies
- Investigate Login Activity
- Invite a User to an Application
- Manage App Users
- Request Access to an Application
- Switch Applications, Roles, and Environments
- Understand Developer Access
- Understand Web Access
- Use the User Menu (Profile, Theme, and More)
Data Models & Schema
- Add a Custom Field
- Create a Data Model
- Create a Sequence
- Design Model Fields in the Schema Designer
- Relate Two Data Models
Screens
Weather Lookup Series — guided 3-part build
- Part 1 · Build the Screen (Beginner)
- Part 2 · Store the Readings (Intermediate)
- Part 3 · Watched Locations & Scheduled Capture (Advanced)
Data Flows & Integrations
- Call an External API with a Flow
- Connect to External Systems
- Create a Data Flow
- Create a Notification Channel
- Create a Webhook
- Save Queries, Scripts, and Data Mappings
- Schedule a Data Flow
- Use the Script Editor
Data, Reporting & Monitoring
- Browse Data with Data Explorer
- Build a Document (Report or Label)
- Check Component References
- Create Configuration Records (Modules, Units, Calendars, and More)
- Explore the GraphQL API
- Export Data
- Import Data into an Application
- Investigate Application Logs
- Save an Export Configuration
- Trace a Data Change
Enterprise & Organizations
Platform Concepts & Architecture (10)
- Bridging the Red and Blue Data Divide - How Fuuz Became the First Industrial Platform to Merge Operational and Business Intelligence
- Claude AI Skills for the Fuuz Platform
- Cool Things we built with Fuuz Episode 1 12.5.2025 (Public)
- Differences between MES and ERP from an ERP Consultant Eric Kimberling
- Fuuz can be your "Connected Worker Platform"
- Listen and Learn what MES is and what makes it unique
- Manufacturers struggle with Build versus Buy for their MES and what are the Core 4 Elements
- Stock Price Application
- Why All Manufacturers Build their MES System Part 1
- Why All Manufacturers Build their MES System Part 2
Screens & Application Design (17)
- Application Designer Guide
- Array Input
- Combobox
- Dynamic Field Configurations
- Fuuz Deployment Methodologies
- Fuuz Form Detail Screen Specification
- Historical Data Table Screen Design Standard
- JSON
- JSON Form Fields in Action Steps
- JSON Schema Inputs
- Master Data Table Screen Design Standard
- Mobile Screen Design Standard
- Screen Context Container
- Screen Generation (AI) Flow Template V1.5.1
- Setup Data Table Screen Design Standard
- Table Column Conditional Formatting
- Transform Data in a Column
Data Models & Schema (8)
Data Flows & Scripting (51)
Designing Flows
- Data Flow Design Standards
- Data Flow Logs
- Debugging and Testing our Fuuz Data Flows
- Flow Schedules
- Fuuz Data Flows enable DataOps at Scale, ETL, iPaaS and more
- How to Create APIs Using Data Flows in Fuuz
- How To General E-Commerce Integrations using Data Flows in Fuuz iPaaS
- How to Setup a daily file import using Fuuz Data Flows
- Managing Large Datasets in Fuuz: Data Flow Engine Performance Optimization
- The Power of Data Flows - Unlocking Industrial Intelligence with Fuuz
- Using Fuuz with FTP integrations and Data Flows iPaaS
Data Flow Nodes
- Data Flow Nodes Reference
- Debugging & Context Nodes
- Flow Control Nodes
- Fuuz Platform Nodes
- IIoT & Gateway Nodes
- Integration Nodes
- Notification Nodes
- Source & Trigger Nodes
- Transform Nodes
JSONata Reference
- Aggregation Functions
- Array Functions
- Boolean Functions
- Boolean Operators
- Comparison Operators
- Composition
- Construction
- Constructs
- Custom Fuuz Only JSONata Library
- Date Time Functions
- Date Time Processing
- Expressions
- Fuuz Bindings: $predicateFilter
- Higher Order Functions
- Jsonata Tutorial
- Numeric Functions
- Numeric Operators
- Object Functions
- Other Operators
- Path Operators
- Predicate Expressions
- Processing Model
- Regex
- Simple Queries
- Slow Transform Performance: JSONata vs JavaScript Optimization Guide
- Sorting Grouping and Aggregation
- String Functions
Scripting
Integrations & Connectors (30)
General & iPaaS
- API Keys
- Cloud Connectors - Complete Reference Guide
- Connecting a CRM with your ERP using Fuuz
- Connecting a Vending Machine to your ERP system using Fuuz
- Creating a Scheduled Integration & Sending a CSV File in an Email
- Debug a NetSuite SOAP API integration
- Fuuz Connections help you integrate your Systems and Devices
- Fuuz has lists of Connectors and Drivers you can use
- Fuuz has pre-built integration Connectors
- How to create a check an ODBC connection with another system
- How to Create a RESTful API Using the Fuuz Platform
- How to create a simple Integration and Store data in Fuuz
- How To Design or Configure Policies and Policy Groups for my App in Fuuz
- How to Integrate Fuuz with another product or another API
- How to Integrate with an HR system like ADP using Fuuz iPaaS
- How to use API Explorer and GraphQL to Query Data in Fuuz for Beginners
- How you Integrate your ERP with your MES
- Industry 3 and Industry 4 differences in ERP and MES Integrations
- Integrated Carrier Package
- Make REST-Based Calls With An API Key
- Policy Groups
- System connectivity validation - testing a connection when your 3rd party moves its hosting
- Using Fuuz as an iPaaS to Connect - to an API, Collect - Data from the API, Store - that data in Fuuz tables
Plex
- How to connect using Plex UX datasources from Fuuz iPaaS
- How to integrate with Plex Classic using Fuuz iPaaS
- How to Setup and Connect to Plex APIs
EDI
IIoT & Edge Gateway (18)
- Edge Connections: Complete Industrial Integration Reference
- Edge Gateway Flows
- Edge Gateway Installation Step-by-Step
- Edge to Cloud Infrastructure
- Gateway Deployment & Architecture
- Gateway System Requirements
- How IIoT fits into the Industrial Data "Stack"
Physical Device Connectors
- Connecting To Kepware OPCUA Server
- Fanuc Robot Connectivity using Edge Gateway
- HMI Template Standard - ISA-101 Compliant
- How to connect OPC/UA simulator to the Edge Gateway
- Modbus TCP
- MQTT
- Omron PLC/HMI NX102 Connectivity with Edge Gateway
Edge Data Connectors
Reporting, Documents & Dashboards (8)
- Building a Non-Conformance Report (NCR) Application in Fuuz
- Create responsive structured dashboard layouts using the Grid Container and Grid Cell components
- How to add visualizations (charts and graphs) to reports in Fuuz for Beginners
- How to build real-time reports in Fuuz from scratch for Beginners
- How to modify existing reports in Fuuz for Beginners
- Non-Conformance Report Accelerator
- Printing Documents
- Printing Documents From Fuuz
Administration & Access Control (27)
- Access Control
- Access Requests
- Access Requests: Overview
- Access Type Overview
- Access Types
- Add Users to Fuuz Apps
- App Admin Access
- App Management
- App Users
- Applications (Tenants)
- Authentication Events
- Change a User's Access Type
- Configurations
- Create Users and Set Access Type
- Enterprise Admin Overview
- Enterprise Users
- Enterprise Users vs Access Requests
- How To Login to your Fuuz Enterprise - Non Single Sign On
- How To Login to your Fuuz Enterprise - Single Sign On
- Identity Providers
- Notifications
- Notifications
- Organizations
- Roles
- Settings
- Switching my active Role within Fuuz
- Troubleshooting User Login Errors Due to Identity Provider Misconfiguration
Data Management (8)
Accelerators, Templates & Packages (8)
- Create a Quality Batch Golden Record Analysis Tool in Fuuz
- Fuuz Developer 101 Bootcamp - 2026 Schedule & Enrollment
- Fuuz Developer 101 Bootcamp - Program Overview
- Fuuz Industry Accelerators - Installation & Best Practices
- Fuuz Industry Accelerators - Overview
- How-To: Managing Green/Blue Deployments with Fuuz Package Management Zero-Downtime
- Model Agnostic Scheduling System APS
- Setting up In-House Fuuz
Design Standards (1)
How-To Guides (8)
- Connecting to Fuuz from a remote system to execute a Fuuz API
- Connecting to Fuuz from a remote system to execute a Fuuz API - Extended Features Part 2
- Data Mapping
- Document your Application using Atlassian Confluence and our Pre-Built App
- Fuuz Platform Capabilities
- How to add multiple data records to the Fuuz database with a single API call
- How to on Best Practices for Designing Flows in Fuuz
- Using the Transformation Explorer
FAQ & Troubleshooting (1)
Release Notes (117)
2026
- 2026.1 (January 2026)
- 2026.2 (February 2026)
- 2026.3 (March 2026)
- 2026.4 (April 2026)
- 2026.5 (May 2026)
- 2026.6 (June 2026)
2025
- 2025.1 (January 2025)
- 2025.10 (October 2025)
- 2025.11 (November 2025)
- 2025.12 (December 2025)
- 2025.2 (February 2025)
- 2025.4 (April 2025)
- 2025.5 (May 2025)
- 2025.6 (June 2025)
- 2025.7 (July 2025)
- 2025.8 (August 2025)
- 2025.9 (September 2025)
2024
- 2024.1 (January 2024)
- 2024.10 (October 2024)
- 2024.11 (November 2024)
- 2024.12 (December 2024)
- 2024.2 (February 2024)
- 2024.3 (March 2024)
- 2024.4 (April 2024)
- 2024.5 (May 2024)
- 2024.6 (June 2024)
- 2024.7 (July 2024)
- 2024.8 (August 2024)
- 2024.9 (September 2024)
2023
- 2023.5 (May 2023)
- 2023.1 (January 2023)
- 2023.10 (October 2023)
- 2023.11 (November 2023)
- 2023.12 (December 2023)
- 2023.2 (February 2023)
- 2023.3 (March 2023)
- 2023.4 (April 2023)
- 2023.6 (June 2023)
- 2023.7 (July 2023)
- 2023.8 (August 2023)
- 2023.9 (September 2023)
2022
- 2022 Q1 Fuuz Package Updates (03/11/2022)
- 2022 Q1 Fuuz Release Notes v3.87.0 (03/17/2022)
- 2022 Q1 MFGx Release Notes v3.78.0 (01/06/2022)
- 2022 Q1 MFGx Release Notes v3.79.0 (01/13/2022)
- 2022 Q1 MFGx Release Notes v3.80.0 (01/20/2022)
- 2022 Q1 MFGx Release Notes v3.81.0 (01/27/2022)
- 2022 Q1 MFGx Release Notes v3.82.0 (02/03/2022)
- 2022 Q1 MFGx Release Notes v3.83.0 (02/10/2022)
- 2022 Q1 MFGx Release Notes v3.85.0 (02/28/2022)
- 2022 Q2 Fuuz Release Notes v3.90.0 (04/14/2022)
- 2022 Q2 Fuuz Release Notes v3.91.0 (04/21/2022)
- 2022 Q2 Fuuz Release Notes v3.92.0 (04/28/2022)
- 2022 Q2 Fuuz Release Notes v3.93.0 (05/06/2022)
- 2022 Q2 Fuuz Release Notes v3.94.0 - v3.97.0 (June 13, 2022)
- 2022 Q2 Fuuz Release Notes v3.98.0 (06/16/2022)
- 2022 Q2 Fuuz Release Notes v3.99.0 (06/30/2022)
- 2022 Q3 Fuuz Release Notes v3.100.0 🎉 (07/06/2022)
- 2022 Q3 Fuuz Release Notes v3.101.0 (07/21/2022)
- 2022 Q3 Fuuz Release Notes v3.102.0 (08/11/2022)
- 2022 Q3 Fuuz Release Notes v3.103.0 (08/18/2022)
- 2022 Q4 Fuuz Release Notes v3.107.0 - v3.109.0 (10/27/2022)
2021
- 2021 Q1 MFGx Release Notes v3.29.0 (1/7/2021)
- 2021 Q1 MFGx Release Notes v3.30.0 (1/14/2021)
- 2021 Q1 MFGx Release Notes v3.34.0 (2/4/2021)
- 2021 Q1 MFGx Release Notes v3.37.0 (2/26/2021)
- 2021 Q1 MFGx Release Notes v3.38.0 (3/5/2021)
- 2021 Q1 MFGx Release Notes v3.40.0 (3/25/2021)
- 2021 Q1 MFGx.io Release Notes v3.32.0 (1/21/2021)
- 2021 Q1 MFGx.io Release Notes v3.33.0 (1/28/2021)
- 2021 Q2 MFGx Release Notes v3.41.0 (4/1/2021)
- 2021 Q2 MFGx Release Notes v3.42.0 (4/8/2021)
- 2021 Q2 MFGx Release Notes v3.43.0 (4/16/2021)
- 2021 Q2 MFGx Release Notes v3.44.0 (4/22/2021)
- 2021 Q2 MFGx Release Notes v3.45.0 (4/29/2021)
- 2021 Q2 MFGx Release Notes v3.47.0 (5/13/2021)
- 2021 Q2 MFGx Release Notes v3.48.0 (5/20/2021)
- 2021 Q2 MFGx Release Notes v3.48.0 (5/27/2021)
- 2021 Q2 MFGx Release Notes v3.50.0 (6/03/2021)
- 2021 Q2 MFGx Release Notes v3.51.0 (6/10/2021)
- 2021 Q2 MFGx Release Notes v3.52.0 (6/17/2021)
- 2021 Q2 MFGx Release Notes v3.54.0 (6/28/2021)
- 2021 Q3 Fuuz Release Notes v3.58.0 (7/22/2021)
- 2021 Q3 MFGx Release Notes v3.55.0 (7/1/2021)
- 2021 Q3 MFGx Release Notes v3.60.0 (8/5/2021)
- 2021 Q3 MFGx Release Notes v3.61.0 (8/17/2021)
- 2021 Q3 MFGx Release Notes v3.62.0 (8/19/2021)
- 2021 Q4 MFGx Release Notes v3.68.0 (10/8/2021)
- 2021 Q4 MFGx Release Notes v3.69.0 (10/14/2021)
- 2021 Q4 MFGx Release Notes v3.70.0 (10/21/2021)
- 2021 Q4 MFGx Release Notes v3.71.0 (10/28/2021)
- 2021 Q4 MFGx Release Notes v3.72.0 (11/04/2021)
- 2021 Q4 MFGx Release Notes v3.73.0 (11/11/2021)
- 2021 Q4 MFGx Release Notes v3.74.0 (11/19/2021)
- 2021 Q4 MFGx Release Notes v3.75.0 (12/02/2021)
- 2021 Q4 MFGx Release Notes v3.76.0 (12/09/2021)
- 2021 Q4 MFGx Release Notes v3.77.0: The Holiday Update (12/16/2021)
2020
- 2020 Q2 MFGx Release Notes v2.32.0 (4/9/2020)
- 2020 Q2 MFGx Release Notes v2.33.0 (4/16/2020)
- 2020 Q2 MFGx Release Notes v2.35.0 (4/30/2020)
- 2020 Q2 MFGx Release Notes v3.5.0 (6/18/2020)
- 2020 Q2 MFGx Release Notes v3.6.0 (6/25/2020)
- 2020 Q2 MFGx.io Release Notes v2.32.0 (4/9/2020)
- 2020 Q3 MFGx Release Notes v3.10.0 (7/23/2020)
- 2020 Q3 MFGx Release Notes v3.11.0 (7/30/2020)
- 2020 Q3 MFGx Release Notes v3.13.0 (8/13/2020)
- 2020 Q3 MFGx Release Notes v3.17.0 (9/21/2020)
- 2020 Q3 MFGx Release Notes v3.7.0 (7/6/2020)
- 2020 Q3 MFGx Release Notes v3.8.0 (7/9/2020)
- 2020 Q4 MFGx Release Notes v3.20.0 (10/13/2020)
- 2020 Q4 MFGx Release Notes v3.21.0 (10/15/2020)
- 2020 Q4 MFGx Release Notes v3.22.1 (10/22/2020)
- 2020 Q4 MFGx Release Notes v3.23.0 (11/5/2020)
- 2020 Q4 MFGx Release Notes v3.24.0 (11/12/2020)
- 2020 Q4 MFGx Release Notes v3.26.0 (12/3/2020)
- 2020 Q4 MFGx Release Notes v3.27.0 (12/10/2020)
- 2020 Q4 MFGx Release Notes v3.28.0 (12/17/2020)