Releases: mautrix/python
Releases · mautrix/python
v0.14.3
- (types) Added
MatrixURI
type to parse and buildmatrix:
URIs andhttps://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
v0.14.1
v0.14.0
- 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 forOlmSession
s. - (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
inDatabase
and aiosqliteTxnConnection
. - (bridge) Changed portal cleanup to leave and forget rooms using double puppeting instead of just kicking the user.
v0.13.3
v0.13.2
v0.13.1
v0.13.0
- Formatted all code using black and isort.
- Added
power_level_override
parameter toClientAPI.create_room
. - Added default implementations of
delete-portal
andunbridge
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 affectssend_notice
andsend_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 likekick_user
. - Switched Bridge class to use async_db (asyncpg/aiosqlite) instead of the legacy SQLAlchemy db by default.
- Removed deprecated
ClientAPI.parse_mxid
method (useClientAPI.parse_user_id
instead). - Renamed
ClientAPI.get_room_alias
toClientAPI.resolve_room_alias
.