A smart rule could handle this using the Before Saving trigger (similar to the default smart rule Create Version).