So I just got my DVD of Xara Designer Pro X9 in the mail yesterday and trying to accustom myself with the differences from Xara Xtreme Pro 4, the previous version I've been using. And there are many changes, some big, some small. Xara is a vector drawing application like Illustrator, CorelDraw, Serif DrawPlus, Inkscape and other similar programs. Xara has a smaller toolset than Illustrator, for example, but the tools Xara has are among the most versatile and powerful versions of those tools.
Xara Designer Pro X9 (linky here).
One of the new features is Infinite Undo. The way it works depends on the unique way Xara stores it's files. When you import a JPG of some terrain (for example), Xara stores a master copy of the original imported photo, but the display of that photo in Xara, technically isn't an image anymore, rather it's a vector rectangle at the pixel dimensions of the photo, with the photo itself as an image fill for that vector shape. Now any and all edits I do with the image: brighten, contrast adjustments, rescaling, cropping, rotating, applying bevels, transparency are stored as a list of edits. It does not save a new instance of a given image with changes applied, even when you save the file and close the program. I can open a previously saved file and undo any edits I've done today, the last time I opened it, even if I opened, edited, saved and closed the file 50 or more times, I can still undo anything ever done to the file. As stated, Xara is not storing the file as an adjusted JPG image - it only saves the master copy once, all subsequent edits are listed in order of performance of mathematical notations of each edit. The saved file shown at opening appears with all edits done to it, but not as a new version of the original image, rather the original image wih all edits applied. No other graphics package can do this!
It can do a lot more, and very complicated stuff, but I've yet to explore those aspects and truly get a grip of it, just yet. However, infinite undo is going to save me a lot of headaches. I will post more features of XDP9 as I use them...