Revisions of python-mautrix

Dirk Mueller's avatar 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's avatar Matej Cepl (mcepl) accepted request 1119335 from Matej Cepl's avatar 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's avatar Matej Cepl (mcepl) accepted request 1088886 from Matej Cepl's avatar Matej Cepl (mcepl) (revision 6)
- Update to 0.19.15:
  - Fixed dispatching room ephemeral events (i.e. typing
    notifications) in syncer.
Matej Cepl's avatar Matej Cepl (mcepl) accepted request 1087790 from Matej Cepl's avatar 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's avatar Matej Cepl (mcepl) accepted request 1000502 from Matej Cepl's avatar 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's avatar Matej Cepl (mcepl) accepted request 984125 from Benjamin Greiner's avatar 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's avatar Matej Cepl (mcepl) accepted request 984118 from Matej Cepl's avatar 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's avatar Oliver Kurz (okurz) accepted request 899053 from Matej Cepl's avatar Matej Cepl (mcepl) (revision 1)
Transfer the package to more appropriate project.
Displaying all 8 revisions
openSUSE Build Service is sponsored by