Keep a copy of each version in a database. Store the version number in user account. Allow a link to see the version you agreed to, and a link to see the latest. Click OK to update to the latest and set that version number in your account.
I don't think implementing a version control on TOS is particularly problematic - I think the business side of it is a way bigger problem - every user has agreed to different rules. Sounds like a nightmare for moderation, litigation, and decision making.
I don't think implementing a version control on TOS is particularly problematic - I think the business side of it is a way bigger problem - every user has agreed to different rules. Sounds like a nightmare for moderation, litigation, and decision making.