What history keeps
Every node edit goes through nodes_history: title, markdown body, sort_key, parent are all snapshotted on each change. Nothing an edit overwrites is lost, and the trail stays useful for understanding why a section is the way it is.
Recovering a version
The data is preserved; the tooling to put a version back is not. Recovery is manual: open the history, find the prior version, copy the text back through patch_node or update_node. Crude but reliable.