3.8
Drop Python 3.9 support. Use concurrent.futures instead of multiprocessing.dummy. Wrap unexpected hook errors in UpdateHookError instead of letting them bubble up, so plugin-raised exceptions for one feed don't prevent updates for others. Add an Exception hierarchy diagram. Make reader._parser
a package and rework lazy imports. See changelog for details.