Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-mautrix for openSUSE:Factory 
checked in at 2023-05-18 15:20:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-mautrix (Old)
 and      /work/SRC/openSUSE:Factory/.python-mautrix.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-mautrix"

Thu May 18 15:20:05 2023 rev:9 rq:1087791 version:0.19.14

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-mautrix/python-mautrix.changes    
2022-09-01 22:12:09.200405325 +0200
+++ /work/SRC/openSUSE:Factory/.python-mautrix.new.1533/python-mautrix.changes  
2023-05-18 15:20:16.170201514 +0200
@@ -1,0 +2,143 @@
+Thu May 18 05:00:34 UTC 2023 - Matej Cepl <mc...@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).
+
+-------------------------------------------------------------------

Old:
----
  mautrix-python-0.17.8-gh.tar.gz

New:
----
  mautrix-python-0.19.14-gh.tar.gz
  no-immutable.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-mautrix.spec ++++++
--- /var/tmp/diff_new_pack.7PVJLk/_old  2023-05-18 15:20:16.918206101 +0200
+++ /var/tmp/diff_new_pack.7PVJLk/_new  2023-05-18 15:20:16.926206151 +0200
@@ -25,13 +25,16 @@
 %endif
 
 Name:           python-mautrix
-Version:        0.17.8
+Version:        0.19.14
 Release:        0
 Summary:        A Python 3 asyncio Matrix framework
 License:        MPL-2.0
 URL:            https://github.com/mautrix/python
 # The GitHub Archive has json data required for the test suite
 Source:         
https://github.com/mautrix/python/archive/refs/tags/v%{version}.tar.gz#/mautrix-python-%{version}-gh.tar.gz
+# PATCH-FIX-UPSTREAM no-immutable.patch gh#mautrix/python#147 mc...@suse.com
+# SQLAlchemy 2.0 renamed sql.base.ImmutableColumnCollection to 
ReadOnlyColumnCollection
+Patch0:         no-immutable.patch
 BuildRequires:  %{python_module base}
 BuildRequires:  %{python_module setuptools}
 BuildRequires:  fdupes
@@ -48,6 +51,10 @@
 BuildRequires:  %{python_module python-magic >= 0.4.15}
 # /SECTION optional requirements
 %if %{with test}
+BuildRequires:  %{python_module typing_extensions}
+BuildRequires:  %{python_module commonmark}
+BuildRequires:  %{python_module lxml}
+BuildRequires:  %{python_module uvloop}
 BuildRequires:  %{python_module pytest-asyncio}
 BuildRequires:  %{python_module asyncpg}
 BuildRequires:  %{python_module pytest}
@@ -56,6 +63,8 @@
 BuildRequires:  %{python_module olm}
 BuildRequires:  %{python_module unpaddedbase64}
 BuildRequires:  %{python_module pycryptodomex}
+BuildRequires:  %{python_module ruamel.yaml}
+BuildRequires:  %{python_module prometheus_client}
 %endif
 %python_subpackages
 
@@ -63,7 +72,7 @@
 A Python 3 asyncio Matrix framework.
 
 %prep
-%setup -q -n python-%{version}
+%autosetup -p1 -n python-%{version}
 
 %build
 %python_build

++++++ mautrix-python-0.17.8-gh.tar.gz -> mautrix-python-0.19.14-gh.tar.gz 
++++++
++++ 4774 lines of diff (skipped)

++++++ no-immutable.patch ++++++
---
 mautrix/client/state_store/tests/store_test.py |    4 +++-
 mautrix/util/db/base.py                        |    7 +++++--
 2 files changed, 8 insertions(+), 3 deletions(-)

--- a/mautrix/client/state_store/tests/store_test.py
+++ b/mautrix/client/state_store/tests/store_test.py
@@ -13,6 +13,7 @@ import pathlib
 import random
 import string
 import time
+import unittest
 
 import asyncpg
 import pytest
@@ -64,11 +65,12 @@ async def async_sqlite_store() -> AsyncI
 
 @asynccontextmanager
 async def alchemy_store() -> AsyncIterator[SQLStateStore]:
+    raise unittest.SkipTest("SQLAlchemy tests should be skipped.")
     db = sql.create_engine("sqlite:///:memory:")
     Base.metadata.bind = db
     for table in (RoomState, UserProfile):
         table.bind(db)
-    Base.metadata.create_all()
+    Base.metadata.create_all({})
     yield SQLStateStore()
     db.dispose()
 
--- a/mautrix/util/db/base.py
+++ b/mautrix/util/db/base.py
@@ -10,7 +10,10 @@ from sqlalchemy import Constraint, Table
 from sqlalchemy.dialects.postgresql import insert as pg_insert
 from sqlalchemy.engine.base import Connection, Engine
 from sqlalchemy.ext.declarative import as_declarative, declarative_base
-from sqlalchemy.sql.base import ImmutableColumnCollection
+try:
+    from sqlalchemy.sql.base import ImmutableColumnCollection as 
ReadOnlyColumnCollection
+except ImportError:
+    from sqlalchemy.sql.base import ReadOnlyColumnCollection
 from sqlalchemy.sql.expression import ClauseElement, Select, and_
 
 if TYPE_CHECKING:
@@ -33,7 +36,7 @@ class BaseClass:
     db: Engine
     t: Table
     __table__: Table
-    c: ImmutableColumnCollection
+    c: ReadOnlyColumnCollection
     column_names: List[str]
 
     @classmethod

Reply via email to