All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- [#220] Copy the unencrypted
m.relates_to
part of an encrypted event into the decrypted event.
- [#216]
AsyncClient.room_get_state_event()
: return aRoomGetStateEventError
if the server returns a 404 error for the request - [[ffc4228]] When fetching the full list of room members, discard the members we previously had that are absent from the full list
- [[c123e24]]
MatrixRoom.members_synced
: instead of depending on the potentially outdated room summary member count, becomeTrue
when the full member list has been fetched for the room.
[[ffc4228]]: https://github.com/poljar/matrix-nio/commit/ffc42287c22a1179a9be7d4e47555693417f715d [[c123e24]]: https://github.com/poljar/matrix-nio/commit/c123e24c8df81c55d40973470b825e78fd2f92a2
- [#194] Add server discovery info (.well-known API) support to AsyncClient
- [#206] Add support for uploading sync filters to AsyncClient
- New examples and documentation improvements
- [#206] Fix
AsyncClient.room_messages()
to not accept filter IDs, using one results in a server error - [4b6ea92] Fix the
SqliteMemoryStore
constructor - [4654c7a] Wait for current session sharing operation to finish before starting a new one
- [fc9f5e3] Fix
OverflowError
occuring inAsyncClient.get_timeout_retry_wait_time()
after a thousand retries
- [238b6ad] Fix the schema for the devices response.
- [#166] Add a method to restore the login with an access token.
- [#159] Allow whitespace in HTTP headers in the HttpClient.
- [42e70de] Fix the creation of PresenceGetError responses.
- [bf60bd1] Split out the bulk of the key verification events into a common module.
- [9a01396] Don't require the presence dict to be in the sync response.
- [cc789f6] Remove the PartialSyncResponse. This is a breaking change, but hopefully nobody used this.
- [#145] Added the
room_get_event()
method toAsyncClient
. - [#151] Added the
add_presence_callback
method to baseClient
. - [#151] Added the
get_presence()
andset_presence()
methods toAsyncClient
. - [#151] Added the
presence
,last_active_ago
,currently_active
andstatus_msg
attributes toMatrixUser
- [#152] Added a docker container with E2E dependencies pre-installed.
- [#153] Added the
add_room_account_data_callback
method to baseClient
. - [#153] Added the
fully_read_marker
andtags
attributes toMatrixRoom
. - [#156] Added the
update_receipt_marker()
method toAsyncClient
. - [#156] Added the
unread_notifications
andunread_highlights
attributes toMatrixRoom
.
- [#141] Improved the upload method to accept file objects directly.
- [#140] Added the
update_device()
method to theAsyncClient
. - [#143] Added the
login_info()
method to theAsyncClient
. - [c4f460f] Added support for the new SAS key agreement protocol.
- [#146] Fix room summary updates when new summary doesn't have any attributes.
- [#147] Added missing requirements to the test requirements file.
- Fixed support to run nio without python-olm.
- Fixed an incorrect raise in the group sessions sharing logic.
- Handle 429 errors correctly even if they don't contain a json response.
- Fix a wrong assertion resulting in errors when trying to send a message.
- Kick, ban, unban support to the AsyncClient.
- Read receipt sending support in the AsyncClient.
- Read receipt parsing and emitting.
- Support token login in the AsyncClient login method.
- Support for user registration in the BaseClient and AsyncClient.
- Support for ID based filters for the sync and room_messages methods.
- Support filter uploading.
- Convert attrs classes to dataclasses.
- Fire the
synced
asyncio event only in the sync forever loop.
- Don't encrypt reactions.
- Properly put event relationships into the unencrypted content.
- Catch Too Many Requests errors more reliably.
- Better room name calculation, now using the room summary.
- Removed the legacy store.