D3.js is a JavaScript library for manipulating documents based on data. D3 helps you bring data to life using HTML, SVG and CSS. D3’s emphasis on web standards gives you the full capabilities of modern browsers without tying yourself to a proprietary framework, combining powerful visualization components and a data-driven approach to DOM manipulation.
jsUndoable is my second attempt at a powerful, reusable, undo library for Javascript. It uses the command pattern and is roughly based on the Cocoa undo manager.