* Dropped Python 3.8 support.
* **Breaking change *(.state_store)*** Removed legacy SQLAlchemy state store implementations.
* **Mildly breaking change *(util.async_db)*** Changed `SQLiteDatabase` to not remove prefix slashes from database paths.
* Library users should use `sqlite:path.db` instead of `sqlite:///path.db` for relative paths, and `sqlite:/path.db` instead of `sqlite:////path.db` for absolute paths.
* Bridge configs do this migration automatically.
* *(util.async_db)* Added warning log if using SQLite database path that isn't writable.
* *(util.program)* Fixed `manual_stop` not working if it's called during startup.
* *(client)* Stabilized support for asynchronous uploads.
* `unstable_create_msc` was renamed to `create_mxc`, and the `max_stall_ms` parameters for downloading were renamed to `timeout_ms`.
* *(crypto)* Added option to not rotate keys when devices change.
* *(crypto)* Added option to remove all keys that were received before the automatic ratcheting was implemented (in v0.19.10).
* *(types)* Improved reply fallback removal to have a smaller chance of false positives for messages that don't use reply fallbacks.