Versioning which does not exist in dictionary yet but have very valuable meaning to all the geeks. In case if you don’t know, versioning means storing every copy of your file or data, whenever it gets modified the previous version is archived with date and time of modification. Versioning simply allows you to go back in history of any file or any data. You need to know what it was 2 months ago, you can check that. You want to see how many times it has been modified since then you can see. So its very useful and in some cases (e.g software development) it is the only way to store data.
Now back to topic, Amazon has recently announced versioning support for Simple Storage Solution aka S3. The versioning support is still in beta and is only available to “us-west-1” region. So if you need versioning for your bucket then you need to create it in “us-west-1” region, this is because it is still in beta as Amazon is testing waters. If the users accept versioning and it works out they will surely be enabling it on all the regions.
It is not enabled by default, so you have to enable it for your bucket. Once enabled every object in your bucket will have it and from there on all the versions of the objects will be archived. Even if you mistakenly delete an object you can get it back. For more technical details see Amazon S3 Versioning Proposal.