Skip to content

Releases: mautrix/python

v0.14.3

07 Jan 14:03
Compare
Choose a tag to compare
  • (types) Added MatrixURI type to parse and build matrix: URIs and https://matrix.to URLs.
  • (util.formatter) matrix: URIs are now supported in incoming messages (using the new parser mentioned above).
  • (util.variation_selector) Switched to generating list of emoji using data directly from the Unicode spec instead of emojibase.
  • (util.formatter) Whitespace in non-pre elements is now compressed into a single space. Newlines are also replaced with a space instead of removed completely. Whitespace after a block element is removed completely.
  • (util.ffmpeg) Added option to override output path, which allows outputting to stdout (by specifying -).
  • (util.config) Changed ConfigUpdateHelper.copy to ignore comments if the entity being copied is a commentable yaml object (e.g. map or list).

v0.14.2

30 Dec 16:26
Compare
Choose a tag to compare
  • (appservice) Fixed IntentAPI throwing an error when redact was called with a reason, but without extra_content.

v0.14.1

29 Dec 14:51
Compare
Choose a tag to compare
  • (util.ffmpeg) Added simple utility module that wraps ffmpeg and tempfiles to convert audio/video files to different formats, primarily intended for bridging. FFmpeg must be installed separately and be present in $PATH.

v0.14.0

26 Dec 11:25
Compare
Choose a tag to compare
  • Breaking change (mautrix.util.formatter) Made MatrixParser async and non-static
    • Being async is necessary for bridges that need to make database calls to convert mentions (e.g. Telegram has @username mentions, which can't be extracted from the Matrix user ID).
    • Being non-static allows passing additional context into the formatter by extending the class and setting instance variables.
  • (util.formatter) Added support for parsing spoilers.
  • (crypto.olm) Added describe method for OlmSessions.
  • (crypto) Fixed sorting Olm sessions (now sorted by last successful decrypt time instead of alphabetically by session ID).
  • (crypto.store.asyncpg) Fixed caching Olm sessions so that using the same session twice wouldn't cause corruption.
  • (crypto.attachments) Added support for decrypting files from non-spec-compliant clients (e.g. FluffyChat) that have a non-zero counter part in the AES initialization vector.
  • (util.async_db) Added support for using Postgres positional param syntax in the async SQLite helper (by regex-replacing $<number> with ?<number>).
  • (util.async_db) Added wrapper methods for executemany in Database and aiosqlite TxnConnection.
  • (bridge) Changed portal cleanup to leave and forget rooms using double puppeting instead of just kicking the user.

v0.13.3

15 Dec 15:38
Compare
Choose a tag to compare
  • Fixed type hints in the mautrix.crypto.store module.
  • Added debug logs for detecting crypto sync handling slowness.

v0.13.2

15 Dec 12:18
Compare
Choose a tag to compare
  • Switched message double puppet indicator convention from "net.maunium.<bridge_type>.puppet": true to "fi.mau.double_puppet_source": "<bridge_type>".
  • Added double puppet indicator to redactions made with IntentAPI.redact.

v0.13.1

15 Dec 12:00
Compare
Choose a tag to compare
  • Changed lack of media encryption dependencies (pycryptodome) to be a fatal error like lack of normal encryption dependencies (olm) are in v0.13.0.
  • Added base methods for implementing relay mode in bridges (started by @Alejo0290 in #72).

v0.13.0

09 Dec 15:40
Compare
Choose a tag to compare
  • Formatted all code using black and isort.
  • Added power_level_override parameter to ClientAPI.create_room.
  • Added default implementations of delete-portal and unbridge commands for bridges
  • Added automatic Olm session recreation if an incoming message fails to decrypt.
  • Added automatic key re-requests in bridges if the Megolm session doesn't arrive on time.
  • Changed ClientAPI.send_text to parse the HTML to generate a plaintext body instead of using the HTML directly when a separate plaintext body is not provided (also affects send_notice and send_emote).
  • Changed lack of encryption dependencies to be a fatal error if encryption is enabled in bridge config.
  • Fixed StoreUpdatingAPI not updating the local state store when using friendly membership methods like kick_user.
  • Switched Bridge class to use async_db (asyncpg/aiosqlite) instead of the legacy SQLAlchemy db by default.
  • Removed deprecated ClientAPI.parse_mxid method (use ClientAPI.parse_user_id instead).
  • Renamed ClientAPI.get_room_alias to ClientAPI.resolve_room_alias.

v0.12.5

30 Nov 10:22
Compare
Choose a tag to compare
  • Added wrapper for MSC2716's /batch_send endpoint in IntentAPI.
  • Added some Matrix request metrics (thanks to @jaller94 in #68).
  • Added utility method for adding variation selector 16 to emoji strings the same way as Element does (using emojibase data).

v0.12.4

28 Nov 10:39
Compare
Choose a tag to compare
  • Added support for parsing colors in the HTML parser (mautrix.util.formatter.MatrixParser).