Subject: CVS commit: pkgsrc/chat/py-mautrix
From: Jonathan Schleifer
Date: 2022-04-23 14:35:57
Message id: 20220423123557.717EDFB1A@cvs.NetBSD.org

Log Message:
Update chat/py-mautrix to 0.16.3

## v0.16.3 (2022-04-21)

* Changed `set_thread_parent` to have an explicit option for disabling the
  thread-as-reply fallback.

## v0.16.2 (2022-04-21)

* Added `get_thread_parent` and `set_thread_parent` helper methods for \ 
`MessageEventContent`.
* Increased timeout for `MessageSendCheckpoint.send`.

## v0.16.1 (2022-04-17)

* **Breaking change** Removed `r0` path support.
  * The new `v3` paths are implemented since Synapse 1.48, Dendrite 0.6.5,
    and Conduit 0.4.0. Servers older than these are no longer supported.

## v0.16.0 (2022-04-11)

* **Breaking change *(types)*** Removed custom `REPLY` relation type and
  changed `RelatesTo` structure to match the actual event content.
  * Applications using `content.get_reply_to()` and `content.set_reply()` will
    keep working with no changes.
* *(types)* Added `THREAD` relation type and `is_falling_back` field to
  `RelatesTo`.

## v0.15.8 (2022-04-08)

* *(client.api)* Added experimental prometheus metric for file upload speed.
* *(util.async_db)* Improved type hints for `UpgradeTable.register`
* *(util.async_db)* Changed connection string log to redact database password.

## v0.15.7 (2022-04-05)

* *(api)* Added `file_name` parameter to `HTTPAPI.get_download_url`.

## v0.15.6 (2022-03-30)

* *(types)* Fixed removing nested (i.e. malformed) reply fallbacks generated by
  some clients.
* *(types)* Added automatic reply fallback trimming to `set_reply()` to prevent
  accidentally creating nested reply fallbacks.

## v0.15.5 (2022-03-28)

* *(crypto)* Changed default behavior of OlmMachine to ignore instead of reject
  key requests from other users.
* Fixed some type hints

## v0.15.3 & v0.15.4 (2022-03-25)

* *(client.api)* Fixed incorrect HTTP methods in async media uploads.

## v0.15.2 (2022-03-25)

* *(client.api)* Added support for async media uploads ([MSC2246]).
* Moved `async_getter_lock` decorator to `mautrix.util` (from `mautrix.bridge`).
  * The old import path will keep working.

[MSC2246]: https://github.com/matrix-org/matrix-spec-proposals/pull/2246

## v0.15.1 (2022-03-23)

* *(types)* Added `ensure_has_html` method for `TextMessageEventContent` to
  generate a HTML `formatted_body` from the plaintext `body` correctly (i.e.
  escaping HTML and replacing newlines).

## v0.15.0 (2022-03-16)

* **Breaking change** Removed Python 3.7 support.
* **Breaking change *(api)*** Removed `r0` from default path builders in order
  to update to `v3` and per-endpoint versioning.
  * The client API modules have been updated to specify v3 in the paths, other
    direct usage of `Path`, `ClientPath` and `MediaPath` will have to be
    updated manually. `UnstableClientPath` no longer exists and should be
    replaced with `Path.unstable`.
  * There's a temporary hacky backwards-compatibility layer which replaces /v3
    with /r0 if the server doesn't advertise support for Matrix v1.1 or higher.
    It can be activated by calling the `.versions()` method in `ClientAPI`.
    The bridge module calls that method automatically.
* **Breaking change *(util.formatter)*** Removed lxml-based HTML parser.
  * The parsed data format is still compatible with lxml, so it is possible to
    use lxml with `MatrixParser` by setting `lxml.html.fromstring` as the
    `read_html` method.
* **Breaking change *(crypto)*** Moved `TrustState`, `DeviceIdentity`,
  `OlmEventKeys` and `DecryptedOlmEvent` dataclasses from `crypto.types`
  into `types.crypto`.
* **Breaking change *(bridge)*** Made `User.get_puppet` abstract and added new
  abstract `User.get_portal_with` and `Portal.get_dm_puppet` methods.
* Added a redundant `__all__` to various `__init__.py` files to appease pyright.
* *(api)* Reduced aiohttp memory usage when uploading large files by making
  an in-memory async iterable instead of passing the bytes directly.
* *(bridge)* Removed legacy community utilities.
* *(bridge)* Added support for creating DM portals with minimal bridge-specific code.
* *(util.async_db)* Fixed counting number of db upgrades.
* *(util.async_db)* Added support for schema migrations that jump versions.
* *(util.async_db)* Added system for preventing using the same database for
  multiple programs.
  * To enable it, provide an unique program name as the `owner_name` parameter
    in `Database.create`.
  * Additionally, if `ignore_foreign_tables` is set to `True`, it will check
    for tables of some known software like Synapse and Dendrite.
  * The `bridge` module enables both options by default.
* *(util.db)* Module deprecated. The async_db module is recommended. However,
  the SQLAlchemy helpers will remain until maubot has switched to asyncpg.
* *(util.magic)* Allowed `bytearray` as an input type for the `mimetype` method.
* *(crypto.attachments)* Added method to encrypt a `bytearray` in-place to
  avoid unnecessarily duplicating data in memory.

## v0.14.10 (2022-02-01)

* *(bridge)* Fixed accidentally broken Python 3.7 compatibility.

## v0.14.9 (2022-02-01)

* *(client.api)* Added `reason` field to `leave_room` and `invite_user` methods.

## v0.14.8 (2022-01-31)

* *(util.formatter)* Deprecated the lxml-based HTML parser and made the
  htmlparser-based parser the default. The lxml-based parser will be removed
  in v0.15.
* *(client.api)* Fixed `filter_json` parameter in `get_messages` not being sent
  to the server correctly.
* *(bridge)* Added utilities for implementing disappearing messages.

## v0.14.7 (2022-01-29)

* *(client)* Fixed error inviting users with custom member event content if the
  server had disabled fetching profiles.
* *(util.utf16_surrogate)* Added utilities for adding/removing unicode
  surrogate pairs in strings.
* *(util.magic)* Added check to make sure the parameter to `mimetype()` is
  either `bytes` or `str`.

## v0.14.6 (2022-01-26)

* **Breaking change *(util.message_send_checkpoint)*** Changed order of `send`
  parameters to match `BridgeState.send` (this is not used by most software,
  which is why the breaking change is in a patch release).
* *(util.async_db)* Changed the default size of the aiosqlite thread pool to 1,
  as it doesn't reliably work with higher values.
* *(util.async_db)* Added logging for database queries that take a long time
  (>1 second).
* *(client)* Added logging for sync requests that take a long time
  (>40 seconds, with the timeout being 30 seconds).
* *(util.variation_selector)* Fixed variation selectors being incorrectly added
  even if the emoji had a skin tone selector.
* *(bridge)* Fixed the process getting stuck if a config error caused the
  bridge to stop itself without stopping the SQLite thread.
* Added pre-commit hooks to run black, isort and some other checks.

Files:
RevisionActionfile
1.17modifypkgsrc/chat/py-mautrix/Makefile
1.6modifypkgsrc/chat/py-mautrix/PLIST
1.11modifypkgsrc/chat/py-mautrix/distinfo