Lots of changes.

See CHANGES.rst