One of the most frequently requested features we have had over the years is the ability to roll back revisions on files - we sorted that one out last release implementing a command to allow roll back of both item and file object revisions when things go bad (like an ECO being rejected). This meant that users could confidently change state and bump revisions prior to release knowing that they could revert later - you can reread the details on the feature here.
There was one catch though, you had to roll back files one at a time - and in a certain order - to ensure all documents were set back to the previous release, and revision rolled back. This in some cases is no small ask where there could be any number of affected files as part of the original change and increased potential of human error (where we were not perhaps following strict procedures).
The good news is of 2017 we are able to select a set of files to carry out the roll back on. For those using ECO's this means simply selecting all attached documents, doing a search through your project or simply selecting all objects on the affected assemblies uses tab and from the actions menu choose "Roll Back Lifecycle State Change".
The roll back dialog will display all selected files and provide details of any restricted objects (those that do not have a valid state to roll back to for example) and what the outcome will be for valid objects, allowing you to review before committing the roll back, and purging intermediate file or item versions.
As long as you have purging enabled on your Vault (so we can get rid of those unneeded file versions) your items or files will revert to the previous state with the correct revision - like nothing ever happened, getting you back to the drawing board faster than ever.