Version scheduling for nodes
You can keep your versions of nodes using  Revisioning module.In addition to it you can use Diff Moudule to compare between two versions of nodes.

And you can use Scheduler Module. to schedule the node publish.