Full deploy deletes node scoped context variables but not flow or global context.
Deploy modified flows will only delete node scoped variables if the node that set it is modified - simply moving it does not suffice.
Restart flows also deletes node-scoped context but not flow or global.
This is not what the documentation Working with context says - only some context is cleared by a restart.
By default, context is stored in memory only. This means its contents are cleared whenever Node-RED restarts. With the 0.19 release, it is possible to configure Node-RED to save context data so it is available across restarts.
But I believe the reason @Colin asked the question is that none of these options will reset a dashboard chart to the defaults once you have borked it.
Since Restart flows is insufficient, can we have a fifth option Restart Node-red in the dropdown?
This is referring to the different context stores, which have been around a while and need to be intentionally set up to persist (EG, adding a file system context store and using it in your flow)
A full cold restart for a node.js app depends, I believe, on how it is run. Node-RED can be run in many different ways, without knowing which, how can node-red know how to restart?
But maybe there could be some kind of reload rather than restart? Not sure how feasible that would be. Perhaps others with better knowledge of core could say.
I agree that the button probably isn't going to do a full app restart, but we should have the option to completely revert node-red's state back to unloading and reloading the current flow file as if starting fresh- also clearing any memory based context stores.
For now I just use an exec node to do a restart when needed during development. This unfortunately for most cases, requires root privileges and a nopassword setup, which is not very secure...and should be disabled once deployed, so again I think V5 should include a new button in the dropdown.