With the Widget Customizer plugin, widgets get registered as customizer controls and so get automatically versioned when changes are made to the customizer. However, if the plugin is not activated, or even if it is, it would be great of there was versioning on the specific controls themselves. Whenever saving a widget form, a snapshot of its specific instance should be taken and stored. A new drop-down can be added to the widget form which displays all revisions, and allow the previous versions to be restored to the form.
With the Widget Customizer plugin, widgets get registered as customizer controls and so get automatically versioned when changes are made to the customizer. However, if the plugin is not activated, or even if it is, it would be great of there was versioning on the specific controls themselves. Whenever saving a widget form, a snapshot of its specific instance should be taken and stored. A new drop-down can be added to the widget form which displays all revisions, and allow the previous versions to be restored to the form.