Xmonad/Notable changes since 0.13

From HaskellWiki

This page is for keeping a record of significant changes in git xmonad and xmonad-contrib since the 0.13 release (Feb 10, 2017). See git log in the source repositories for the patches and more details covering documentation and bug fixes not noted here.

non-breaking changes

(to come)

breaking changes

State file bug

The 0.13 release included a change to pass state information across mod-q via a file instead of as command line parameters, which fixes some bugs related to overly long command lines (usually seen when using something like XMonad.Actions.Plane, or very many or very long spawnOnce invocations). Unfortunately, the release version did not remove the file after reading it, causing old state information to be added to new sessions.

This bug has been fixed in git, and can be worked around by removing the state file ~/.xmonad/xmonad.state (or, if you are using pseudo-XDG mode, ~/.config/xmonad/xmonad.state) before starting xmonad as part of session startup.

Screen ordering (X.A.PhyiscalScreen)

In the XMonad.Actions.PhyiscalScreen module, the getScreen, viewScreen, sendToScreen, onNextNeighbour, and onPrevNeighbour functions all now take an extra parameter of type ScreenComparator, which can be used to specify how the screens should be ordered. To keep the default behavior, use the parameter def. See https://github.com/xmonad/xmonad-contrib/pull/182.