Revisions of python-mautrix
Dirk Mueller (dirkmueller)
committed
(revision 8)
- update to update to 0.20.3: * Deprecated MSC2716 methods and added new Beeper- specific batch send methods, as upstream MSC2716 support has been abandoned. * *(util.async_db)* Added `PRAGMA synchronous = NORMAL;` to default pragmas. * *(types)* Fixed `guest_can_join` field name in room directory response * Switched to secrets.token_urlsafe for generating tokens * Allowed sending read receipts even if appservice user is not * Added TraceLogger type hints to command handling classes * Fixed typo in HTML reply fallback generation when target * Made CommandEvent.mark_read async instead of returning an - Initial package
Matej Cepl (mcepl)
accepted
request 1119335
from
Matej Cepl (mcepl)
(revision 7)
- Update to 0.20.2: - (crypto) Changed OlmMachine.share_keys to make the OTK count parameter optional. When omitted, the count is fetched from the server. - (appservice) Added option to run appservice transaction event handlers synchronously. - (appservice) Added log and hs_token parameters to AppServiceServerMixin to allow using it as a standalone class without extending. - (api) Added support for setting appservice user_id and device_id query parameters manually without using AppServiceAPI. - Update to 0.20.1: - (util.program) Removed --base-config flag in bridges, as there are no valid use cases (package data should always work) and it's easy to cause issues by pointing the flag at the wrong file. - (bridge) Added support for the com.devture.shared_secret_auth login type for automatic double puppeting. - (bridge) Dropped support for syncing with double puppets. MSC2409 is now the only way to receive ephemeral events. - (bridge) Added support for double puppeting with arbitrary as_tokens. - Update to 0.20.0: - 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. - Update to 0.19.16: - (appservice) Fixed Python 3.8 compatibility. - Remove upstreamed no-immutable.patch.
Matej Cepl (mcepl)
accepted
request 1088886
from
Matej Cepl (mcepl)
(revision 6)
- Update to 0.19.15: - Fixed dispatching room ephemeral events (i.e. typing notifications) in syncer.
Matej Cepl (mcepl)
accepted
request 1087790
from
Matej Cepl (mcepl)
(revision 5)
- Update to 0.19.14: - bridge Implemented appservice pinging using MSC2659. - bridge Started reusing aiosqlite connection pool for crypto db. - This fixes the crypto pool getting stuck if the bridge exits unexpectedly (the default pool is closed automatically at any type of exit). - Update to 0.19.13: - crypto Fixed bug with redacting megolm sessions when device is deleted. - Update to 0.19.12: - bridge Fixed backwards-compatibility with new key deletion config options. - Update to 0.19.11: - crypto Fixed bug in previous release which caused errors if the `max_age` of a megolm session was not known. - crypto Changed key receiving handler to fetch encryption config from server if it's not cached locally (to find `max_age` and `max_messages` more reliably). - Update to 0.19.10: - crypto, bridge Added options to automatically ratchet/delete megolm sessions to minimize access to old messages. - Update to 0.19.9: - crypto Fixed bug in crypto store migration when using outbound sessions with max age higher than usual. - Update to 0.19.8: - crypto Updated crypto store schema to match mautrix-go. - types Fixed `set_thread_parent` adding reply fallbacks to the message body. - Update to 0.19.7: - bridge, crypto Fixed key sharing trust checker not resolving cross-signing signatures when minimum trust level is set to cross-signed. - Update to 0.19.6: - 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`. - Update to 0.19.5: - 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]). - Update to 0.19.4: - 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. - Update to 0.19.3: - bridge Bumped default timeouts for decrypting incoming messages. - Update to 0.19.2: - 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. - Update to 0.19.1: - 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. - Update to 0.19.0: - 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. - Update to 0.18.9: - 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]). - Update to 0.18.8: - 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). - Update to 0.18.7: - Update to 0.18.6: - util.formatter Added conversion method for `<hr>` tag and defaulted to converting back to `---`. - Update to 0.18.5: - appservice Added try blocks around [MSC3202] handler functions to log errors instead of failing the entire transaction. This matches the behavior of errors in normal appservice event handlers. - Update to 0.18.4: - client.api Added option to pass custom data to `/createRoom` to enable using custom fields and testing MSCs without changing the library. - client.api Updated [MSC3870] support to send file name in upload complete call. - types Changed `set_edit` to clear reply metadata as edits can't change the reply status. - util.formatter Fixed edge case causing negative entity lengths when splitting entity strings. - Update to 0.18.3: - util.async_db Fixed mistake in default no-op database error handler causing the wrong exception to be raised. - crypto.store.asyncpg Updated `put_group_session` to catch unique key errors and log instead of raising. - client.api Updated [MSC3870] support to catch and retry on all connection errors instead of only non-200 status codes when uploading. - Update to 0.18.2: - crypto Fixed handling key requests when using appservice-mode MSC2409 encryption. - appservice Added workaround for dumb servers that send `"unsigned": null` in events. - Update to 0.18.1: - crypto Fixed error sharing megolm session if a single recipient device has ran out of one-time keys. - Update to 0.18.0: - Breaking change util.async_db Added checks to prevent calling `.start()` on a database multiple times. - appservice Fixed [MSC2409] support to read to-device events from the correct field. - appservice Added support for automatically calling functions when a transaction contains [MSC2409] to-device events or [MSC3202] encryption data. - bridge Added option to use [MSC2409] and [MSC3202] for end-to-bridge encryption. However, this may not work with the Synapse implementation as it hasn't been tested yet. - bridge Replaced `homeserver` -> `asmux` flag with more generic `software` field. - bridge Added support for overriding parts of config with environment variables. - If the value starts with `json::`, it'll be parsed as JSON instead of using as a raw string. - client.api Added support for [MSC3870] for both uploading and downloading media. - types Added `knock_restricted` join rule to `JoinRule` enum. - crypto Added warning logs if claiming one-time keys for other users fails. - Add no-immutable.patch (gh#mautrix/python#147) to make tests work with SQLAlchemy 2.* (bad hack).
Matej Cepl (mcepl)
accepted
request 1000502
from
Matej Cepl (mcepl)
(revision 4)
- Update to 0.17.8: - (crypto) Fixed parsing /keys/claim responses with no failures field. - (bridge) Fixed parsing e2ee key sharing allow/minimum level config. - (util.async_db) Added init_commands to run commands on each SQLite connection (e.g. to enable PRAGMAs). No-op on Postgres. - (bridge) Added check to make sure e2ee keys are intact on server. If they aren't, the crypto database will be wiped and the bridge will stop. - (bridge) Added hidden option to use appservice login for double puppeting. - (client) Fixed sync handling throwing an error if event parsing failed. - (errors) Added M_UNKNOWN_ENDPOINT error code from MSC3743 - (appservice) Updated MSC3202 support to handle one time keys correctly. - (types) Added m.read.private to receipt types. - (appservice) Stopped ensure_registered and invite_user raising IntentErrors (now they raise the original Matrix error instead). - (bridge) Started rejecting reusing access tokens when enabling double puppeting. Reuse is detected by presence of encryption keys on the device. - (client.api) Added wrapper method for the /context API. - (api, errors) Implemented new error codes from MSC3848. - (types) Disabled deserializing m.direct content (it didn't work and it wasn't really necessary). - (client.state_store) Updated set_encryption_info to allow raw dicts. This fixes the bug where sending a m.room.encryption event with a raw dict as the content would throw an error from the state store. - (crypto) Fixed error when fetching keys for user with no cross-signing keys (thanks to @maltee1 in #109). - (types) Updated BeeperMessageStatusEventContent fields. - (api) Updated request logging to log full URL instead of only path. - (bridge) Fixed migrating key sharing allow flag to new config format. - (appservice) Added beeper_new_messages flag for batch_send method. - (crypto) Fixed Python 3.8/9 compatibility broken in v0.17.0. - (crypto) Added some tests for attachments and store code. - (crypto) Improved logging when device change validation fails. - Breaking change (bridge) Added options to check cross-signing status for bridge users. This requires changes to the base config. New options include requiring cross-signed devices (with TOFU) for sending and/or receiving messages, and an option to drop any unencrypted messages. - Breaking change (crypto) Removed sender_key parameter from CryptoStore's has_group_session and put_group_session, and also OlmMachine's wait_for_session. - Breaking change (crypto.store.memory) Updated the key of the _inbound_sessions dict to be (room_id, session_id), removing the identity key in the middle. This only affects custom stores based on the memory store. - (crypto) Added basic cross-signing validation code. - (crypto) Marked device_id and sender_key as deprecated in Megolm events as per Matrix 1.3. - (api) Bumped request logs to DEBUG level. Also added new sensitive parameter to the request method to prevent logging content in sensitive requests. The login method was updated to mark the content as sensitive if a password or token is provided. - (bridge.commands) Switched the order of the user ID parameter in set-pl, set-avatar and set-displayname. - (bridge) Started requiring Matrix v1.1 support from homeservers. - (bridge) Added hack to automatically send a read receipt for messages sent to Matrix with double puppeting (to work around weird unread count issues). - (client) Added support for knocking on rooms (thanks to @maltee1 in #105). - (bridge) Added config option to set key rotation settings with e2be. - (bridge) Updated e2be helper to stop bridge if syncing fails. - (util.async_db) Updated asyncpg connector to stop program if an asyncpg InternalClientError is thrown. These errors usually cause everything to get stuck. The behavior can be disabled by passing meow_exit_on_ice = false in the db_args.
Matej Cepl (mcepl)
accepted
request 984125
from
Benjamin Greiner (bnavigator)
(revision 3)
(I happened to stumble over this in Factory staging) - Enable test suite for TW. The do have one. * Update test requirements. * Skip tests on Leap, async packages not available.
Matej Cepl (mcepl)
accepted
request 984118
from
Matej Cepl (mcepl)
(revision 2)
- Update to 0.16.8: Complete log is included as CHANGELOG.md, but it has been too long since we have updated last time.
Oliver Kurz (okurz)
accepted
request 899053
from
Matej Cepl (mcepl)
(revision 1)
Transfer the package to more appropriate project.
Displaying all 8 revisions