Skip to content

1.2 Release

Compare
Choose a tag to compare
@TomasMikula TomasMikula released this 12 Sep 01:01
· 45 commits to master since this release

There is a change in how undo manager is constructed. Instead of providing an unapply function, you now need to provide an invert function that returns an inverse of a given change, such that

unapply(change) = apply(invert(change))

It is now also required that the change objects properly implement equals.

While these changes pose additional requirements on the user side, it allows the implementation to detect potential problems in the application: whenever the UndoManager is applying a change, it expects to receive the exact same change (up to equals) in the observed EventStream of changes. If this does not happen, it is very likely a problem that otherwise could go undetected.