- 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.
OBS-URL: https://build.opensuse.org/request/show/1119335
OBS-URL: https://build.opensuse.org/package/show/network:messaging:matrix/python-mautrix?expand=0&rev=7
401 lines
19 KiB
Plaintext
401 lines
19 KiB
Plaintext
-------------------------------------------------------------------
|
|
Sat Oct 21 08:21:20 UTC 2023 - Matej Cepl <mcepl@cepl.eu>
|
|
|
|
- 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.
|
|
|
|
-------------------------------------------------------------------
|
|
Wed May 24 16:17:20 UTC 2023 - Matej Cepl <mcepl@suse.com>
|
|
|
|
- Update to 0.19.15:
|
|
- Fixed dispatching room ephemeral events (i.e. typing
|
|
notifications) in syncer.
|
|
|
|
-------------------------------------------------------------------
|
|
Thu May 18 05:00:34 UTC 2023 - Matej Cepl <mcepl@suse.com>
|
|
|
|
- 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).
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Aug 31 10:34:08 UTC 2022 - Matej Cepl <mcepl@suse.com>
|
|
|
|
- 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.
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Jun 21 09:43:58 UTC 2022 - Ben Greiner <code@bnavigator.de>
|
|
|
|
- Enable test suite for TW. The do have one.
|
|
* Update test requirements.
|
|
* Skip tests on Leap, async packages not available.
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Jun 21 07:06:32 UTC 2022 - Matej Cepl <mcepl@suse.com>
|
|
|
|
- Update to 0.16.8:
|
|
Complete log is included as CHANGELOG.md, but it has been too
|
|
long since we have updated last time.
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Jun 9 22:39:12 UTC 2021 - Sasi Olin <hel@lcp.world>
|
|
|
|
- Update to 0.9.3:
|
|
- Switched to stable space prefixes.
|
|
- Added option to send arbitrary content with membership events.
|
|
- Added warning if media encryption dependencies aren't installed.
|
|
- Added support for pycryptodomex for media encryption.
|
|
- Added utilities for pushing bridge status to an arbitrary HTTP endpoint.
|
|
- Changed update_direct_chats bridge method to only send updated m.direct data if the content was modified.
|
|
- Added type classes for VoIP.
|
|
- Added methods for modifying push rules and room tags.
|
|
- Switched to asyncio.create_task everywhere (replacing the older loop.create_task and asyncio.ensure_future).
|
|
- Added option to retry all HTTP requests when encountering a HTTP network error or gateway error response (502/503/504)
|
|
- Disabled by default, you need to set the default_retry_count field in HTTPAPI (or Client), or the default_http_retry_count field in AppService to enable.
|
|
- Can also be enabled with HTTPAPI.request()s retry_count parameter.
|
|
- The mautrix.util.network_retry module was removed as it became redundant.
|
|
- Fixed GET requests having a body (#44).
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Mar 16 17:58:51 UTC 2021 - Matej Cepl <mcepl@suse.com>
|
|
|
|
- Update to version 0.8.15:
|
|
- Add option to not use transaction for db upgrades
|
|
- Return None instead of attr.NOTHING for fields without value
|
|
- Crash if server doesn't advertise appservice login
|
|
- Switch BaseFileConfig to use pkgutil instead of pkg_resources
|
|
- Catch MNotFound when updating m.direct
|
|
- Log data when deserialization fails
|
|
- Expose ExtensibleEnum in mautrix.types
|
|
- Allow postgresql:// scheme in encryption database URL
|
|
- Add better error message if deserialization fails
|
|
- Log full data instead of only known fields when failing to
|
|
deserialize
|
|
- Automatically retry login if custom puppet start fails
|
|
- Fix ExtensibleEnum leaking keys between different types
|
|
- Allow changing bot used in ensure_joined
|
|
- Add custom puppet relogin when sync fails
|
|
- Handle MNotFound when getting pinned events
|
|
- Use same txn_id when retrying sends in bridges
|
|
- Update client state store with events from sync
|
|
- Don't check message in whoami forbidden error
|
|
- Fix fault for rooms without power_levels state event.
|
|
- Graceful handling of missing or empty event.unsigned object.
|
|
- Send warning when receiving encrypted messages with e2be
|
|
disabled
|
|
- Add utility for async getter locking
|
|
- Allow overriding asyncpg pool in async_db Database wrapper
|
|
- Only update state if state_store is set
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Jan 4 11:41:20 UTC 2021 - Dead Mozay <dead_mozay@opensuse.org>
|
|
|
|
- Update to version 0.8.6:
|
|
* Switched to secrets.token_urlsafe for generating tokens
|
|
(e.g. registration hs/as_tokens).
|
|
* Changed sync error logging to warning instead of exception.
|
|
* Allowed sending read receipts even if appservice user is not
|
|
in room (#34).
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Dec 29 15:21:33 UTC 2020 - Dead Mozay <dead_mozay@opensuse.org>
|
|
|
|
- Update to version 0.8.5:
|
|
* Made SerializableEnum work with int value
|
|
* Added TraceLogger type hints to command handling classes
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Nov 19 04:21:19 UTC 2020 - Dead Mozay <dead_mozay@opensuse.org>
|
|
|
|
- Update to version 0.8.3:
|
|
* Fixed typo in HTML reply fallback generation when target
|
|
message is plaintext.
|
|
* Made CommandEvent.mark_read async instead of returning an
|
|
awaitable, because sometimes it didn't return an awaitable.
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Jun 3 15:29:31 UTC 2020 - Dead Mozay <dead_mozay@opensuse.org>
|
|
|
|
- Update to version 0.5.0:
|
|
* No changelog was made available.
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Feb 28 14:18:48 UTC 2020 - Tomáš Chvátal <tchvatal@suse.com>
|
|
|
|
- Format with spec-cleaner
|
|
- Sort out the deps
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Feb 27 13:11:59 UTC 2020 - Dead Mozay <dead_mozay@opensuse.org>
|
|
|
|
- Initial package
|