[{"data":1,"prerenderedAt":656},["ShallowReactive",2],{"docs-\u002Fdocs\u002Fupgrade\u002Fnodered-version\u002F":3,"docs-nav":205},{"id":4,"title":5,"body":6,"description":193,"extension":194,"layout":195,"meta":196,"navGroup":195,"navGroupOrder":195,"navOrder":195,"navTitle":5,"navigation":197,"originalPath":198,"path":199,"redirect":195,"seo":200,"stem":201,"updated":202,"version":203,"__hash__":204},"docs\u002Fdocs\u002Fupgrade\u002Fnodered-version.md","Upgrading the Node-RED version",{"type":7,"value":8,"toc":180},"minimark",[9,13,28,35,40,53,57,75,79,125,128,148,152,157,160,164],[10,11,5],"h1",{"id":12},"upgrading-the-node-red-version",[14,15,16,17,21,22,27],"p",{},"A new major version of Node-RED - such as Node-RED 5.0 - does ",[18,19,20],"strong",{},"not"," arrive\nthrough an in-editor or in-platform \"update\" button. The version of Node-RED an\nInstance runs is defined by its ",[23,24,26],"a",{"href":25},"\u002Fdocs\u002Fuser\u002Fconcepts#stack","Stack",". To move to a\nnew major version you add it as a new Stack, then point your Instances at it.",[14,29,30,31,34],{},"This page uses the move to ",[18,32,33],{},"Node-RED 5.0"," as an example, but the same steps\napply to any major Node-RED version upgrade.",[36,37,39],"h2",{"id":38},"why-theres-no-update-button","Why there's no update button",[14,41,42,43,47,48,52],{},"The notification and one-click upgrade you may have seen applies to new ",[44,45,46],"em",{},"versions\nof an existing Stack"," (see ",[23,49,51],{"href":50},"\u002Fdocs\u002Fadmin\u002Fintroduction#managing-stacks","Managing Stacks",").\nCrossing a major Node-RED version is different: you create a new Stack that pins\nthe new container, rather than upgrading the existing Stack in place. This keeps\nthe two versions side by side so you can move Instances over at your own pace.\nIt also ensures major version upgrades are not automatically applied by the\nScheduled Maintenance feature.",[36,54,56],{"id":55},"before-you-start","Before you start",[58,59,60,68],"ul",{},[61,62,63,64,67],"li",{},"You will need access to ",[18,65,66],{},"Admin Settings",".",[61,69,70,71,74],{},"Add the new Node-RED version as a ",[18,72,73],{},"distinct new Stack"," rather than editing your\nexisting Stack. Keeping them separate means your current Instances stay on their\nexisting version until you choose to move them, and you can switch back from an\nInstance's settings if needed.",[36,76,78],{"id":77},"create-the-new-stack","Create the new Stack",[80,81,82,88,94,122],"ol",{},[61,83,84,85,67],{},"Go to ",[18,86,87],{},"Admin Settings → Stacks",[61,89,90,91,67],{},"Click ",[18,92,93],{},"Create Stack",[61,95,96,97,100,101,105,106,112,113,117,118,121],{},"Set the ",[18,98,99],{},"Container Location"," to the image for the new Node-RED version. The\nexact value depends on your deployment model - see the deployment-specific\nguides below. For Node-RED 5.0 on Docker or Kubernetes this is\n",[102,103,104],"code",{},"flowfuse\u002Fnode-red:2.31.2-5.0.x","; the full list of pre-built tags is on\n",[23,107,111],{"href":108,"rel":109},"https:\u002F\u002Fhub.docker.com\u002Fr\u002Fflowfuse\u002Fnode-red\u002Ftags",[110],"nofollow","Docker Hub",".\n(tags are of the form ",[114,115,116],"span",{},"FlowFuse Version","-",[114,119,120],{},"Node-RED Version",")",[61,123,124],{},"Save the Stack. It is now available when you create or migrate Instances.",[14,126,127],{},"For the details of how the Container Location is specified for each deployment\nmodel, see:",[58,129,130,136,142],{},[61,131,132],{},[23,133,135],{"href":134},"\u002Fdocs\u002Fcontribute\u002Flocal\u002Fstacks","Local Stacks",[61,137,138],{},[23,139,141],{"href":140},"\u002Fdocs\u002Finstall\u002Fdocker\u002Fstacks","Docker Stacks",[61,143,144],{},[23,145,147],{"href":146},"\u002Fdocs\u002Finstall\u002Fkubernetes\u002Fstacks","Kubernetes Stacks",[36,149,151],{"id":150},"use-the-new-stack","Use the new Stack",[153,154,156],"h3",{"id":155},"for-a-new-instance","For a new Instance",[14,158,159],{},"Select the new Stack when you create the Instance. It starts on the new Node-RED\nversion right away.",[153,161,163],{"id":162},"for-an-existing-instance","For an existing Instance",[14,165,166,167,171,172,175,176,179],{},"Move the Instance onto the new Stack by following\n",[23,168,170],{"href":169},"\u002Fdocs\u002Fuser\u002Fchangestack","Changing the Stack",": open the Instance's ",[18,173,174],{},"Settings","\ntab and use ",[18,177,178],{},"Change Instance Stack"," to select the new Stack. The Instance\nrestarts on the new Stack.",{"title":181,"searchDepth":182,"depth":182,"links":183},"",4,[184,186,187,188],{"id":38,"depth":185,"text":39},2,{"id":55,"depth":185,"text":56},{"id":77,"depth":185,"text":78},{"id":150,"depth":185,"text":151,"children":189},[190,192],{"id":155,"depth":191,"text":156},3,{"id":162,"depth":191,"text":163},"A new major version of Node-RED - such as Node-RED 5.0 - does not arrive\nthrough an in-editor or in-platform \"update\" button. The version of Node-RED an\nInstance runs is defined by its Stack. To move to a\nnew major version you add it as a new Stack, then point your Instances at it.","md",null,{},true,"upgrade\u002Fnodered-version.md","\u002Fdocs\u002Fupgrade\u002Fnodered-version",{"title":5,"description":193},"docs\u002Fupgrade\u002Fnodered-version","2026-06-16 11:01:04 +0100","2.33.2","rLWLPOjWtkRJUsGuojU10QXBhGKOOmmQ0olyaghJV2w",[206,214,231,243],{"name":207,"order":208,"children":209},"FlowFuse User Manuals",1,[210],{"title":211,"path":212,"group":207,"groupOrder":208,"order":185,"children":213},"FlowFuse API","\u002Fdocs\u002Fapi",[],{"name":215,"order":182,"children":216},"FlowFuse Self-Hosted",[217,221],{"title":218,"path":219,"group":215,"groupOrder":182,"order":208,"children":220},"Quick Start","\u002Fdocs\u002Fquick-start",[],{"title":222,"path":223,"group":215,"groupOrder":182,"order":191,"children":224},"Upgrading FlowFuse","\u002Fdocs\u002Fupgrade",[225,229],{"title":226,"path":227,"order":195,"children":228},"Installing a license","\u002Fdocs\u002Fupgrade\u002Fopen-source-to-premium",[],{"title":5,"path":199,"order":195,"children":230},[],{"name":232,"order":233,"children":234},"Support",5,[235,239],{"title":236,"path":237,"group":232,"groupOrder":233,"order":191,"children":238},"Premium Support","\u002Fdocs\u002Fpremium-support",[],{"title":240,"path":241,"group":232,"groupOrder":233,"order":195,"children":242},"Debugging Node-RED issues","\u002Fdocs\u002Fdebugging",[],{"name":244,"order":195,"children":245},"Other",[246,294,306,383,432,451,523,534],{"title":247,"path":248,"order":195,"children":249},"admin","\u002Fdocs\u002Fadmin",[250,254,266,274,278,282,286,290],{"title":251,"path":252,"order":208,"children":253},"Administering FlowFuse","\u002Fdocs\u002Fadmin\u002Fintroduction",[],{"title":255,"path":256,"order":195,"children":257},"Configuring Single Sign-On (SSO)","\u002Fdocs\u002Fadmin\u002Fsso",[258,262],{"title":259,"path":260,"order":195,"children":261},"LDAP SSO","\u002Fdocs\u002Fadmin\u002Fsso\u002Fldap",[],{"title":263,"path":264,"order":195,"children":265},"SAML SSO","\u002Fdocs\u002Fadmin\u002Fsso\u002Fsaml",[],{"title":267,"path":268,"order":195,"children":269},"hardening","\u002Fdocs\u002Fadmin\u002Fhardening",[270],{"title":271,"path":272,"order":195,"children":273},"Kubernetes Hardening","\u002Fdocs\u002Fadmin\u002Fhardening\u002Fkubernetes",[],{"title":275,"path":276,"order":195,"children":277},"Monitoring","\u002Fdocs\u002Fadmin\u002Fmonitoring",[],{"title":279,"path":280,"order":195,"children":281},"Observability","\u002Fdocs\u002Fadmin\u002Fobservability",[],{"title":283,"path":284,"order":195,"children":285},"Soft Launch Enablement","\u002Fdocs\u002Fadmin\u002Ffeature-flags",[],{"title":287,"path":288,"order":195,"children":289},"Telemetry","\u002Fdocs\u002Fadmin\u002Ftelemetry",[],{"title":291,"path":292,"order":195,"children":293},"User Management","\u002Fdocs\u002Fadmin\u002Fuser-management",[],{"title":295,"path":296,"order":195,"children":297},"cloud","\u002Fdocs\u002Fcloud",[298,302],{"title":299,"path":300,"order":208,"children":301},"Introduction","\u002Fdocs\u002Fcloud\u002Fintroduction",[],{"title":303,"path":304,"order":195,"children":305},"FlowFuse Cloud Billing","\u002Fdocs\u002Fcloud\u002Fbilling",[],{"title":307,"path":308,"order":195,"children":309},"contribute","\u002Fdocs\u002Fcontribute",[310,313,317,321,325,329,333,339,375,379],{"title":299,"path":311,"order":208,"children":312},"\u002Fdocs\u002Fcontribute\u002Fintroduction",[],{"title":314,"path":315,"order":195,"children":316},"Adding Template Settings","\u002Fdocs\u002Fcontribute\u002Fadding-template-settings",[],{"title":318,"path":319,"order":195,"children":320},"API Design","\u002Fdocs\u002Fcontribute\u002Fapi-design",[],{"title":322,"path":323,"order":195,"children":324},"Creating debug stack containers","\u002Fdocs\u002Fcontribute\u002Fcreating-debug-stack-containers",[],{"title":326,"path":327,"order":195,"children":328},"Database migrations","\u002Fdocs\u002Fcontribute\u002Fdb-migrations",[],{"title":330,"path":331,"order":195,"children":332},"FlowFuse Architecture","\u002Fdocs\u002Fcontribute\u002Farchitecture",[],{"title":334,"path":335,"order":195,"children":336},"Local Install","\u002Fdocs\u002Fcontribute\u002Flocal",[337],{"title":135,"path":134,"order":195,"children":338},[],{"title":340,"path":341,"order":195,"children":342},"State Flows","\u002Fdocs\u002Fcontribute\u002Fworkflows",[343,347,351,355,359,363,367,371],{"title":344,"path":345,"order":195,"children":346},"Device Editor","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fdevice-editor",[],{"title":348,"path":349,"order":195,"children":350},"Instance states","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fproject-states",[],{"title":352,"path":353,"order":195,"children":354},"Invite External Users","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Finvite-external-user",[],{"title":356,"path":357,"order":195,"children":358},"Project Creation","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fproject-create",[],{"title":360,"path":361,"order":195,"children":362},"Reset Password Flow","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fpassword-reset",[],{"title":364,"path":365,"order":195,"children":366},"Team creation Flow","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fteam-create",[],{"title":368,"path":369,"order":195,"children":370},"User Login Flows","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Flogin",[],{"title":372,"path":373,"order":195,"children":374},"User Sign up Flow","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fsignup",[],{"title":376,"path":377,"order":195,"children":378},"Team Broker","\u002Fdocs\u002Fcontribute\u002Fteam-broker",[],{"title":380,"path":381,"order":195,"children":382},"Working with Feature Flags","\u002Fdocs\u002Fcontribute\u002Ffeature-flags",[],{"title":384,"path":385,"order":195,"children":386},"device-agent","\u002Fdocs\u002Fdevice-agent",[387,391,394,398,402,407],{"title":388,"path":389,"order":208,"children":390},"FlowFuse Device Agent Introduction","\u002Fdocs\u002Fdevice-agent\u002Fintroduction",[],{"title":218,"path":392,"order":185,"children":393},"\u002Fdocs\u002Fdevice-agent\u002Fquickstart",[],{"title":395,"path":396,"order":182,"children":397},"Register your Remote Instance","\u002Fdocs\u002Fdevice-agent\u002Fregister",[],{"title":399,"path":400,"order":233,"children":401},"Running the Agent","\u002Fdocs\u002Fdevice-agent\u002Frunning",[],{"title":403,"path":404,"order":405,"children":406},"Deploying your Flows","\u002Fdocs\u002Fdevice-agent\u002Fdeploy",6,[],{"title":408,"path":409,"order":195,"children":410},"install","\u002Fdocs\u002Fdevice-agent\u002Finstall",[411,416,420,424,428],{"title":412,"path":413,"group":414,"order":208,"children":415},"Overview","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Foverview","DeviceAgentInstallation",[],{"title":417,"path":418,"group":414,"order":185,"children":419},"Device Agent Installer","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Fdevice-agent-installer",[],{"title":421,"path":422,"group":414,"order":191,"children":423},"Docker Install","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Fdocker",[],{"title":425,"path":426,"group":414,"order":182,"children":427},"Kubernetes Install","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Fkubernetes",[],{"title":429,"path":430,"group":414,"order":233,"children":431},"Manual Install with NPM","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Fmanual",[],{"title":433,"path":434,"order":195,"children":435},"hardware","\u002Fdocs\u002Fhardware",[436,439,443,447],{"title":412,"path":437,"order":208,"children":438},"\u002Fdocs\u002Fhardware\u002Fintroduction",[],{"title":440,"path":441,"order":185,"children":442},"ctrlX - Node-RED","\u002Fdocs\u002Fhardware\u002Fctrlx-node-red",[],{"title":444,"path":445,"order":191,"children":446},"ctrlX - Device Agent","\u002Fdocs\u002Fhardware\u002Fctrlx-device-agent",[],{"title":448,"path":449,"order":191,"children":450},"Raspberry Pi with Raspbian","\u002Fdocs\u002Fhardware\u002Fraspbian",[],{"title":408,"path":452,"order":195,"children":453},"\u002Fdocs\u002Finstall",[454,457,461,465,484,488,492,496],{"title":412,"path":455,"order":208,"children":456},"\u002Fdocs\u002Finstall\u002Fintroduction",[],{"title":458,"path":459,"order":195,"children":460},"Configuring FlowFuse","\u002Fdocs\u002Finstall\u002Fconfiguration",[],{"title":462,"path":463,"order":195,"children":464},"DNS Setup","\u002Fdocs\u002Finstall\u002Fdns-setup",[],{"title":466,"path":467,"order":195,"children":468},"Docker install","\u002Fdocs\u002Finstall\u002Fdocker",[469,472,476,480],{"title":470,"path":140,"order":195,"children":471},"Add Project Stacks on Docker",[],{"title":473,"path":474,"order":195,"children":475},"Docker Engine on Windows","\u002Fdocs\u002Finstall\u002Fdocker\u002Fwindows-docker-ce",[],{"title":477,"path":478,"order":195,"children":479},"Docker from AWS Market Place","\u002Fdocs\u002Finstall\u002Fdocker\u002Faws-marketplace",[],{"title":481,"path":482,"order":195,"children":483},"Docker on Digital Ocean","\u002Fdocs\u002Finstall\u002Fdocker\u002Fdigital-ocean",[],{"title":485,"path":486,"order":195,"children":487},"Email configuration","\u002Fdocs\u002Finstall\u002Femail-providers",[],{"title":489,"path":490,"order":195,"children":491},"First Run Setup","\u002Fdocs\u002Finstall\u002Ffirst-run",[],{"title":493,"path":494,"order":195,"children":495},"FlowFuse File Storage","\u002Fdocs\u002Finstall\u002Ffile-storage",[],{"title":497,"path":498,"order":195,"children":499},"Install FlowFuse on Kubernetes","\u002Fdocs\u002Finstall\u002Fkubernetes",[500,504,508,512,516,519],{"title":501,"path":502,"order":195,"children":503},"AWS EKS Installation","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Faws",[],{"title":505,"path":506,"order":195,"children":507},"AWS EKS Installation with Terraform and Helm","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Faws-terraform",[],{"title":509,"path":510,"order":195,"children":511},"Digital Ocean Kubernetes Installation","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Fdigital-ocean",[],{"title":513,"path":514,"order":195,"children":515},"Ingress Controller Migration","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Fingress-controller-migration",[],{"title":517,"path":146,"order":195,"children":518},"Kubernetes Project Stacks",[],{"title":520,"path":521,"order":195,"children":522},"OpenShift Installation","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Fopenshift",[],{"title":524,"path":525,"order":195,"children":526},"migration","\u002Fdocs\u002Fmigration",[527,530],{"title":299,"path":528,"order":208,"children":529},"\u002Fdocs\u002Fmigration\u002Fintroduction",[],{"title":531,"path":532,"order":195,"children":533},"Node-RED Tools plugin","\u002Fdocs\u002Fmigration\u002Fnode-red-tools",[],{"title":535,"path":536,"order":195,"children":537},"user","\u002Fdocs\u002Fuser",[538,542,546,550,554,559,561,565,569,573,577,581,593,597,601,605,609,613,617,621,625,629,633,637,641,645,648,652],{"title":539,"path":540,"order":208,"children":541},"Getting Started","\u002Fdocs\u002Fuser\u002Fintroduction",[],{"title":543,"path":544,"order":208,"children":545},"Static asset service","\u002Fdocs\u002Fuser\u002Fstatic-asset-service",[],{"title":547,"path":548,"order":185,"children":549},"Bill of Materials","\u002Fdocs\u002Fuser\u002Fbill-of-materials",[],{"title":551,"path":552,"order":185,"children":553},"FlowFuse Concepts","\u002Fdocs\u002Fuser\u002Fconcepts",[],{"title":555,"path":556,"order":557,"children":558},"Instance States","\u002Fdocs\u002Fuser\u002Finstance-states",10,[],{"title":170,"path":169,"order":195,"children":560},[],{"title":562,"path":563,"order":195,"children":564},"Custom Hostnames","\u002Fdocs\u002Fuser\u002Fcustom-hostnames",[],{"title":566,"path":567,"order":195,"children":568},"Custom Node Packages","\u002Fdocs\u002Fuser\u002Fcustom-npm-packages",[],{"title":570,"path":571,"order":195,"children":572},"Dashboards","\u002Fdocs\u002Fuser\u002Fdashboards",[],{"title":574,"path":575,"order":195,"children":576},"DevOps Pipelines","\u002Fdocs\u002Fuser\u002Fdevops-pipelines",[],{"title":578,"path":579,"order":195,"children":580},"Environment Variables","\u002Fdocs\u002Fuser\u002Fenvvar",[],{"title":582,"path":583,"order":195,"children":584},"FlowFuse Expert","\u002Fdocs\u002Fuser\u002Fexpert",[585,589],{"title":586,"path":587,"order":195,"children":588},"AI in Node-RED","\u002Fdocs\u002Fuser\u002Fexpert\u002Fnode-red-embedded-ai",[],{"title":590,"path":591,"order":195,"children":592},"Chat Interface","\u002Fdocs\u002Fuser\u002Fexpert\u002Fchat",[],{"title":594,"path":595,"order":195,"children":596},"FlowFuse File Nodes","\u002Fdocs\u002Fuser\u002Ffilenodes",[],{"title":598,"path":599,"order":195,"children":600},"FlowFuse MQTT Nodes","\u002Fdocs\u002Fuser\u002Fmqtt-nodes",[],{"title":602,"path":603,"order":195,"children":604},"FlowFuse Persistent Context","\u002Fdocs\u002Fuser\u002Fpersistent-context",[],{"title":606,"path":607,"order":195,"children":608},"FlowFuse Project Nodes","\u002Fdocs\u002Fuser\u002Fprojectnodes",[],{"title":610,"path":611,"order":195,"children":612},"FlowFuse Tables","\u002Fdocs\u002Fuser\u002Fff-tables",[],{"title":614,"path":615,"order":195,"children":616},"Groups","\u002Fdocs\u002Fuser\u002Fdevice-groups",[],{"title":618,"path":619,"order":195,"children":620},"High Availability mode","\u002Fdocs\u002Fuser\u002Fhigh-availability",[],{"title":622,"path":623,"order":195,"children":624},"HTTP Access Tokens","\u002Fdocs\u002Fuser\u002Fhttp-access-tokens",[],{"title":626,"path":627,"order":195,"children":628},"Instance Settings","\u002Fdocs\u002Fuser\u002Finstance-settings",[],{"title":630,"path":631,"order":195,"children":632},"Logging","\u002Fdocs\u002Fuser\u002Flogs",[],{"title":634,"path":635,"order":195,"children":636},"Role-Based Access Control","\u002Fdocs\u002Fuser\u002Frole-based-access-control",[],{"title":638,"path":639,"order":195,"children":640},"Shared Team Library","\u002Fdocs\u002Fuser\u002Fshared-library",[],{"title":642,"path":643,"order":195,"children":644},"Snapshots","\u002Fdocs\u002Fuser\u002Fsnapshots",[],{"title":376,"path":646,"order":195,"children":647},"\u002Fdocs\u002Fuser\u002Fteambroker",[],{"title":649,"path":650,"order":195,"children":651},"Teams","\u002Fdocs\u002Fuser\u002Fteam",[],{"title":653,"path":654,"order":195,"children":655},"User Settings","\u002Fdocs\u002Fuser\u002Fuser-settings",[],1786546042698]