I'm relatively new to Mathematica, and whilst I am in awe of its fundamental mathematical capabilities, the lack of front end support for multiple levels of undo is an equally aweful oversight. If I, as a relative beginner, am already so frustrated that I should even contemplate learning the front end implementation in depth just so I could implement an undo feature myself, you may imagine just how important to me this omission is. Yes, I have already found and signed the petition
but further comment is still warranted.
I come from a business and IT background, and have worked on complex turnkey systems and major software developments, so I do appreciate that if it has not been done already, Wolfram have reasons for not doing it. What seems to be missing is a detailed capability and impact analysis that users could review and contribute to in order to define the scope of undo/redo that would satisfy most with least effort and risk for Wolfram,
Since I have had to think about the issue of undo/redo and history management generally in other contexts, I recognise that it is not trivial, but neither do I think that multiple undo/redo in input cells should present particularly great difficulties. I am sure that more experienced users could make valuable contributions if there was a suitable public discussion.
As a side commnet on front end weakness, the global scope of "Replace All" in "Find and Replace" is a disaster that has already heppened to many it seems. Surely "Repalce All in Selection" could be added!