[{"data":1,"prerenderedAt":1211},["ShallowReactive",2],{"blog-\u002Fblog\u002F2026\u002F02\u002Fmqtt-vs-coap":3,"featureCatalog":281,"changelog-titles":676,"blog-all-for-related":1210},{"id":4,"title":5,"authors":6,"body":8,"cta":254,"date":258,"description":259,"extension":260,"features":261,"image":262,"lastUpdated":263,"meta":264,"navigation":270,"path":271,"release":261,"seo":272,"sitemap":273,"stem":274,"subtitle":275,"tags":276,"tldr":279,"video":261,"__hash__":280},"blog\u002Fblog\u002F2026\u002F02\u002Fmqtt-vs-coap.md","MQTT vs CoAP: Measure Your Constraints or Pick Wrong",[7],"sumit-shinde",{"type":9,"value":10,"toc":234},"minimark",[11,15,18,21,24,29,32,35,38,41,45,48,53,56,59,62,65,68,72,75,78,81,84,88,91,94,97,101,104,108,111,114,117,120,123,127,130,133,136,140,143,146,149,153,156,159,162,166,169,172,175,178,181,185,188,191,194,197,200,203,206,209,228,231],[12,13,14],"p",{},"The MQTT vs CoAP debate is mostly noise. One protocol assumes you have infrastructure and want centralized coordination. The other assumes you don't and can't. If you're still debating which is \"better,\" you haven't measured what matters.",[12,16,17],{},"MQTT dominates because it solved the hard problem: coordinating thousands of devices through centralized brokers with persistent connections, pub\u002Fsub semantics, and delivery guarantees. CoAP survived because some deployments can't afford that solution, not as a tradeoff, but as a physical impossibility. Battery-powered sensors often can't afford long-lived TCP connections (or frequent reconnects), depending on duty cycle, radio, and power budget. Microcontrollers with 16KB RAM can't run MQTT stacks. Mesh networks at the edge can't reach brokers reliably.",[12,19,20],{},"These aren't competing protocols. They're answers to incompatible constraints. MQTT requires infrastructure you can reach and connections you can sustain. CoAP requires neither. Pick MQTT for constrained devices, and watch batteries drain in months instead of years. Pick CoAP for cloud-coordinated fleets, and rebuild pub\u002Fsub patterns badly.",[12,22,23],{},"This article shows what each protocol actually demands, where each fails under real constraints, and why teams consistently choose wrong, not because they pick inferior technology, but because they never validated their deployment requirements.",[25,26,28],"h2",{"id":27},"what-actually-separates-these-protocols","What Actually Separates These Protocols",[12,30,31],{},"To choose between CoAP and MQTT, you need to understand what these protocols do and what architectural assumptions they force on your system.",[12,33,34],{},"MQTT uses a publish\u002Fsubscribe model. Devices publish messages to topics. Other devices subscribe to those topics. A central broker handles routing, persistence, and delivery guarantees. This works well for many IoT scenarios: sensors broadcasting telemetry, commands flowing to actuators, aggregating data from thousands of devices into a single pipeline. The broker decouples publishers from subscribers, enabling flexible topologies and simplified client logic. But it also requires a mandatory intermediary, a single point that must be scaled, secured, and kept reliable.",[12,36,37],{},"CoAP uses a request\u002Fresponse model. It mirrors HTTP's client-server architecture but strips the overhead that makes HTTP unsuitable for constrained devices. CoAP runs over UDP by default, supports multicast discovery, and operates peer-to-peer without centralized infrastructure. Resources are addressed using URIs. Clients request data. Servers respond.",[12,39,40],{},"This isn't just a difference in wire format. It's a difference in architectural philosophy. MQTT assumes centralized coordination is beneficial. CoAP assumes it may not be necessary or even possible. That distinction shapes how these protocols behave under network failures, how they scale at the edge, and what happens when infrastructure becomes unreliable or unavailable.",[25,42,44],{"id":43},"where-coap-has-real-advantages","Where CoAP Has Real Advantages",[12,46,47],{},"CoAP's architectural choices create measurable benefits in three specific scenarios.",[49,50,52],"h3",{"id":51},"ultra-constrained-devices","Ultra-Constrained Devices",[12,54,55],{},"CoAP was built for devices with severe resource limits: sensors running on coin cell batteries for years, microcontrollers with kilobytes of RAM, networks where every transmission costs energy and money. In these environments, MQTT's TCP requirement and broker dependency create overhead that isn't just inefficient, it's prohibitive.",[12,57,58],{},"Consider the protocol overhead. An MQTT connection requires a TCP three-way handshake, then protocol negotiation. Even with minimal configuration, that's multiple round trips before any application data moves. For a sensor that wakes once per hour to send a temperature reading, this overhead destroys battery life.",[12,60,61],{},"MQTT-SN (MQTT for Sensor Networks) attempts to bridge this gap by adapting MQTT for UDP and removing the TCP requirement. While it reduces some overhead, it still requires gateway infrastructure to translate between MQTT-SN and standard MQTT brokers, preserving the centralized architecture that CoAP avoids entirely.",[12,63,64],{},"CoAP uses UDP, has tiny message headers (as small as 4 bytes), and operates without persistent connections. This makes it objectively more efficient. Field deployments of agricultural sensors, building automation, and environmental monitoring have demonstrated power consumption reductions of 40-60% when switching from MQTT to CoAP in ultra-constrained scenarios.",[12,66,67],{},"The math is straightforward: fewer transmissions, smaller packets, no connection state. When your device budget is measured in microwatts and your network budget in bytes per day, CoAP is often the only viable option.",[49,69,71],{"id":70},"edge-architectures-without-internet-connectivity","Edge Architectures Without Internet Connectivity",[12,73,74],{},"CoAP's advantages become more pronounced at the system level. As more processing moves to the edge for latency, bandwidth, or regulatory reasons, the value of a centralized broker decreases. Edge gateways coordinating local sensors, device-to-device communication in factories, deployments where internet connectivity is intermittent or absent, in these scenarios, CoAP's ability to work peer-to-peer without infrastructure is a genuine advantage.",[12,76,77],{},"Consider a factory floor with hundreds of sensors and actuators coordinating through a local gateway. With MQTT, every sensor-to-actuator interaction must route through the broker, even when both devices are physically adjacent. The broker becomes a mandatory hop, adding latency and creating a single point of failure.",[12,79,80],{},"With CoAP, devices communicate directly. The gateway can still aggregate and forward data to the cloud when needed, but local control loops operate independently. When the internet connection drops, local operations continue. When latency matters, safety interlocks in industrial equipment, eliminating the broker hop can mean the difference between meeting requirements and failing them.",[12,82,83],{},"This distinction matters even more in mobile or disconnected scenarios: autonomous vehicles coordinating with roadside infrastructure, offshore platforms where satellite bandwidth is expensive, emergency networks operating with degraded connectivity.",[49,85,87],{"id":86},"integration-with-web-infrastructure","Integration with Web Infrastructure",[12,89,90],{},"When distributed systems need to communicate with backend infrastructure, CoAP offers another benefit: it aligns with web semantics. CoAP deliberately mirrors HTTP: URIs, methods (GET, POST, PUT, DELETE), content negotiation, status codes. This means it integrates naturally with RESTful systems, web proxies, and developer tools built around HTTP.",[12,92,93],{},"For organizations already using REST APIs, CoAP presents a lower barrier than MQTT's topic-based model. HTTP-to-CoAP proxies are straightforward because the semantic models align. MQTT-to-HTTP bridges require significant translation. Topics must map to endpoints. QoS semantics must adapt. Pub\u002Fsub patterns must be forced into request\u002Fresponse or require additional infrastructure like webhooks.",[12,95,96],{},"None of this is impossible. Organizations bridge MQTT and HTTP successfully every day. But the mismatch is real and introduces complexity that CoAP avoids by design.",[25,98,100],{"id":99},"where-mqtt-still-dominates","Where MQTT Still Dominates",[12,102,103],{},"These CoAP advantages are real. But if we stop here, we miss the bigger picture. MQTT isn't being displaced, and the reason goes deeper than momentum. In most production IoT deployments, MQTT's architectural choices aren't limitations, they're features that solve problems CoAP cannot.",[49,105,107],{"id":106},"publishersubscriber-decoupling","Publisher\u002FSubscriber Decoupling",[12,109,110],{},"The pub\u002Fsub model is a fundamental decoupling mechanism that enables capabilities difficult or impossible with request\u002Fresponse.",[12,112,113],{},"Consider industrial telemetry. Thousands of sensors publishing measurements. Multiple backend systems consuming that data: a time-series database for analysis, a rules engine for alerts, a machine learning pipeline for predictive maintenance, a dashboard for operators.",[12,115,116],{},"With MQTT, adding a new consumer is trivial. Subscribe to the topics. The sensors don't know you exist. They don't need reconfiguration or firmware updates. The decoupling is complete.",[12,118,119],{},"With CoAP, this becomes complex. If sensors are servers, how do new clients discover them? If sensors are clients pushing data, where do they push? How do you add a destination without reconfiguring every device? You end up rebuilding what a broker provides, service discovery, routing, fan-out, but distributed across your device fleet instead of centralized in infrastructure you control.",[12,121,122],{},"This is why MQTT dominates cloud ingestion. When your architecture is about collecting data from many devices and distributing it to many consumers, the broker model is the right abstraction.",[49,124,126],{"id":125},"delivery-guarantees","Delivery Guarantees",[12,128,129],{},"The broker provides something CoAP struggles to match: robust delivery guarantees across unreliable networks.",[12,131,132],{},"MQTT's three QoS levels (at most once, at least once, exactly once) are fundamental guarantees many production systems require. CoAP, being UDP-based, offers optional confirmable messages with retransmission. This works for many scenarios, but it's not equivalent to MQTT's QoS 2 (exactly once delivery). If your application cannot tolerate duplicates, financial transactions, command-and-control, state machine updates, MQTT's exactly-once semantics are non-negotiable.",[12,134,135],{},"MQTT's QoS guarantees are end-to-end through the broker. Messages can persist to disk. Sessions resume after disconnection. Client state is maintained. This makes MQTT significantly more resilient to network instability and device mobility.",[49,137,139],{"id":138},"ecosystem-maturity","Ecosystem Maturity",[12,141,142],{},"These technical advantages are amplified by years of real-world deployment and community investment. MQTT has battle-tested brokers (Mosquitto, EMQX, HiveMQ, VerneMQ). Comprehensive client libraries in every language. Integration with major IoT platforms (AWS IoT Core, Azure IoT Hub) and widely used broker\u002Fvendor ecosystems. Monitoring tools, debugging utilities, best practices, and a large community that has solved common problems.",[12,144,145],{},"CoAP has matured significantly, but its ecosystem is smaller. This reflects where the use cases are. Cloud ingestion, telemetry aggregation, command and control, these patterns dominate IoT. CoAP's narrower focus on ultra-constrained devices and peer-to-peer edge scenarios means fewer developers encounter it, fewer tools get built, fewer problems get solved publicly.",[12,147,148],{},"Network effects matter. When MQTT is the default, more effort improves MQTT tooling, which makes MQTT more attractive, which reinforces its position.",[49,150,152],{"id":151},"session-state-and-message-queuing","Session State and Message Queuing",[12,154,155],{},"MQTT provides another capability CoAP implementers often underestimate: stateful session management.",[12,157,158],{},"MQTT's persistent sessions enable offline message queuing. If a device disconnects, battery dies, network drops, enters a tunnel, messages published to its subscribed topics get queued by the broker and delivered when it reconnects. This is invaluable for mobile devices, intermittently connected sensors, and scenarios where guaranteed delivery matters more than real-time delivery. Examples include fleet management tracking vehicles, medical devices uploading telemetry, and remote monitoring in areas with poor connectivity.",[12,160,161],{},"CoAP can implement message queuing, but it requires additional infrastructure, essentially building broker-like services for state management and persistence. At which point, you've rebuilt the pattern MQTT provides natively.",[25,163,165],{"id":164},"security-choose-based-on-what-you-can-measure","Security: Choose Based on What You Can Measure",[12,167,168],{},"MQTT and CoAP impose fundamentally different security architectures. MQTT's broker creates a centralized security choke point with TLS-protected connections, certificate-based authentication, and topic-level authorization. This simplifies policy enforcement and audit trails but introduces measurable overhead, a TLS handshake consumes 30-50% of total power for sensors transmitting hourly, prohibitive for ultra-constrained devices where battery life is measured in years.",[12,170,171],{},"CoAP distributes security across peer-to-peer networks. DTLS provides encrypted UDP communication with similar handshake costs to TLS. For constrained deployments, OSCORE enables application-layer security without connection establishment, reducing wake time by 60-80%. But this efficiency trades centralized control for distributed key management complexity that scales poorly without additional infrastructure.",[12,173,174],{},"The architectural trade-off is concrete: MQTT centralizes authentication and policy enforcement but requires broker infrastructure with power overhead. CoAP eliminates broker dependency but pushes authorization to individual devices, requiring distributed policy updates and log aggregation.",[12,176,177],{},"The most common security failure is choosing based on perceived simplicity rather than measured requirements. Teams select MQTT assuming TLS is well understood, then discover field batteries depleting in weeks. Teams choose CoAP to avoid broker dependency, then realize they cannot revoke compromised credentials without manual intervention across distributed devices.",[12,179,180],{},"Before choosing, measure connection establishment cost in actual power consumption for your device profile, operational cost of key management at your projected scale, and whether your compliance requirements favor centralized audit trails or distributed authorization. The right security model is the one that matches the operational reality you can actually sustain.",[25,182,184],{"id":183},"the-measurement-discipline-that-matters","The Measurement Discipline That Matters",[12,186,187],{},"What separates successful deployments from failed ones isn't choosing the \"better\" protocol. It's starting with measured constraints rather than architectural preferences.",[12,189,190],{},"The teams that ship working systems know their sensor consumes 12 microamps in sleep and 45 milliamps during transmission. A CR2032 battery provides 235 milliamp-hours. For three-year operation, the math reveals a daily transmission budget of roughly 200 messages. Protocol overhead becomes concrete. Connection establishment costs aren't theoretical, they determine whether you meet requirements or miss by months.",[12,192,193],{},"Teams that struggle start with vague requirements. \"Low power\" sounds reasonable until batteries die early in field trials. \"Real-time\" invites endless debate until you specify \"actuator response within 50 milliseconds for 99% of events.\" Precision transforms discussion into engineering.",[12,195,196],{},"If you need to decouple thousands of publishers from dozens of consumers with guaranteed delivery across unreliable networks, MQTT's broker model provides exactly that. The centralized architecture handles message routing, persistence, and quality of service.",[12,198,199],{},"If your constraint is battery operation where every transmission costs operational lifetime, and infrastructure cannot be deployed reliably, CoAP's lightweight UDP approach becomes necessary. TCP overhead and broker coordination would exceed your power budget.",[12,201,202],{},"If your system genuinely spans both contexts, use both protocols where each fits. The constraints will make this obvious.",[12,204,205],{},"Most failed projects share a common pattern. They selected protocols before measuring deployment reality. They assumed requirements without validation. They copied architectures without understanding the underlying trade-offs. Then field deployment revealed the gaps.",[12,207,208],{},"So before choosing between MQTT and CoAP, answer these with measured data:",[210,211,212,216,219,222,225],"ul",{},[213,214,215],"li",{},"What is your power budget per device?",[213,217,218],{},"What transmission frequency and payload size does your application require?",[213,220,221],{},"How does latency behave under network degradation?",[213,223,224],{},"During partitions, can operations continue locally or must activity queue?",[213,226,227],{},"What do infrastructure costs look like at production scale?",[12,229,230],{},"If you cannot answer with measurements, build a prototype. Instrument it. Run it under realistic conditions. Measure power, latency, and costs under stress. Then choose based on evidence, not assumptions.",[12,232,233],{},"The protocol debate becomes irrelevant once you measure. MQTT and CoAP each solve distinct problems well. Understand your constraints, and the choice becomes clear.",{"title":235,"searchDepth":236,"depth":236,"links":237},"",4,[238,240,246,252,253],{"id":27,"depth":239,"text":28},2,{"id":43,"depth":239,"text":44,"children":241},[242,244,245],{"id":51,"depth":243,"text":52},3,{"id":70,"depth":243,"text":71},{"id":86,"depth":243,"text":87},{"id":99,"depth":239,"text":100,"children":247},[248,249,250,251],{"id":106,"depth":243,"text":107},{"id":125,"depth":243,"text":126},{"id":138,"depth":243,"text":139},{"id":151,"depth":243,"text":152},{"id":164,"depth":239,"text":165},{"id":183,"depth":239,"text":184},{"type":255,"title":256,"description":257},"contact","Connect Any Protocol, at Any Scale","FlowFuse gives you enterprise Node-RED to build production IoT systems that work with MQTT, CoAP, or both. No rewiring your architecture, just reliable data flow at the scale you need.","2026-02-05","Learn whether MQTT or CoAP fits your IoT deployment. Learn how device constraints, power budgets, and network architecture determine the right protocol for reliable, efficient IoT systems.","md",null,"\u002Fblog\u002F2026\u002F02\u002Fimages\u002Fcoap-vs-mqtt.png","2026-06-19",{"keywords":265,"excerpt":266},"MQTT, CoAP, IoT protocols, constrained devices, edge computing, message broker, pub\u002Fsub, request\u002Fresponse, IoT architecture",{"type":9,"value":267},[268],[12,269,14],{},true,"\u002Fblog\u002F2026\u002F02\u002Fmqtt-vs-coap",{"title":5,"description":259},{"loc":271},"blog\u002F2026\u002F02\u002Fmqtt-vs-coap","The only protocol debate that matters is the one you measure.",[277,278],"flowfuse","mqtt","MQTT and CoAP are not competing protocols they solve incompatible constraints. MQTT excels at coordinating large fleets through centralized brokers with strong delivery guarantees, while CoAP's UDP-based, broker-free design is the only viable option for ultra-constrained devices where TCP overhead would destroy battery life. The right choice comes from measuring your actual power budget, transmission frequency, and infrastructure requirements rather than debating which protocol is abstractly better.","ml1VsfXQgKc1mijfafho1XEXRXqsWOrNLIHPRwizvwQ",{"id":282,"extension":283,"meta":284,"sections":285,"stem":674,"__hash__":675},"featureCatalog\u002Ffeature-catalog.yml","yml",{},[286,337,438,500,577,656],{"id":287,"title":288,"features":289},"ai-automation","AI & Automation",[290,300,310,320,326,332],{"id":291,"title":292,"description":293,"docsLink":294,"changelog":295,"tiers":299},"flowfuse-expert-ai","FlowFuse Expert AI","Build industrial apps with agents, and query the state of the factory with an agent. Adapt your current hardware and machines so agentic work can be done against them, without ripping and replacing what's already on the plant floor.","\u002Fdocs\u002Fuser\u002Fexpert\u002F",[296],{"url":297,"release":298},"\u002Fchangelog\u002F2026\u002F02\u002Fff-expert-update-banner\u002F","2.28",{"edge":270,"hub":270,"fleet":270},{"id":301,"title":302,"description":303,"docsLink":304,"changelog":305,"subfeature":270,"showOnPricing":308,"tiers":309},"flowfuse-expert-support-mode","Support Mode","Chat-based assistance for FlowFuse and Node-RED, including Node-RED instance management through natural language.","\u002Fdocs\u002Fuser\u002Fexpert\u002Fchat\u002F#support-mode",[306],{"url":307,"release":298},"\u002Fchangelog\u002F2026\u002F02\u002Fff-expert-debug-log-context\u002F",false,{"edge":270,"hub":270,"fleet":270},{"id":311,"title":312,"description":313,"docsLink":314,"changelog":315,"subfeature":270,"showOnPricing":308,"tiers":319},"flowfuse-expert-application-building","Application Building","Describe what you want to build and FlowFuse Expert assembles it on your workspace, adding tabs, wiring nodes, and configuring properties.","\u002Fdocs\u002Fuser\u002Fexpert\u002Fchat\u002F",[316],{"url":317,"release":318},"\u002Fchangelog\u002F2026\u002F05\u002Fexpert-application-building\u002F","2.30",{"edge":270,"hub":270,"fleet":270},{"id":321,"title":322,"description":323,"docsLink":324,"subfeature":270,"beta":270,"showOnPricing":308,"tiers":325},"flowfuse-expert-insights-mode","Insights Mode","Connects FlowFuse Expert to MCP servers in your Node-RED instances, enabling real-time data queries and actions through a single chat interface.","\u002Fdocs\u002Fuser\u002Fexpert\u002Fchat\u002F#insights-mode",{"edge":270,"hub":270,"fleet":270},{"id":327,"title":328,"description":329,"docsLink":330,"tiers":331},"mcp-servers","Agentic Operations","Expose your Node-RED flows as tools an AI agent can call directly, so agents can query the state of the factory or trigger actions without custom integration work.","\u002Fnode-red\u002Fflowfuse\u002Fmcp\u002F",{"edge":270,"hub":270,"fleet":270},{"id":333,"title":334,"description":335,"tiers":336},"onnx-integration","ONNX Integration","Run trained machine learning models directly in your flows, including on edge hardware, without sending data out to an external inference service.",{"edge":270,"hub":270,"fleet":270},{"id":338,"title":339,"features":340},"build","Build",[341,347,353,363,369,375,379,385,391,399,405,409,413,422,430],{"id":342,"title":343,"description":344,"docsLink":345,"tiers":346},"edge-development","Edge Development","Develop and test Node-RED flows directly on edge devices with a remote editor proxy.","\u002Fdocs\u002Fdevice-agent\u002Fquickstart\u002F",{"edge":270,"hub":308,"fleet":270},{"id":348,"title":349,"description":350,"docsLink":351,"tiers":352},"private-npm-registry","Custom Node-RED Nodes","Create and manage your own private npm registry for Node-RED nodes, so you can share custom nodes across your team and devices without publishing them publicly.","\u002Fdocs\u002Fuser\u002Fcustom-npm-packages\u002F",{"edge":270,"hub":270,"fleet":270},{"id":354,"title":355,"description":356,"docsLink":357,"changelog":358,"tiers":362},"flowfuse-tables","FlowFuse Tables","A managed PostgreSQL database for every application, so you can store and query structured data without standing up and maintaining your own database.","\u002Fdocs\u002Fuser\u002Fff-tables\u002F",[359],{"url":360,"release":361},"\u002Fchangelog\u002F2026\u002F07\u002Fexpert-tables-automation\u002F","2.33",{"edge":270,"hub":270,"fleet":270},{"id":364,"title":365,"description":366,"docsLink":367,"tiers":368},"persistent-files","File Storage","Store and retrieve files from your Node-RED flows, with automatic replication and backup across your devices and hosted instances.","\u002Fdocs\u002Finstall\u002Ffile-storage\u002F",{"edge":270,"hub":270,"fleet":270},{"id":370,"title":371,"description":372,"docsLink":373,"showOnPricing":308,"tiers":374},"persistent-context","Persistent Context","In-memory values defined in a Node-RED flow persist across project restarts and upgrades.","\u002Fdocs\u002Fuser\u002Fpersistent-context\u002F",{"edge":270,"hub":270,"fleet":270},{"id":376,"title":377,"showOnPricing":308,"tiers":378},"static-assets","Static Assets",{"edge":270,"hub":270,"fleet":270},{"id":380,"title":381,"description":382,"docsLink":383,"tiers":384},"team-library","Team Library","Set up standard nodes and flows that can be shared with all team members across your organisation.","\u002Fdocs\u002Fuser\u002Fshared-library\u002F",{"edge":270,"hub":270,"fleet":270},{"id":386,"title":387,"description":388,"docsLink":389,"tiers":390},"personalised-multi-user-dashboards","Personalised Multi-User Dashboards","Build applications that provide unique data to each logged-in user using personalised multi-user dashboards.","https:\u002F\u002Fdashboard.flowfuse.com\u002Fuser\u002Fmulti-tenancy.html",{"edge":270,"hub":270,"fleet":270},{"id":392,"title":393,"description":394,"changelog":395,"subfeature":270,"showOnPricing":308,"tiers":398},"dashboards-view","Dashboards View","Browse and open every dashboard across your team from a dedicated Dashboards view, at both team and application level, without leaving FlowFuse.",[396],{"url":397,"release":361},"\u002Fchangelog\u002F2026\u002F07\u002Fteam-and-application-dashboards\u002F",{"edge":270,"hub":270,"fleet":270},{"id":400,"title":401,"description":402,"docsLink":403,"tiers":404},"blueprints-converge","Blueprints","Ready-made starting points for your apps, from cross-team Converge templates to OT and IT specific blueprints.","\u002Fdocs\u002Fuser\u002Fconcepts\u002F#blueprint",{"edge":270,"hub":270,"fleet":270},{"id":406,"title":407,"subfeature":270,"showOnPricing":308,"tiers":408},"blueprints-ot-apps","Blueprints - OT APPS",{"edge":270,"hub":308,"fleet":270},{"id":410,"title":411,"subfeature":270,"showOnPricing":308,"tiers":412},"blueprints-it-apps","Blueprints - IT APPS",{"edge":308,"hub":270,"fleet":308},{"id":414,"title":415,"description":416,"changelog":417,"showOnPricing":308,"tiers":421},"immersive-editor-snapshots","Snapshot Details in Immersive Editor","View and manage snapshot details directly inside the immersive editor without leaving your editing session.",[418],{"url":419,"release":420},"\u002Fchangelog\u002F2026\u002F03\u002Fsnapshot-detail-modal-immersive-editor\u002F","2.29",{"edge":270,"hub":270,"fleet":270},{"id":423,"title":424,"description":425,"changelog":426,"showOnPricing":308,"tiers":429},"immersive-editor-drawer","Customisable Immersive Editor Drawer","Pin, move, resize, or full-screen the immersive editor drawer. Your preferences are remembered between sessions.",[427],{"url":428,"release":318},"\u002Fchangelog\u002F2026\u002F04\u002Fimmersive-editor-drawer\u002F",{"edge":270,"hub":270,"fleet":270},{"id":431,"title":432,"description":433,"changelog":434,"showOnPricing":308,"tiers":437},"embedded-editor-tab-title","Embedded Editor Browser Tab Title","The browser tab title updates to reflect the active Node-RED canvas tab when working in the embedded editor.",[435],{"url":436,"release":420},"\u002Fchangelog\u002F2026\u002F03\u002Fembedded-editor-tab-title\u002F",{"edge":270,"hub":270,"fleet":270},{"id":439,"title":440,"features":441},"deploy","Deploy",[442,448,457,463,469,475,481,487,492],{"id":443,"title":444,"description":445,"docsLink":446,"tiers":447},"hosted-instances","Cloud Instances","Run Node-RED instances managed and hosted by FlowFuse.","\u002Fdocs\u002Fuser\u002Fintroduction\u002F#creating-a-node-red-instance",{"edge":270,"hub":270,"fleet":270},{"id":449,"title":450,"description":451,"docsLink":452,"changelog":453,"tiers":456},"edge-devices","Edge Instances","Deploy and mange your Node-RED instances on edge PLCs and gateways, with full visibility and control from the cloud.","\u002Fdocs\u002Fdevice-agent\u002Fintroduction\u002F",[454],{"url":455,"release":298},"\u002Fchangelog\u002F2026\u002F02\u002Fdevice-agent-nodejs-options\u002F",{"edge":270,"hub":308,"fleet":270},{"id":458,"title":459,"description":460,"docsLink":461,"tiers":462},"custom-hostnames","Custom Hostnames","Access your Node-RED application via your own domain name.","\u002Fdocs\u002Fuser\u002Fcustom-hostnames\u002F",{"edge":308,"hub":270,"fleet":308},{"id":464,"title":465,"description":466,"docsLink":467,"tiers":468},"mqtt-broker","MQTT Broker","Manage and create MQTT clients to transport data for efficient messaging and communication within your applications.","\u002Fdocs\u002Fuser\u002Fteambroker\u002F",{"edge":270,"hub":308,"fleet":270},{"id":470,"title":471,"description":472,"docsLink":473,"showOnPricing":308,"tiers":474},"project-nodes","Project Nodes aka seamless project comms","FlowFuse Project Nodes enable the passing of data and messages between your Node-RED projects.","\u002Fdocs\u002Fuser\u002Fprojectnodes\u002F",{"edge":270,"hub":270,"fleet":270},{"id":476,"title":477,"description":478,"docsLink":479,"tiers":480},"devops-pipelines","DevOps Pipelines","Set up different environments for development, testing, and production Node-RED instances to support a full software delivery lifecycle.","\u002Fdocs\u002Fuser\u002Fdevops-pipelines\u002F",{"edge":270,"hub":270,"fleet":270},{"id":482,"title":483,"description":484,"docsLink":485,"tiers":486},"git-integration","Git Integration","Back up your flows to a remote Git repository through a DevOps Pipeline. Supports GitHub and Azure DevOps repositories.","\u002Fdocs\u002Fuser\u002Fdevops-pipelines\u002F#git-repository-stage",{"edge":308,"hub":270,"fleet":308},{"id":488,"title":489,"description":490,"docsLink":485,"subfeature":270,"showOnPricing":308,"tiers":491},"git-integration-github","GitHub","Push and pull snapshots to GitHub repositories through DevOps Pipeline Git Stages.",{"edge":308,"hub":270,"fleet":308},{"id":493,"title":494,"description":495,"docsLink":485,"changelog":496,"subfeature":270,"showOnPricing":308,"tiers":499},"git-integration-azure","Azure DevOps","Push and pull snapshots to Azure DevOps repositories through DevOps Pipeline Git Stages.",[497],{"url":498,"release":420},"\u002Fchangelog\u002F2026\u002F03\u002Fazure-dev-ops-gitops\u002F",{"edge":308,"hub":270,"fleet":308},{"id":501,"title":502,"features":503},"operate-maintain","Operate & Maintain",[504,510,516,521,529,533,537,542,548,554,559,565,569,573],{"id":505,"title":506,"description":507,"docsLink":508,"tiers":509},"snapshots","Snapshots & Version History","Automatic snapshots on remote devices and hosted instances, plus a full version history timeline so you can roll back to any prior state.","\u002Fdocs\u002Fuser\u002Fsnapshots\u002F",{"edge":270,"hub":270,"fleet":270},{"id":511,"title":512,"description":513,"docsLink":514,"subfeature":270,"showOnPricing":308,"tiers":515},"auto-snapshot-remote","Auto Snapshot (Remote)","Automatically capture a snapshot every time a remote instance is deployed, so you always have a recoverable history of what was running on each device.","\u002Fdocs\u002Fuser\u002Fsnapshots\u002F#auto-snapshots",{"edge":270,"hub":270,"fleet":270},{"id":517,"title":518,"description":519,"docsLink":514,"subfeature":270,"showOnPricing":308,"tiers":520},"auto-snapshot-hosted","Auto Snapshot (Hosted)","Automatically capture a snapshot every time a hosted instance is deployed, so you always have a recoverable history of what was running.",{"edge":270,"hub":270,"fleet":270},{"id":522,"title":523,"description":524,"changelog":525,"subfeature":270,"showOnPricing":308,"tiers":528},"snapshot-comparison","Snapshot Comparison","Compare two snapshots side-by-side with a navigable diff view. Step through every changed, added, or deleted node and see property and code diffs.",[526],{"url":527,"release":420},"\u002Fchangelog\u002F2026\u002F04\u002Fsnapshot-diff-viewer\u002F",{"edge":270,"hub":270,"fleet":270},{"id":530,"title":531,"subfeature":270,"showOnPricing":308,"tiers":532},"version-history-timeline","Version History Timeline",{"edge":270,"hub":270,"fleet":270},{"id":534,"title":535,"tiers":536},"unlimited-workflow-executions","Unlimited Workflow Executions",{"edge":270,"hub":270,"fleet":270},{"id":538,"title":539,"description":540,"tiers":541},"device-fleet-updates","Device Fleet Updates","Connect to edge devices to quickly assess and update logic. Debug one device and roll out improvements to your fleet in minutes, securely without requiring full device access for your whole organisation.",{"edge":270,"hub":308,"fleet":270},{"id":543,"title":544,"description":545,"docsLink":546,"tiers":547},"device-group-management","Device Group Management","Logically group devices assigned to an application and integrate device groups into your DevOps Pipeline for coordinated fleet updates.","\u002Fdocs\u002Fuser\u002Fdevice-groups\u002F",{"edge":270,"hub":308,"fleet":270},{"id":549,"title":550,"description":551,"docsLink":552,"tiers":553},"high-availability","High Availability","Leverage horizontal scaling for reliable and scalable processing of your data through Node-RED.","\u002Fdocs\u002Fuser\u002Fhigh-availability\u002F",{"edge":308,"hub":270,"fleet":308},{"id":555,"title":556,"description":557,"tiers":558},"performance-monitoring","Performance Monitoring & Alerts","Track CPU, memory, and event loop performance across your instances and devices, with email alerts when something needs your attention.",{"edge":270,"hub":270,"fleet":270},{"id":560,"title":561,"description":562,"docsLink":563,"subfeature":270,"showOnPricing":308,"tiers":564},"instance-monitoring","Instance Monitoring","Enable alerts to be sent via email when your Node-RED instances encounter issues.","\u002Fdocs\u002Fuser\u002Finstance-settings\u002F#alerts",{"edge":270,"hub":270,"fleet":270},{"id":566,"title":567,"subfeature":270,"showOnPricing":308,"tiers":568},"email-alerts","Email Alerts",{"edge":270,"hub":270,"fleet":270},{"id":570,"title":571,"showOnPricing":308,"tiers":572},"api-debug-length-limit","API\u002FDebug Length Limit",{"edge":270,"hub":270,"fleet":270},{"id":574,"title":575,"tiers":576},"protected-instances","Protected Instances",{"edge":308,"hub":270,"fleet":308},{"id":578,"title":579,"features":580},"govern-secure","Govern and Secure",[581,590,596,602,607,613,619,625,633,639,645,651],{"id":582,"title":583,"description":584,"docsLink":585,"changelog":586,"tiers":589},"single-sign-on","Single Sign-On (SSO)","Configure FlowFuse to work with your own SSO provider, allowing users to access FlowFuse with a single set of login credentials.","\u002Fdocs\u002Fadmin\u002Fsso\u002F",[587],{"url":588,"release":361},"\u002Fchangelog\u002F2026\u002F07\u002Fapplication-sso-groups\u002F",{"edge":270,"hub":270,"fleet":270},{"id":591,"title":592,"description":593,"docsLink":594,"tiers":595},"two-factor-authentication","Two-Factor Authentication","Two-factor authentication adds an extra layer of security to your FlowFuse account.","\u002Fdocs\u002Fuser\u002Fuser-settings\u002F#two-factor-authentication",{"edge":270,"hub":270,"fleet":270},{"id":597,"title":598,"description":599,"docsLink":600,"tiers":601},"certified-nodes-it","Certified Nodes - IT","IT certified node bundle includes: Redis, MQTT, HTTP Request, AI nodes (Gemini, Claude, ChatGPT, Ollama), MCP Server","\u002Fblog\u002F2025\u002F07\u002Fcertified-nodes-v2\u002F",{"edge":308,"hub":270,"fleet":270},{"id":603,"title":604,"description":605,"tiers":606},"certified-nodes-ot","Certified OT Connections - OPC-UA, Modbus, etc.","OT certified node bundle includes: OPC-UA, Modbus TCP & RTU, RTSP, EtherNet\u002FIP, AI nodes (Gemini, Claude, ChatGPT, Ollama), MCP Server",{"edge":270,"hub":308,"fleet":308},{"id":608,"title":609,"description":610,"docsLink":611,"tiers":612},"audit-log","Audit Log","Keep track of everything going on in your Node-RED instances and FlowFuse. Audit Logs provide details on what actions have taken place, when they happened, and who did them.","\u002Fdocs\u002Fuser\u002Flogs\u002F#audit-log",{"edge":270,"hub":270,"fleet":270},{"id":614,"title":615,"description":616,"docsLink":617,"tiers":618},"role-based-access-control","Role-Based Access Control","Control who can do what at both the team and application level, from viewers to admins.","\u002Fdocs\u002Fuser\u002Frole-based-access-control\u002F",{"edge":270,"hub":270,"fleet":270},{"id":620,"title":621,"description":622,"docsLink":623,"subfeature":270,"showOnPricing":308,"tiers":624},"application-level-rbac","Application-Level RBAC","Fine-grained access control per application, allowing team members to have different permission levels across different applications without requiring separate teams.","\u002Fdocs\u002Fuser\u002Frole-based-access-control\u002F#application-level-rbac",{"edge":270,"hub":270,"fleet":270},{"id":626,"title":627,"description":628,"changelog":629,"subfeature":270,"showOnPricing":308,"tiers":632},"scoped-personal-access-tokens","Scoped Personal Access Tokens","Restrict a Personal Access Token to specific teams, limit it to read-only operations, or control whether it carries admin privileges.",[630],{"url":631,"release":361},"\u002Fchangelog\u002F2026\u002F07\u002Fscoped-pats\u002F",{"edge":270,"hub":270,"fleet":270},{"id":634,"title":635,"description":636,"docsLink":637,"showOnPricing":308,"tiers":638},"team-members","Team Members","Invite multiple team members to collaborate on the same Node-RED flows.","\u002Fdocs\u002Fuser\u002Fteam\u002F#teams",{"edge":270,"hub":270,"fleet":270},{"id":640,"title":641,"description":642,"docsLink":643,"showOnPricing":308,"tiers":644},"endpoint-security","Endpoint Security","Secure HTTP endpoints for hosted Node-RED instances using FlowFuse credentials.","\u002Fdocs\u002Fuser\u002Finstance-settings\u002F#security",{"edge":270,"hub":270,"fleet":270},{"id":646,"title":647,"description":648,"docsLink":649,"tiers":650},"baa-for-hipaa","BAA for HIPAA","FlowFuse can sign a Business Associate Agreement to ensure proper safeguarding of protected health information handled on your behalf.","\u002Fhandbook\u002Fsales\u002Fsubscription-agreement-1.5\u002F",{"edge":308,"hub":270,"fleet":308},{"id":652,"title":653,"description":654,"tiers":655},"sbom","Software Bill of Materials","A complete list of all software components used in your Node-RED instances and hosted applications, including version numbers and license information.",{"edge":308,"hub":270,"fleet":308},{"id":657,"title":658,"features":659},"support","Support",[660,665,669],{"id":661,"title":662,"docsLink":663,"tiers":664},"installation-support","Installation Support","\u002Fdocs\u002Finstall\u002Fintroduction\u002F#do-you-need-help-installation-service",{"edge":270,"hub":270,"fleet":270},{"id":666,"title":667,"showOnPricing":308,"tiers":668},"live-chat-support","Live Chat Support",{"edge":270,"hub":270,"fleet":270},{"id":670,"title":671,"docsLink":672,"tiers":673},"enterprise-support","Enterprise Support","\u002Fdocs\u002Fpremium-support\u002F",{"edge":270,"hub":270,"fleet":270},"feature-catalog","0AnkhTIPCECCwP9NmbTWP5HvRYx4FTSao4lG93-HaWM",[677,680,683,686,689,692,694,697,700,703,706,708,711,714,717,720,723,726,729,732,735,738,741,744,747,750,753,756,759,762,765,768,771,774,777,780,783,786,789,792,795,798,801,804,807,810,813,816,819,821,824,827,830,833,836,839,842,844,847,850,853,856,859,861,864,867,870,873,876,879,882,885,888,891,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,937,940,943,946,949,952,955,958,961,964,967,970,973,976,979,982,985,988,991,993,996,999,1002,1005,1008,1011,1014,1016,1019,1022,1025,1028,1031,1034,1037,1040,1043,1046,1049,1052,1055,1058,1061,1064,1067,1070,1073,1076,1079,1082,1085,1088,1091,1094,1097,1100,1103,1106,1109,1112,1115,1118,1121,1124,1127,1130,1133,1136,1139,1142,1145,1148,1151,1154,1157,1160,1163,1166,1168,1171,1174,1177,1180,1183,1186,1189,1192,1195,1198,1201,1204,1207],{"path":678,"title":679},"\u002Fchangelog\u002F2023\u002F09\u002Fcustom-node-support","Custom Node Support",{"path":681,"title":682},"\u002Fchangelog\u002F2023\u002F09\u002Fdevops-actions","DevOps Pipeline with action selection",{"path":684,"title":685},"\u002Fchangelog\u002F2023\u002F09\u002Fintroduction-enterprise-tier","Introducing the Enterprise Tier",{"path":687,"title":688},"\u002Fchangelog\u002F2023\u002F09\u002Fpipeline-api","API Endpoint for DevOps Pipeline",{"path":690,"title":691},"\u002Fchangelog\u002F2023\u002F09\u002Fsnapshots-devices","Usability improvements to Device Management",{"path":693,"title":401},"\u002Fchangelog\u002F2023\u002F10\u002Fblueprints",{"path":695,"title":696},"\u002Fchangelog\u002F2023\u002F10\u002Fcertified-nodes","Certified Nodes",{"path":698,"title":699},"\u002Fchangelog\u002F2023\u002F10\u002Fdevice-snapshot-selection","Enhanced Snapshot Selection",{"path":701,"title":702},"\u002Fchangelog\u002F2023\u002F10\u002Fpath-bug-fix","Device Agent path bug fix",{"path":704,"title":705},"\u002Fchangelog\u002F2023\u002F10\u002Fresource-alerts","Resource Monitoring in Audit Log",{"path":707,"title":592},"\u002Fchangelog\u002F2023\u002F11\u002F2fa",{"path":709,"title":710},"\u002Fchangelog\u002F2023\u002F11\u002Fdefault-editor","Device Editor enabled by default",{"path":712,"title":713},"\u002Fchangelog\u002F2023\u002F11\u002Fdevices-in-pipelines","Devices in DevOps Pipelines",{"path":715,"title":716},"\u002Fchangelog\u002F2023\u002F11\u002Fproject-nodes-devices","Project Nodes for Devices",{"path":718,"title":719},"\u002Fchangelog\u002F2023\u002F12\u002Fbilling","No Credit Card required for billing",{"path":721,"title":722},"\u002Fchangelog\u002F2023\u002F12\u002Fblueprint-selection","Blueprint Selection Update",{"path":724,"title":725},"\u002Fchangelog\u002F2023\u002F12\u002Fdevice-groups","Device Groups",{"path":727,"title":728},"\u002Fchangelog\u002F2023\u002F12\u002Femail-alerting-node-red-crash","Email Alerts for Audit Log Events",{"path":730,"title":731},"\u002Fchangelog\u002F2023\u002F12\u002Fnode-red-updated","Node-RED 3.1.3 now available",{"path":733,"title":734},"\u002Fchangelog\u002F2024\u002F01\u002Fdevice-audit-log","Introducing the Device Auditlog Feature",{"path":736,"title":737},"\u002Fchangelog\u002F2024\u002F01\u002Fdevice-groups-snapshot","Device Groups - Automatic snapshot assignment",{"path":739,"title":740},"\u002Fchangelog\u002F2024\u002F01\u002Ffleet-mode","Renaming \"Default Device Mode\" to \"Fleet Mode\"",{"path":742,"title":743},"\u002Fchangelog\u002F2024\u002F01\u002Fhelm-v2","Helm Chart v2.0",{"path":745,"title":746},"\u002Fchangelog\u002F2024\u002F01\u002Fnew-blueprints","New Blueprints added",{"path":748,"title":749},"\u002Fchangelog\u002F2024\u002F01\u002Fsecurity-updates","Security Updates",{"path":751,"title":752},"\u002Fchangelog\u002F2024\u002F01\u002Fsso-team-membership","Managing Team Membership via SSO",{"path":754,"title":755},"\u002Fchangelog\u002F2024\u002F01\u002Fstreamlined-device-assignment","Streamlined Device assignment",{"path":757,"title":758},"\u002Fchangelog\u002F2024\u002F02\u002Fdevice-auto-snapshot","Device Auto Snapshots",{"path":760,"title":761},"\u002Fchangelog\u002F2024\u002F02\u002Fdevice-instance-audit-logs","Device Instance Audit Logging",{"path":763,"title":764},"\u002Fchangelog\u002F2024\u002F02\u002Fdevice-onboarding-improvements","Device Onboarding Improvements",{"path":766,"title":767},"\u002Fchangelog\u002F2024\u002F02\u002Fdevice-pricing-change","Pricing change for Devices",{"path":769,"title":770},"\u002Fchangelog\u002F2024\u002F02\u002Finstance-auto-snapshots","Instance Auto Snapshots",{"path":772,"title":773},"\u002Fchangelog\u002F2024\u002F02\u002Fpostgresql-upgrade","PostgreSQL Version update",{"path":775,"title":776},"\u002Fchangelog\u002F2024\u002F03\u002Fbearer-token-authentication","Bearer Token Authentication for Node-RED Instances",{"path":778,"title":779},"\u002Fchangelog\u002F2024\u002F03\u002Finstance-protection-mode","Instance Protection Mode",{"path":781,"title":782},"\u002Fchangelog\u002F2024\u002F03\u002Flimits-debug-payload","Configure HTTP Payload and Debug Message size",{"path":784,"title":785},"\u002Fchangelog\u002F2024\u002F03\u002Frestart-devices-remotly","Remote Device Restart",{"path":787,"title":788},"\u002Fchangelog\u002F2024\u002F04\u002Fcustom-nodes-on-devices","Custom Nodes Support on Devices",{"path":790,"title":791},"\u002Fchangelog\u002F2024\u002F04\u002Fdevice-auto-snapshot","Direct Dashboard Access",{"path":793,"title":794},"\u002Fchangelog\u002F2024\u002F04\u002Fimproving-device-groups","Improving Device Groups",{"path":796,"title":797},"\u002Fchangelog\u002F2024\u002F04\u002Fpricing-change","Pricing change Enterprise & Teams Tier",{"path":799,"title":800},"\u002Fchangelog\u002F2024\u002F04\u002Ftougher-rate-limiting","Tougher Rate Limiting on Public Routes",{"path":802,"title":803},"\u002Fchangelog\u002F2024\u002F05\u002Finstance-healthcheck","Customizing instance health-check settings",{"path":805,"title":806},"\u002Fchangelog\u002F2024\u002F05\u002Flibrary-blueprints","Blueprints added to Library",{"path":808,"title":809},"\u002Fchangelog\u002F2024\u002F05\u002Flibrary-flowviewer","Team Library - Flow Viewer",{"path":811,"title":812},"\u002Fchangelog\u002F2024\u002F05\u002Fmanaging-node-red-version-on-devices","Managing Node-RED versions on Devices",{"path":814,"title":815},"\u002Fchangelog\u002F2024\u002F05\u002Fsnapshot-improvements","Snapshot Improvements",{"path":817,"title":818},"\u002Fchangelog\u002F2024\u002F05\u002Fsnapshot-improvements-pt3","Snapshot Upload",{"path":820,"title":818},"\u002Fchangelog\u002F2024\u002F05\u002Fsnapshot-upload",{"path":822,"title":823},"\u002Fchangelog\u002F2024\u002F06\u002Fdevice-agent-proxy-support","Running the Device Agent behind an HTTP proxy",{"path":825,"title":826},"\u002Fchangelog\u002F2024\u002F06\u002Flibrary-blueprints","Custom hostnames for your instances",{"path":828,"title":829},"\u002Fchangelog\u002F2024\u002F06\u002Fmultiline-env-vars","Multi-line Environment Variables",{"path":831,"title":832},"\u002Fchangelog\u002F2024\u002F06\u002Fsnapshot-flow-compare","Compare Snapshots flows",{"path":834,"title":835},"\u002Fchangelog\u002F2024\u002F07\u002Fapplications-search","Applications Search",{"path":837,"title":838},"\u002Fchangelog\u002F2024\u002F07\u002Fdevice-group-clear-snapshot","Device Groups Snapshots",{"path":840,"title":841},"\u002Fchangelog\u002F2024\u002F07\u002Fdevice-management-bulk-delete","Managing devices",{"path":843,"title":841},"\u002Fchangelog\u002F2024\u002F07\u002Fdevice-management-bulk-move",{"path":845,"title":846},"\u002Fchangelog\u002F2024\u002F07\u002Fedit-snapshots","Edit Snapshots",{"path":848,"title":849},"\u002Fchangelog\u002F2024\u002F07\u002Fflowfuse-assistant","The FlowFuse Expert",{"path":851,"title":852},"\u002Fchangelog\u002F2024\u002F07\u002Fflowfuse-assistant-json","FlowFuse Expert Writes JSON",{"path":854,"title":855},"\u002Fchangelog\u002F2024\u002F07\u002Fimmersive-editor","Immersive Editor Experience",{"path":857,"title":858},"\u002Fchangelog\u002F2024\u002F07\u002Fnotifications-inbox","Notifications Inbox",{"path":860,"title":858},"\u002Fchangelog\u002F2024\u002F07\u002Fnotifications-update",{"path":862,"title":863},"\u002Fchangelog\u002F2024\u002F07\u002Fpersistent-storage","Persistent Storage on FlowFuse Cloud",{"path":865,"title":866},"\u002Fchangelog\u002F2024\u002F07\u002Fsso","Single Sign On Updates",{"path":868,"title":869},"\u002Fchangelog\u002F2024\u002F08\u002Fbill-of-materials","Bill of Materials",{"path":871,"title":872},"\u002Fchangelog\u002F2024\u002F08\u002Fenterprise-license-update","Enforcing Enterprise Restrictions",{"path":874,"title":875},"\u002Fchangelog\u002F2024\u002F08\u002Fldap-sso-groups","LDAP Single Sign On Updates",{"path":877,"title":878},"\u002Fchangelog\u002F2024\u002F08\u002Fstatic-file-service-navigation-visibility","Static File Service Navigation and Visibility",{"path":880,"title":881},"\u002Fchangelog\u002F2024\u002F10\u002Fdevice-group-env-vars","Environment Variables for your Device Groups",{"path":883,"title":884},"\u002Fchangelog\u002F2024\u002F10\u002Fmqtt-service","MQTT Broker Service",{"path":886,"title":887},"\u002Fchangelog\u002F2024\u002F10\u002Fnotifications-bulk-actions","Managing Notifications",{"path":889,"title":890},"\u002Fchangelog\u002F2024\u002F10\u002Fsnapshot-download-upload-options","Snapshot Upload and Download Improvements",{"path":892,"title":531},"\u002Fchangelog\u002F2024\u002F10\u002Fversion-history-timeline",{"path":894,"title":895},"\u002Fchangelog\u002F2024\u002F11\u002Faudit-log-hierarchy","Audit logs show hierarchical events",{"path":897,"title":898},"\u002Fchangelog\u002F2024\u002F11\u002Fdevice-agent-release","Device Agent 3.0 released",{"path":900,"title":901},"\u002Fchangelog\u002F2024\u002F11\u002Fmqtt-topic-hierarchy","MQTT Topic Hierarchy view",{"path":903,"title":904},"\u002Fchangelog\u002F2024\u002F11\u002Fteam-search","Team-wide search",{"path":906,"title":907},"\u002Fchangelog\u002F2024\u002F12\u002Fdashboad-iframe","Allow Dashboards to be embedded in iFrames",{"path":909,"title":910},"\u002Fchangelog\u002F2024\u002F12\u002Fdevice-editor-cache","Device Editor Access Speed Up",{"path":912,"title":913},"\u002Fchangelog\u002F2024\u002F12\u002Fteam-bom-timeline","Team BOM and Pipeline Views",{"path":915,"title":916},"\u002Fchangelog\u002F2025\u002F01\u002Ffree-tier-onboarding","New Onboarding Tour for Free Tier Users",{"path":918,"title":919},"\u002Fchangelog\u002F2025\u002F01\u002Fhidden-env-vars","Hidden Environment Variables",{"path":921,"title":922},"\u002Fchangelog\u002F2025\u002F01\u002Fimproved-diagnostics","Improved Diagnostics",{"path":924,"title":925},"\u002Fchangelog\u002F2025\u002F01\u002Fteam-level-groups","Team level view of Groups",{"path":927,"title":928},"\u002Fchangelog\u002F2025\u002F02\u002Fadditional-device-version-history-events","New Remote Instances Version History Events",{"path":930,"title":931},"\u002Fchangelog\u002F2025\u002F02\u002Fbroker-error-feedback","Improved Broker Connection Feedback",{"path":933,"title":934},"\u002Fchangelog\u002F2025\u002F02\u002Fdevice-agent-updates","FlowFuse User Authentication on Remote Instances",{"path":936,"title":531},"\u002Fchangelog\u002F2025\u002F02\u002Fdevice-version-history-timeline",{"path":938,"title":939},"\u002Fchangelog\u002F2025\u002F02\u002Fexternal-brokers","External MQTT Brokers",{"path":941,"title":942},"\u002Fchangelog\u002F2025\u002F02\u002Fmqtt-schema-suggestions","MQTT Smart Schema Suggestions",{"path":944,"title":945},"\u002Fchangelog\u002F2025\u002F02\u002Fresend-and-extend-team-invitation-expiration","Re-send Team Invitations",{"path":947,"title":948},"\u002Fchangelog\u002F2025\u002F02\u002Fschema-docs","Personalized Schema Documentation",{"path":950,"title":951},"\u002Fchangelog\u002F2025\u002F02\u002Ftopic-hierarchy-search","Search & Filter for Topic Hierarchy List",{"path":953,"title":954},"\u002Fchangelog\u002F2025\u002F03\u002Fcontainer-tags","Changes to tags for flowfuse\u002Fnode-red",{"path":956,"title":957},"\u002Fchangelog\u002F2025\u002F03\u002Fdevice-groups","Multiple Device Groups in a pipeline",{"path":959,"title":960},"\u002Fchangelog\u002F2025\u002F03\u002Fdevice-local-login","Local Login for Remote Instances",{"path":962,"title":963},"\u002Fchangelog\u002F2025\u002F03\u002Ffree-tier","Free Tier now more accessible to all",{"path":965,"title":966},"\u002Fchangelog\u002F2025\u002F03\u002Fresource-notifications","Resource Alerts",{"path":968,"title":969},"\u002Fchangelog\u002F2025\u002F03\u002Fsnapshot-filter","Filtering Snapshots",{"path":971,"title":972},"\u002Fchangelog\u002F2025\u002F03\u002Fteam-npm-registry","NPM Package Hosting",{"path":974,"title":975},"\u002Fchangelog\u002F2025\u002F03\u002Ftopic-deletion","MQTT Topic Management",{"path":977,"title":978},"\u002Fchangelog\u002F2025\u002F04\u002Fdevice-provisioning","Remote Instance Provisioning",{"path":980,"title":981},"\u002Fchangelog\u002F2025\u002F04\u002Fgit-integration","Git Integration with Pipelines",{"path":983,"title":984},"\u002Fchangelog\u002F2025\u002F04\u002Finstance-log-browsing","Better Node-RED log handling",{"path":986,"title":987},"\u002Fchangelog\u002F2025\u002F05\u002Fimport-node-red-flows","Import Node-RED Flows During Remote Instance Setup",{"path":989,"title":990},"\u002Fchangelog\u002F2025\u002F06\u002Fflowfuse-assistant","FlowFuse Expert just got smarter",{"path":992,"title":990},"\u002Fchangelog\u002F2025\u002F06\u002Fflowfuse-assistant-2",{"path":994,"title":995},"\u002Fchangelog\u002F2025\u002F06\u002Fgit-integration","Pulling snapshots from Git with Pipelines",{"path":997,"title":998},"\u002Fchangelog\u002F2025\u002F06\u002Finstance-performance-memory","Memory Metrics in Instance Performance View",{"path":1000,"title":1001},"\u002Fchangelog\u002F2025\u002F06\u002Fnew-home-page","Introducing the New Home Page Experience",{"path":1003,"title":1004},"\u002Fchangelog\u002F2025\u002F06\u002Fteam-performance","Team Performance Feature",{"path":1006,"title":1007},"\u002Fchangelog\u002F2025\u002F06\u002Fteam-performance-view","Instance Performance View",{"path":1009,"title":1010},"\u002Fchangelog\u002F2025\u002F06\u002Fui-refresh","Navigation UI Refresh",{"path":1012,"title":1013},"\u002Fchangelog\u002F2025\u002F07\u002Fbrowse-node-red-flows","Browse for Node-RED Flows During Remote Instance Setup",{"path":1015,"title":355},"\u002Fchangelog\u002F2025\u002F07\u002Fflowfuse-tables",{"path":1017,"title":1018},"\u002Fchangelog\u002F2025\u002F07\u002Fimport-blueprints","Import blueprints directly into your existing instances",{"path":1020,"title":1021},"\u002Fchangelog\u002F2025\u002F07\u002Fsimplified-applications-overview","Simplified Applications Page with Summary Tiles",{"path":1023,"title":1024},"\u002Fchangelog\u002F2025\u002F07\u002Fsmart-suggestions","Smart Suggestions",{"path":1026,"title":1027},"\u002Fchangelog\u002F2025\u002F07\u002Fteam-to-pro-plan-rename","Team Plan Renamed to Pro Plan",{"path":1029,"title":1030},"\u002Fchangelog\u002F2025\u002F08\u002Fai-generated-snapshot-descriptions-hosted","Generate snapshot descriptions with AI",{"path":1032,"title":1033},"\u002Fchangelog\u002F2025\u002F08\u002Fai-generated-snapshot-descriptions-remote","AI Snapshot Descriptions Now Work with Remote Instances",{"path":1035,"title":1036},"\u002Fchangelog\u002F2025\u002F08\u002Fdevice-performance","FlowFuse Remote Instance Performance Data",{"path":1038,"title":1039},"\u002Fchangelog\u002F2025\u002F08\u002Fdirect-sso","Direct SSO Login",{"path":1041,"title":1042},"\u002Fchangelog\u002F2025\u002F08\u002Fflowfuse-assistant","FlowFuse Expert documents your flows",{"path":1044,"title":1045},"\u002Fchangelog\u002F2025\u002F08\u002Fflowfuse-mqtt","FlowFuse MQTT",{"path":1047,"title":1048},"\u002Fchangelog\u002F2025\u002F08\u002Fhttp-cors","Configure HTTP CORS",{"path":1050,"title":1051},"\u002Fchangelog\u002F2025\u002F08\u002Fsubflow-export","Export SubFlow as Node-RED module",{"path":1053,"title":1054},"\u002Fchangelog\u002F2025\u002F08\u002Ftables-assistant","FlowFuse Tables with a little help from the Assistant",{"path":1056,"title":1057},"\u002Fchangelog\u002F2025\u002F09\u002Fexpose-saml-groups-to-dashboard","Allow SSO groups to be shared with the Node-RED Dashboard",{"path":1059,"title":1060},"\u002Fchangelog\u002F2025\u002F09\u002Finline-assist","FlowFuse Expert can help you write code",{"path":1062,"title":1063},"\u002Fchangelog\u002F2025\u002F09\u002Fretiring-flowforge-device-agent","No more @flowforge\u002Fflowforge-device-agent releases",{"path":1065,"title":1066},"\u002Fchangelog\u002F2025\u002F09\u002Frevised-instance-snapshot-ui","Streamlined Snapshot Management",{"path":1068,"title":1069},"\u002Fchangelog\u002F2025\u002F09\u002Fteam-broker-async-api","Capture Async API data from FlowFuse Team Broker",{"path":1071,"title":1072},"\u002Fchangelog\u002F2025\u002F10\u002Fapplication-level-rbac","Application-level access control for Enterprise teams",{"path":1074,"title":1075},"\u002Fchangelog\u002F2025\u002F10\u002Fbulk-device-group-assignment","Easier Access to Bulk Device Group Management",{"path":1077,"title":1078},"\u002Fchangelog\u002F2025\u002F10\u002Fduplicate-instances-across-applications","Duplicate Instances Across Different Applications",{"path":1080,"title":1081},"\u002Fchangelog\u002F2025\u002F10\u002Fimport-flows-on-instance-creation","Import flows during instance creation",{"path":1083,"title":1084},"\u002Fchangelog\u002F2025\u002F10\u002Fmcp-nodes","FlowFuse MCP Server Nodes",{"path":1086,"title":1087},"\u002Fchangelog\u002F2025\u002F10\u002Fonnx-nodes","FlowFuse AI Nodes",{"path":1089,"title":1090},"\u002Fchangelog\u002F2025\u002F10\u002Fsettings-page-device-group-management","Device Group Management from Settings Page",{"path":1092,"title":1093},"\u002Fchangelog\u002F2025\u002F11\u002Fff-expert-update","FlowFuse Expert Update",{"path":1095,"title":1096},"\u002Fchangelog\u002F2025\u002F11\u002Fminimum-nodejs-version","Node.js v20 Minimum Version Requirement",{"path":1098,"title":1099},"\u002Fchangelog\u002F2025\u002F11\u002Fsso-session","SSO control over Session life",{"path":1101,"title":1102},"\u002Fchangelog\u002F2025\u002F12\u002Fff-expert-mcp-insights","FlowFuse Expert: Now with MCP-Powered Insights",{"path":1104,"title":1105},"\u002Fchangelog\u002F2025\u002F12\u002Fscheduled-maintenance","Scheduled Maintenance Mode",{"path":1107,"title":1108},"\u002Fchangelog\u002F2026\u002F01\u002Fdevice-agent-containers","Device Agent Docker Containers updated",{"path":1110,"title":1111},"\u002Fchangelog\u002F2026\u002F01\u002Fff-expert-manage-palette","FlowFuse Expert: Enhanced Palette Integration",{"path":1113,"title":1114},"\u002Fchangelog\u002F2026\u002F01\u002Fff-expert-nr-actions","FlowFuse Expert: Integration with Node-RED",{"path":1116,"title":1117},"\u002Fchangelog\u002F2026\u002F01\u002Fff-expert-palette-queries","FlowFuse Expert: Palette Queries",{"path":1119,"title":1120},"\u002Fchangelog\u002F2026\u002F01\u002Fff-expert-select-flows","FlowFuse Expert: Ask about your flows",{"path":1122,"title":1123},"\u002Fchangelog\u002F2026\u002F01\u002Fmcp-rbacs","FlowFuse Expert: MCP-Powered Insights with RBACs",{"path":1125,"title":1126},"\u002Fchangelog\u002F2026\u002F01\u002Fmcp-security","FlowFuse Expert: MCP-Powered Insights",{"path":1128,"title":1129},"\u002Fchangelog\u002F2026\u002F02\u002Fdevice-agent-nodejs-options","Set Node.js Options for Remote Instances",{"path":1131,"title":1132},"\u002Fchangelog\u002F2026\u002F02\u002Fff-expert-debug-log-context","FlowFuse Expert: Helping you make sense of your debug log",{"path":1134,"title":1135},"\u002Fchangelog\u002F2026\u002F02\u002Fff-expert-update-banner","FlowFuse Expert: Never Miss an Update",{"path":1137,"title":1138},"\u002Fchangelog\u002F2026\u002F02\u002Fha-instance-rolling-restart","HA Hosted Instance Rolling Restart",{"path":1140,"title":1141},"\u002Fchangelog\u002F2026\u002F02\u002Fremote-instances-immersive-editor","Immersive Mode for Remote Instances",{"path":1143,"title":1144},"\u002Fchangelog\u002F2026\u002F02\u002Frestoring-snapshots-to-remote-instances","Restoring snapshots to developer-mode Remote Instances",{"path":1146,"title":1147},"\u002Fchangelog\u002F2026\u002F03\u002Fazure-dev-ops-gitops","Azure DevOps Pipeline support",{"path":1149,"title":1150},"\u002Fchangelog\u002F2026\u002F03\u002Fdeveloper-mode-in-immersive-editor","Developer Mode Now Accessible from the Immersive Editor",{"path":1152,"title":1153},"\u002Fchangelog\u002F2026\u002F03\u002Fembedded-editor-tab-title","Embedded Editor Now Shows Active Tab",{"path":1155,"title":1156},"\u002Fchangelog\u002F2026\u002F03\u002Fmarch-scheduled-maintenance","Updated: Upcoming Scheduled Server Maintenance on March 28th, 2026",{"path":1158,"title":1159},"\u002Fchangelog\u002F2026\u002F03\u002Fsnapshot-detail-modal-immersive-editor","View Snapshot Details in the Immersive Editor",{"path":1161,"title":1162},"\u002Fchangelog\u002F2026\u002F04\u002Fexpert-action-links","FlowFuse expert action links",{"path":1164,"title":1165},"\u002Fchangelog\u002F2026\u002F04\u002Fhosted-instance-url-env-var","Hosted Instances know their own URL",{"path":1167,"title":424},"\u002Fchangelog\u002F2026\u002F04\u002Fimmersive-editor-drawer",{"path":1169,"title":1170},"\u002Fchangelog\u002F2026\u002F04\u002Fsnapshot-diff-viewer","Richer snapshot comparison view",{"path":1172,"title":1173},"\u002Fchangelog\u002F2026\u002F05\u002Fai-opt-out","AI Feature Opt-Out for Teams",{"path":1175,"title":1176},"\u002Fchangelog\u002F2026\u002F05\u002Fexpert-application-building","FlowFuse Expert Builds Your Application",{"path":1178,"title":1179},"\u002Fchangelog\u002F2026\u002F05\u002Fsingle-sso-provider","Single SSO provider for all users",{"path":1181,"title":1182},"\u002Fchangelog\u002F2026\u002F06\u002Fdark-mode","Dark Mode",{"path":1184,"title":1185},"\u002Fchangelog\u002F2026\u002F06\u002Fdevice-agent-v4-released","Device Agent v4 released",{"path":1187,"title":1188},"\u002Fchangelog\u002F2026\u002F06\u002Fgeneric-git-server-support","Connect Pipelines to Any Git Server",{"path":1190,"title":1191},"\u002Fchangelog\u002F2026\u002F06\u002Fjuly-scheduled-maintenance","Updated: Upcoming Scheduled Server Maintenance on July 11th, 2026",{"path":1193,"title":1194},"\u002Fchangelog\u002F2026\u002F07\u002Fapplication-sso-groups","Application Roles from SSO Groups",{"path":1196,"title":1197},"\u002Fchangelog\u002F2026\u002F07\u002Fdevice-agent-onboarding","Getting started with FlowFuse straight from the terminal",{"path":1199,"title":1200},"\u002Fchangelog\u002F2026\u002F07\u002Fexpert-enhancements","FlowFuse Expert Enhancements",{"path":1202,"title":1203},"\u002Fchangelog\u002F2026\u002F07\u002Fexpert-tables-automation","FlowFuse Expert Can Now Work With Your Tables",{"path":1205,"title":1206},"\u002Fchangelog\u002F2026\u002F07\u002Fscoped-pats","Team Scoped Personal Access Tokens",{"path":1208,"title":1209},"\u002Fchangelog\u002F2026\u002F07\u002Fteam-and-application-dashboards","A Dedicated Home for Your Dashboards",[],1786105899145]