Skip to content

Releases: mautrix/python

v0.19.6

13 Mar 14:00

Choose a tag to compare

  • (crypto) Added cache checks to prevent invalidating group session when the server sends a duplicate member event in /sync.
  • (util.proxy) Fixed min_wait_seconds behavior and added max_wait_seconds and multiply_wait_seconds to proxy_with_retry.

v0.19.5

07 Mar 12:22

Choose a tag to compare

  • (util.proxy) Added utility for dynamic proxies (from mautrix-instagram/facebook).
  • (types) Added default value for upload_size in MediaRepoConfig as the field is optional in the spec.
  • (bridge) Changed ghost invite handling to only process one per room at a time (thanks to @maltee1 in #132).

v0.19.4

12 Feb 10:19

Choose a tag to compare

  • (types) Changed set_thread_parent to inherit the existing thread parent if a MessageEvent is passed, as starting threads from a message in a thread is not allowed.
  • (util.background_task) Added new utility for creating background tasks safely, by ensuring that the task is not garbage collected before finishing and logging uncaught exceptions immediately.

v0.19.3

27 Jan 13:09

Choose a tag to compare

  • (bridge) Bumped default timeouts for decrypting incoming messages.

v0.19.2

14 Jan 12:27

Choose a tag to compare

  • (util.async_body) Added utility for reading aiohttp response into a bytearray (so that the output is mutable, e.g. for decrypting or encrypting media).
  • (client.api) Fixed retry loop for MSC3870 URL uploads not exiting properly after too many errors.

v0.19.1

11 Jan 13:15

Choose a tag to compare

  • Marked Python 3.11 as supported. Python 3.8 support will likely be dropped in the coming months.
  • (client.api) Added request payload memory optimization to MSC3870 URL uploads.
    • aiohttp will duplicate the entire request body if it's raw bytes, which wastes a lot of memory. The optimization is passing an iterator instead of raw bytes, so aiohttp won't accidentally duplicate the whole thing.
    • The main HTTPAPI has had the optimization for a while, but uploading to URL calls aiohttp manually.

v0.19.0

10 Jan 13:32

Choose a tag to compare

  • Breaking change (appservice) Removed typing status from state store.
  • Breaking change (appservice) Removed is_typing parameter from IntentAPI.set_typing to make the signature match ClientAPI.set_typing. timeout=0 is equivalent to the old is_typing=False.
  • Breaking change (types) Removed legacy fields in Beeper MSS events.
  • (bridge) Removed accidentally nested reply loop when accepting invites as the bridge bot.
  • (bridge) Fixed decoding JSON values in config override env vars.

v0.18.9

13 Dec 23:31

Choose a tag to compare

  • (util.async_db) Changed aiosqlite connector to force-enable foreign keys, WAL mode and busy_timeout.
    • The values can be changed by manually specifying the same PRAGMAs in the init_commands db arg, e.g. - PRAGMA foreign_keys = OFF.
  • (types) Added workaround to StateEvent.deserialize to handle Conduit's broken unsigned fields.
  • (client.state_store) Fixed set_power_level to allow raw dicts the same way as set_encryption_info does (thanks to @bramenn in #127).

v0.18.8

18 Nov 17:24

Choose a tag to compare

  • (crypto.store.asyncpg) Fixed bug causing put_group_session to fail when trying to log unique key errors.
  • (client) Added wrapper for create_room to update the state store with initial state and invites (applies to anything extending StoreUpdatingAPI, such as the high-level Client and appservice IntentAPI classes).

v0.18.7

08 Nov 16:30

Choose a tag to compare

Bump version to 0.18.7