S3 Lifecycle Support for Versioning

Amazon S3 now enables specifying a lifecycle configuration on versioned
buckets. Versioning provides protection against overwrites and deletes
by enabling you to preserve, retrieve, and restore every version of
every object in an Amazon S3 bucket. Using lifecycle rules, you can
automatically control the cost of storing multiple versions of your
objects.