NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #4874 most downloaded on PyPI
A Python Matrix client library, designed according to sans I/O principles.
Last release 2 months ago
23 Jul 2026
Ships unpredictably
gaps range from 2 weeks to 1.8 years
Most releases are documented
notes for 35 of 47 stable releases
Nothing withdrawn
no release was ever pulled
7 years old
51 releases · first in 2019
Release candidate 0.26.0 of matrix-nio
Release candidate 0.26.0 of matrix-nio
libolm/python-olm with vodozemac for end-to-end encryption
e2e extra now depends on vodozemac instead of python-olm, and libolm is no longer required as a system dependency.libolm pickle version older than 4 (roughly, pre-December 2021) can only be migrated if the optional python-olm >= 3.2.7 package is installed at upgrade time; without it, those pickles cannot be read.hmac-sha256 is no longer offered as a SAS message authentication code; only hkdf-hmac-sha256 is supported.Account.remove_one_time_keys() has been removed, as it is no longer supported by the underlying library.python3.8 and python3.9; the minimum supported version is now python3.10unread_thread_notifications to SyncResponseget_openid_token, the endpoint needs an empty JSON bodyFileResponse when download is saved to fileOne column per quarter.
Release candidate 0.25.2 of matrix-nio
Release candidate 0.25.2 of matrix-nio
Release candidate 0.25.2rc1 of matrix-nio
Release candidate 0.25.2rc1 of matrix-nio
Release 0.25.1 of matrix-nio
Release 0.25.1 of matrix-nio
v1.11.pytest-asyncio warning during unit testsRelease 0.25.0 of matrix-nio
Release 0.25.0 of matrix-nio
Release candidate 0.25.0rc3 of matrix-nio
Release candidate 0.25.0rc3 of matrix-nio
Release candidate 0.25.0rc2 of matrix-nio
Release candidate 0.25.0rc2 of matrix-nio
Release candidate 0.25.0rc1 of matrix-nio
Release candidate 0.25.0rc1 of matrix-nio
Release 0.24.0 of matrix-nio
Release 0.24.0 of matrix-nio
Release 0.23.0 of matrix-nio
Release 0.23.0 of matrix-nio
ToDeviceEvents via UnknownToDeviceEventm.room.avatar and m.room.canonical_aliasasyncio.CancelledError in sync_foreverm.direct)[[#453]] Fix ImportError from when e2e is not installed
ImportError from when e2e is not installed[[#438]] Fix jsonschema deprecations
room_type to room_create API function to allow for custom room typesm.reaction events (Closes [#174]).readthedocs.yaml v2 to support ReadTheDocs migrationfuture dependencyjsonschema deprecationscgi.parse_header()pre-commit autoupdate to fix deprecationruff as a pre-commit hook + run on whole codebasepre-commit hookspyupgrade, async, various flake8, Perflint, and more ruff linting rules[[#423]] Revert [[#411]] due to backwards-incompatibilities.
[[#422]] async_client.whoami will alter the state of async_client correctly, and accept all spec-compliant fields.
[[#416]] Drop support for end-of-life python3.7
python3.7logbook in favor of standard library logging
loggingREADME that room upgrades/tombstone events are supportedbuilt-with-nioVarious test, formatting, type hinting fixes
built-with-nio### Bug Fixes - Fix Python 3.11 compatibility
Add mxc URI parameter to AsyncClient.download and deprecate server_name and media_id.
tests/data/ from pre-commit workflow.mxc URI parameter to AsyncClient.download and deprecate server_name and media_id.pre-commit.black and isort.str.format to f-strings.AsyncClient.download.black and isort.[[#293]] Add special check for "room_id" in PushEventMatch
[[#277]] Allow setting custom headers with the client.
[[#272]] Allow the mimetype to be in the info for encrypted images
[[1f17a20]] Fix errors due to missing keys in syncs
[[#265]] Fix parsing syncs missing invite/join/leave rooms
[[#264]] Allow for devices in keys query that have no signatures
[[#261]] Use the IV as is when decrypting attachments
[[#258]] Fix sticker event parsing
[[#256]] Upgrade our dependencies
[[#228]] Add support for global account data
[[#235]] Expose the whoami API endpoint in the AsyncClient.
[[#220]] Copy the unencrypted m.relates_to part of an encrypted event into the decrypted event.
m.relates_to part of an encrypted event into the
decrypted event.[[#216]] AsyncClient.room_get_state_event(): return a RoomGetStateEventError if the server returns a 404 error for the request
AsyncClient.room_get_state_event(): return a
RoomGetStateEventError if the server returns a 404 error for the requestMatrixRoom.members_synced: instead of depending on the
potentially outdated room summary member count, become True when the
full member list has been fetched for the room.[[#194]] Add server discovery info (.well-known API) support to AsyncClient
AsyncClient.room_messages() to not accept filter IDs, using
one results in a server errorSqliteMemoryStore constructorOverflowError occurring in
AsyncClient.get_timeout_retry_wait_time() after a thousand retries[[238b6ad]] Fix the schema for the devices response.
[[cc789f6]] Remove the PartialSyncResponse. This is a breaking change, but hopefully nobody used this.
[[#145]] Added the room_get_event() method to AsyncClient.
room_get_event() method to AsyncClient.add_presence_callback method to base Client.get_presence() and set_presence() methods
to AsyncClient.presence, last_active_ago, currently_active and
status_msg attributes to MatrixUseradd_room_account_data_callback method to base Client.fully_read_marker and tags attributes to MatrixRoom.update_receipt_marker() method to AsyncClient.unread_notifications and unread_highlights attributes
to MatrixRoom.[[#140]] Added the update_device() method to the AsyncClient.
Fixed support to run nio without python-olm.
Fix a wrong assertion resulting in errors when trying to send a message.
Kick, ban, unban support to the AsyncClient.
synced asyncio event only in the sync forever loop.Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →