Move the `DeviceKeyAlgorithm::SignedCurve25519` into the new `OneTimeKeyAlgorithm` type. Add `(Owned)OneTimeKeyId` and `(Owned)OneTimeKeyName` instead of using `(Owned)DeviceKeyId`.
30 KiB
[unreleased]
Breaking changes:
RoomSummary::heroes
now properly contains onlyUserId
instead ofString
as before.- Change type of
client_secret
field inThirdpartyIdCredentials
fromBox<ClientSecret>
toOwnedClientSecret
- Make
id_server
andid_access_token
inThirdpartyIdCredentials
optional - The
content_disposition
fields ofmedia::get_content::v3::Response
andmedia::get_content_as_filename::v3::Response
use now the strongly typedContentDisposition
instead of strings. - Replace
server_name
onknock::knock_room::v3::Request
andmembership::join_room_by_id_or_alias::v3::Request
withvia
as per MSC4156 / Matrix 1.12. - Remove
RuleScope
, due to a clarification in the Matrix 1.12 where theglobal
scope is now hardcoded.- The
push
endpoints don't take a scope anymore.
- The
- Make
Content-Type
andContent-Disposition
mandatory when creating media responses, according to MSC2701 / MSC2702 / Matrix 1.12. - Use
OwnedOneTimeKeyId
andOneTimeKeyAlgorithm
instead ofOwnedDeviceKeyId
andDeviceKeyAlgorithm
respectively to identify one-time and fallback keys and their algorithm.
Improvements:
- Add support for MSC4186, aka simplified sliding sync, behind
unstable-msc4186
. - Add support for MSC4108 OIDC sign in and E2EE set up via QR code
- Heroes in
sync::sync_events::v4
:SyncRequestList
andRoomSubscription
both have a newinclude_heroes
field.SlidingSyncRoom
has a newheroes
field, with a new typeSlidingSyncRoomHero
. - Add support for authenticated media endpoints, according to MSC3916 / Matrix
1.11.
- They replace the newly deprecated
media::get_*
endpoints.
- They replace the newly deprecated
- Stabilize support for animated thumbnails, according to Matrix 1.11
- Add support for terms of service at registration, according to MSC1692 / Matrix 1.11
- Add unstable support for MSC4140
to send
Future
events and updateFuture
events withfuture_tokens
. (Future
events are scheduled messages that can be controlled withfuture_tokens
to send on demand or restart the timeout) - Change types of
SyncRequestListFilters::{room_types,not_room_types}
toVec<RoomTypeFilter>
instead of a vector of strings- This is a breaking change, but only for users of
unstable-msc3575
- This is a breaking change, but only for users of
- Add the
get_login_token
field toCapabilities
, according to a clarification in Matrix 1.12. - Add support for account locking, according to MSC3939 / Matrix 1.12.
- Allow constructing
error::ErrorBody::NotJson
outside of this crate.
Bug fixes:
- Rename
avatar
toavatar_url
when (De)serializingSlidingSyncRoomHero
user_id
ofSlidingSyncRoomHero
is now mandatory- Make authentication with access token optional for the
change_password
anddeactivate
endpoints, due to a clarification in Matrix 1.11. - Do not send a request body for the
logout
andlogout_all
endpoints, due to a clarification in Matrix 1.11.
0.18.0
Bug fixes:
- Don't require the
failures
field in theruma_client_api::keys::upload_signatures::Response
type. sync::sync_events::v3::Timeline::is_empty
now returnsfalse
when thelimited
orprev_batch
fields are set.login_fallback::Response
now returns the proper content typesso_login[_with_provider]
responses now use the proper HTTP status code.
Breaking changes:
- The conversion from
PushRule
toConditionalPushRule
is infallible since theconditions
field is optional.MissingConditionsError
was removed.
- The
ts
field inRequest
forget_media_preview
is nowOption
. - The query parameter of
check_registration_token_validity
endpoint has been renamed fromregistration_token
totoken
Error
is now non-exhaustive.ErrorKind::Forbidden
is now a non-exhaustive struct variant that can be constructed withErrorKind::forbidden()
.- The
retry_after_ms
field ofErrorKind::LimitExceeded
was renamed toretry_after
and is now anOption<RetryAfter>
, to add support for the Retry-After header, according to MSC4041 / Matrix 1.10 - Make
get_uiaa_fallback::v3::Response
an enum for a redirect or an HTML page. It will now return the proper status code and headers depending on the variant used. - The http crate had a major version bump to version 1.1
Improvements:
- Point links to the Matrix 1.10 specification
- Add the
get_authentication_issuer
endpoint from MSC2965 behind theunstable-msc2965
feature. - Add
error_kind
accessor method toruma_client_api::Error
- Add
FromHttpResponseErrorExt
trait that adds anerror_kind
accessor toFromHttpResponseError<ruma_client_api::Error>
- Add deprecated
user
fields form.login.password
andm.login.appservice
login types. - Add deprecated
address
andmedium
3PID fields form.login.password
login type. - Add optional cookie field to
session::sso_login*::v3
responses. - Add support for local user erasure to
account::deactivate::v3::Request
, according to MSC4025 / Matrix 1.10. - Allow
discovery::get_supported_versions::v1
to optionally accept authentication, according to MSC4026 / Matrix 1.10. - Allow
account::register::v3
andaccount::login::v3
to accept authentication for appservices. - Add support for recursion on the
get_relating_events
endpoints, according to MSC3981 / Matrix 1.10 - Add server support discovery endpoint, according to MSC1929 / Matrix 1.10
- Add
dir
Request
field on theget_relating_events_with_rel_types
andget_relating_events_with_rel_type_and_event_type
endpoints - Add unstable support for moderator server support discovery, according to MSC4121
- Add unstable support for the room summary endpoint from MSC3266 behind the
unstable-msc3266
feature. - Add unstable support for animated thumbnails, according to MSC2705
0.17.4
Improvements:
- Change the
avatar
field ofSlidingSyncRoom
fromOption
toJsOption
- This is a breaking change, but only for users enabling the
unstable-msc3575
feature
- This is a breaking change, but only for users enabling the
0.17.3
Bug fixes:
- Fix deserialization of
claim_keys
responses without afailures
field
0.17.2
Improvements:
- Add unstable support for MSC3983
0.17.1
Improvements:
- Add a ErrorKind variant for the "M_WRONG_ROOM_KEYS_VERSION" Matrix error.
0.17.0
Breaking changes:
- Define
rank
as anOption<f64>
instead of anOption<UInt>
insearch::search_events::v3::SearchResult
- Remove the
token
field fromkeys::get_keys::Request
, according to a spec clarification. SpaceRoomJoinRule
has been moved to thespace
module of the ruma-common cratebackup::SessionData(Init)
were renamed toEncryptedSessionData(Init)
Improvements:
- Add convenience constructors for enabling lazy-loading in filters
- Add support for using an existing session to log in another (MSC3882 / Matrix 1.7)
- Add support for media download redirects (MSC3860 / Matrix 1.7)
- Stabilize support for asynchronous media uploads (MSC2246 / Matrix 1.7)
- Add support for the appservice ping mechanism (MSC 2659 / Matrix 1.7)
0.16.2
Bug fixes:
- Don't serialize
None
asnull
inreport_content::v3::Request
0.16.1
Improvements:
- Stabilize support for getting an event by timestamp (MSC3030 / Matrix 1.6)
0.16.0
Breaking changes:
- Remove
sync::sync_events::v3::DeviceLists
re-export- Use
sync::sync_events::DeviceLists
instead
- Use
fully_read
field inread_marker::set_read_marker
is no longer required- Remove the
fully_read
argument fromread_marker::set_read_marker::Request::new
- Remove the
- Move
message::get_message_events::v3::Direction
toruma-common::api
- Make
push::set_pusher::v3::Request
use an enum to differentiate when deleting a pusher- Move
push::get_pushers::v3::Pusher
topush
and make it use the newPusherIds
type - Remove
push::set_pusher::v3::Pusher
and use the common type instead
- Move
- Make
push::PusherKind
contain the pusher'sdata
- Use an enum for the
scope
of thepush
endpoints - Use
NewPushRule
to construct apush::set_pushrule::v3::Request
Error
is now an enum because endpoint error construction is infallible (see changelog forruma-common
); the previous fields are in theStandard
variant- Use
GlobalAccountDataEventType
forevent_type
inconfig::get_global_account_data
- Use
RoomAccountDataEventType
forevent_type
inconfig::get_room_account_data
- Use
ToDeviceEventType
forevent_type
into_device::send_event_to_device
Improvements:
- Add
M_BAD_ALIAS
toerror::ErrorKind
- Remove the
unstable-msc3440
feature- The fields added to
RoomEventFilter
were removed by MSC3856
- The fields added to
- Add support for the threads list API (MSC3856 / Matrix 1.4)
- Stabilize support for private read receipts
- Add support for the pagination direction parameter to
/relations
(MSC3715 / Matrix 1.4) - Add support for notifications for threads (MSC3773 / Matrix 1.4)
- Send CORP headers by default for media responses (MSC3828 / Matrix 1.4)
- Add support for read receipts for threads (MSC3771 / Matrix 1.4)
- Add unstable support to get an event by timestamp (MSC3030)
- Add unstable support for discovering a sliding sync proxy (MSC3575)
0.15.3
Bug fixes:
- Don't include sensitive information in
Debug
-format of types from thelogin
module
0.15.2
Yanked since it the minimum version for the ruma-common
dependency was wrong.
0.15.1
Improvements:
DeviceLists
has moved fromsync::sync_events::v3
tosync::sync_events
- It is still available under the old location for backwards compatibility
0.15.0
Breaking changes:
- Export nothing from the crate if neither the
client
nor theserver
feature is active- This may partially be reverted in subsequent releases
UnreadNotificationsCount
has moved fromsync::sync_events::v3
tosync::sync_events
- Remove
PartialEq
implementations for a number of types- If the lack of such an
impl
causes problems, please open a GitHub issue
- If the lack of such an
- Split
uiaa::UserIdentifier::ThirdParty
into two separate variants - Remove the
from
parameter frommessage::get_message_events::v3::Request
's constructors- This affects
new
,backward
andforward
- Since
backward
andforward
are equivalent tofrom_end
andfrom_start
, those are removed - A new method
.from()
was added to easily set this field after initial construction
- This affects
receipt::create_receipt
uses its ownReceiptType
- Reorder parameters in
{set_global_account_data, set_room_account_data}::Request::{new, new_raw}
Improvements:
- Add support for refresh tokens (MSC2918)
- Add
ErrorKind::{UnableToAuthorizeJoin, UnableToGrantJoin}
encountered for restricted rooms - Add support for timestamp massaging (MSC3316)
- Add support for querying relating events (MSC2675)
- Move
filter::RelationType
toruma_events::relations
- Add unstable support for discovering an OpenID Connect server (MSC2965)
- Add
SpaceRoomJoinRule::KnockRestricted
(MSC3787) - Add unstable support for private read receipts (MSC2285)
- Add unstable support for API scope restriction (MSC2967)
0.14.1
Improvements:
- Add
From<&UserId>
andFrom<&OwnedUserId>
implementations forUserIdentifier
- Add
UserIdentifier::email
constructor
0.14.0
Bug fixes:
- Fix HTTP method of
backup::update_backup
- Make score and reason optional in room::report_content::Request
- Fix
uiaa::*::thirdparty_id_creds
according to a clarification in the spec
Breaking changes:
- Use
Raw
forconfig::set_*_account_data::Request::data
. - Rename the endpoints in
backup
:add_backup_key_session
=>add_backup_keys_for_session
add_backup_key_sessions
=>add_backup_keys_for_room
create_backup
=>create_backup_version
delete_backup
=>delete_backup_version
delete_backup_key_session
=>delete_backup_keys_for_session
delete_backup_key_sessions
=>delete_backup_keys_for_room
get_backup
=>get_backup_info
get_backup_key_session
=>get_backup_keys_for_session
get_backup_key_sessions
=>get_backup_keys_for_room
get_latest_backup
=>get_latest_backup_info
update_backup
=>update_backup_version
- Rename
discover
todiscovery
- Move
capabilities::get_capabilities
intodiscovery
- Make
from
optional inmessage::get_message_events
according to a clarification in the spec
Improvements:
- Add support for the space summary API in
space::get_hierarchy
according to MSC2946. - Add
device_id
toaccount::whoami::Response
according to MSC2033 - Add
is_guest
toaccount::whoami::Response
according to MSC3069 - Add
session::login::LoginInfo::ApplicationService
according to MSC2778 - Add new fields in
discovery::get_capabilities::Capabilities
according to MSC3283 - Implement Space Summary API according to MSC2946
- Add unstable support for threads in
filter::RoomEventFilter
according to MSC3440
0.13.0
Bug fixes:
- Fix deserialization of
r0::session::get_login_types::CustomLoginType
. - Make fields of
r0::session::get_login_types::IdentityProvider
public.
Breaking changes:
- Use an enum for user-interactive auth stage type (used to be
&str
/String
) - Make
r0::uiaa::ThirdpartyIdCredentials
an owned type and remove itsIncoming
equivalent- Previously, we had two fields of type
&'a [ThirdpartyIdCredentials<'a>]
and this kind of nested borrowing can be very annoying
- Previously, we had two fields of type
LoginInfo
no longer implementsPartialEq
andEq
due to the custom variant that was added.LoginInfo
converted to newtype variants.- Use
Raw
forcreate_room::Request::creation_content
- Delete
r0::contact
modulerequest_contact_verification_token
was an out-of-date duplicate ofr0::account::request_3pid_management_token_via_email
get_contacts
has been can now be found atr0::account::get_3pids
- Move
r0::uiaa::authorize_fallback
tor0::uiaa::get_uiaa_fallback_page
- Change type of field
start
ofr0::message::get_message_events::Response
toString
in accordance with the updated specification. - Rename
uiaa::UserIdentifier::MatrixId
variant touiaa::UserIdentifier::UserIdOrLocalpart
Improvements:
-
Add support for reasons in the membership endpoints:
r0::membership::{ join_room_by_id, join_room_by_id_or_alias, invite_user, unban_user }
-
Add a
.data()
accessor method tor0::uiaa::{AuthData, IncomingAuthData}
-
Allow to construct the custom
AuthData
variant withIncomingAuthData::new
and then callIncomingAuthData::to_outgoing
on it. -
Add custom variant to
LoginInfo
which can be constructed withIncomingLoginInfo::new
and then callIncomingLoginInfo::to_outgoing
on it. -
Move MSC2858 - Multiple SSO Identity Providers out of the
unstable-pre-spec
feature flag, this includes:- The
r0::session::get_login_types::{IdentityProvider, IdentityProviderBrand}
types - The
session::sso_login_with_provider::v3
endpoint
- The
-
Move reason support for leaving room out of
unstable-pre-spec
-
Move room type support out of
unstable-pre-spec
-
Move knocking support out of
unstable-pre-spec
-
Move blurhash support to
unstable-msc2448
0.12.3
- Add a
feature = "compat"
workaround for Element failing onGET /_matrix/client/r0/account/3pid
response if the optionalthreepids
field is missing
0.12.2
Improvements
- Add
auth_type
andsession
accessors touiaa::IncomingAuthData
0.12.1
Improvements:
- Add
auth_type
andsession
accessors touiaa::AuthData
0.12.0
Breaking changes:
- Change inconsistent types in
rooms
andnot_rooms
fields inRoomEventFilter
structure: both types now useRoomId
- Move
r0::{session::login::UserIdentifier => uiaa::UserIdentifier}
- Add
stages
parameter tor0::uiaa::AuthFlow::new
- Upgrade dependencies
Improvements:
-
Add more endpoints:
r0::knock::knock_room
-
Add unstable support for room knocking
-
Add unstable support for reasons for leaving rooms
0.11.2
Yanked since it depended on a version of ruma-api that had to be yanked too.
0.11.1
Yanked, wrong dependency version.
0.11.0
Breaking changes:
-
Use
Raw<AnyInitialStateEvent>
over justAnyInitialStateEvent
in theinitial_state
field ofr0::room::create_room::Request
-
Remove
r0::keys::{ CrossSigningKey, CrossSigningKeySignatures, KeyUsage, OneTimeKey, SignedKey, SignedKeySignatures, }
These are now found in
ruma_common::encryption
(orruma::encryption
). -
Remove
r0::to_device::DeviceIdOrAllDevices
, now found inruma_common::to_device
(orruma::to_device
) -
Remove
r0::contact::get_contacts::{ThirdPartyIdentifier, ThirdPartyIdentifierInit}
, now found inruma_common::thirdparty
(orruma::thirdparty
)
0.10.2
Bug fixes:
- Remove authentication for get alias endpoint
0.10.1
Improvements:
- Add unstable support for room types
0.10.0
Bug fixes:
- Fix deserialization of
r0::room::get_room_event::Response
- More missing fields in
r0::sync::sync_events::Response
can be deserialized - Fix
get_tags::Response
serialization - Fix unsetting avatar URL when
compat
feature is enabled
Breaking changes:
- Update
contains_url: Option<bool>
inr0::filter::RoomEventFilter
tourl_filter: Option<UrlFilter>
. - Borrow strings in outgoing requests and responses.
- Explicit types may have to be updated from
endpoint::Request
toendpoint::Request<'_>
on clients andendpoint::IncomingRequest
on servers, the other way around for responses. - When sending a request or response, you shouldn't have to clone things as much as before. Tip:
Use clippy to detect now-unnecessary
.into()
conversions.
- Explicit types may have to be updated from
- Make most types non-exhaustive
- This means you no longer can construct many of them using struct literals.
- Instead, constructors are provided.
- Tip: To set optional fields that aren't set in the constructor, you may find the
assign
crate useful.
- Make
avatar_url
inr0::profile::set_avatar_url::Request
anOption
- Update type of
canonical_alias
inr0::directory::PublicRoomsChunk
fromOption<String>
toOption<RoomAliasId>
- Update
r0::room::create_room::CreationContent
- Change
federated
s type fromOption<bool>
tobool
- Add
predecessor
field
- Change
- Update
r0::push::get_pushrules_all
andr0::push::get_pushrules_global_scope
to use theRuleset
type fromruma_common::push
(also available asruma::push
) - Fix event types in
r0::context::get_context
- Fix event types in
r0::sync::sync_events
- Update type of
user_id
inr0::account::whoami
fromString
toruma_identifiers::UserId
- Update type of
limited
inr0::sync::sync_events::Timeline
fromOption<bool>
tobool
- Use
DeviceId
fordevice_id
field ofr0::session::login::Response
- Use
ruma_identifiers::ServerName
instead ofString
forserver_name
fields in the following endpoints:r0::{ account::request_openid_token, media::{get_content, get_content_as_filename, get_content_thumbnail}, membership::join_room_by_id_or_alias, session::login, }
- Rename
r0::search::search_events::{RoomEventJsons => ResultRoomEvents}
. The previous name was an error introduced in a mass search and replace r0::sync::sync_events::SetPresence
has been moved and renamed. Usepresence::PresenceState
fromruma
orruma-common
.r0::push::Action
has been moved. Import it fromruma
orruma-common
.- Update type of
limit
inr0::user_directory::search_users
fromOption<UInt>
toUInt
- Rename
r0::message::{create_message_event => send_message_event}
- Rename
r0::state::{create_state_event_* => send_state_event_*}
- Replace
r0::keys::{AlgorithmAndDeviceId, KeyAlgorithm}
withruma_identifiers::{DeviceKeyId, DeviceKeyAlgorithm}
, respectively - Use
ruma_identifiers::{ServerName, ServerKeyId}
insignatures
fields ofr0::room::membership::ThirdPartySigned
. - Move
r0::directory::{Filter, PublicRoomsChunk, RoomNetwork}
to theruma-common
crate - Replace
r0::room::create_room::InitialStateEvent
withruma_events::InitialStateEvent
error::ErrorKind
no longer implementsCopy
,FromStr
- Switch from
AnyEvent
toAnyRoomEvent
inr0::search::search_events
- Move
r0::account::request_openid_token::TokenType
toruma-common
crate - Move
user: UserInfo
inr0::session::login::Request
toidentifier: UserIdentifier
inr0::session::login::LoginInfo::Password
r0::session::login::Request::new
takes onlylogin_info: LoginInfo
as a param
- Change
ruma_events::AnyEvent
toruma_events::AnySyncRoomEvent
inpush::get_notifications::Notification
- Use
ruma_identifiers::MxcUri
instead ofString
foravatar_url
fields in the following endpoints:r0::{ directory, media::create_content, membership::joined_members, profile::{get_avatar_url, get_profile, set_avatar_url}, search::{search_events, search_users} }
- Change
r0::session::get_login_types::LoginType
to a non-exhaustive enum of structs. - Move
r0::receipt::ReceiptType
to theruma-common
crate
Improvements:
- Add method
into_event_content
forr0::room::create_room::CreationContent
- Add room visibility endpoints:
r0::directory::{get_room_visibility, set_room_visibility}
. - Add is_empty helpers for structs in
r0::sync::sync_events
- Add a constructor for request structs of the following endpoints
r0::room::create_room
r0::message::get_message_events
- Add
logout_devices
field tor0::account::change_password
- Add
r0::room::aliases
(introduced in r0.6.1) - Add constructors that use
ruma_identifiers::MxcUri
forRequest
in the following endpoints:r0::media::{ get_content, get_content_as_filename, get_content_thumbnail }
- Implement MSC2858 - Multiple SSO Identity Providers under the
unstable-pre-spec
feature flag:- Add the
r0::session::get_login_types::{IdentityProvider, IdentityProviderBrand}
types - Add the
r0::session::sso_login_with_provider
endpoint
- Add the
0.9.0
Bug fixes:
- Fix (de)serialization for
r0::media::get_content_thumbnail::Response
- Make
r0::device::get_devices::Response::devices
public
Breaking changes:
- The
event_id
in the response for the message and state sending endpoints is now required- r0.6.0 doesn't say they are required, but this has been fixed for the next version of the spec
- Updated the type of
r0::sync::sync_events::DeviceLists
fields - Change
r0::device::Device
fields according to the spec
Improvements:
r0::keys::AlgorithmAndDeviceId
now implementsDisplay
0.8.0
Breaking changes:
- Update all endpoints to r0.6.0
- Some of the changes from that might not be listed below, but it should be easy to figure out what changed from the documentation and compiler errors if you are using any of the affected endpoints.
- Add
server_name
parameter tor0::join::join_room_by_id_or_alias
- Modify
r0::account::AuthenticationData
:- Rename to
AuthData
- Change to an enum to facilitate fallback auth acknowledgements
- Add
auth_parameters
field - Move to
r0::uiaa
module
- Rename to
- Add
room_network
parameter tor0::directory::get_public_rooms_filtered
to representinclude_all_networks
andthird_party_instance_id
Matrix fields - Update
r0::account::register
endpoint:- Remove
bind_email
request field (removed in r0.6.0) - Remove
inhibit_login
request field, makeaccess_token
anddevice_id
response fields optional (added in r0.4.0) - Remove deprecated
home_server
response field (removed in r0.4.0)
- Remove
- Update
r0::contact::get_contacts
endpoint to r0.6.0 - Change
UInt
timestamps toSystemTime
in:media::get_media_preview::Request
push::get_notifications::Notification
server::get_user_info::ConnectionInfo
device::Device
- Change all usages of
HashMap
toBTreeMap
- Change the messages type that gets sent out using the
r0::client_exchange::send_event_to_device
request. - Add
M_USER_DEACTIVATED
toerror::ErrorKind
- Make
display_name
field ofr0::membership::joined_events::RoomMember
optional - Update
r0::search::search_events
to r0.6.0 - Add
account_data
field tor0::sync::sync_events
- Rename
r0::client_exchange
tor0::to_device
Improvements:
- Add types for User-Interactive Authentication API:
r0::uiaa::{AuthFlow, UiaaInfo, UiaaResponse}
- Add missing serde attributes to
get_content_thumbnail
query parameters - Add missing
state
response field tor0::message::get_message_events
- Normalize
serde_json
imports - Remove dependency on the
url
crate
0.7.2
Bug fixes:
- Fix
create_room
requests without aninitial_state
field failing deserialization - Fix
sync_events
responses without adevice_one_time_keys_count
field failing deserialization
0.7.1
Bug fixes:
- Fix deserialization of
sync_events::Request
- Fix (de)serialization of
sync_events::RoomSummary
0.7.0
Breaking changes:
- Update ruma-api to 0.15.0
- Update ruma-events to 0.18.0
- Fix
r0::session::get_login_types
- Add
allow_remote
parameter tor0::media::get_content
- Add missing parameters for
r0::room::create_room
- Moved
r0::room::create_room::Invite3pid
tor0::membership::Invite3pid
- Replaced
user_id
parameter ofr0::membership::invite_user
withrecipient
to allow invitation of users by either Matrix or third party identifiers. - Remove deprecated endpoint
r0::contact::create_contact
(deprecated in r0.6.0) - Add lazy-loading options to
r0::filter::RoomEventFilter
(introduced in r0.5.0) - Change type for
limit
request parameter ofr0::context::get_context
fromu8
toOption<js_int::UInt>
- Use
std::time::Duration
for appropriate fields on several endpoints:r0::{ account::request_openid_token, keys::{claim_keys, get_keys}, presence::get_presence, sync::sync_events, typing::create_typing_event, voip::get_turn_server_info }
Improvements:
- Add an
Error
type that represents the well-known errors in the client-server API- the response deserialization code will try to create an instance of this type from http responses that indicate an error
- Add OpenID token request endpoint.
- Add
r0::client_exchange::send_event_to_device
(introduced in r0.3.0) - Add endpoints to retrieve account_data (introduced in r0.5.0)
- Add media endpoints:
r0::media::{get_media_config, get_media_preview, get_content_as_filename}
- Add
unstable_features
tounversioned::get_supported_versions
(introduced in r0.5.0) - Add request and response parameters for
r0::account::deactivate
- Add
r0::session::sso_login
(introduced in r0.5.0) - Add
filter
type forr0::context::get_context
0.6.0
Breaking changes:
- Update ruma-api to 0.13.0
- Our Minimum Supported Rust Version is now 1.40.0
- Remove presence list endpoints
r0::presence::{get_subscribed_presences, update_presence_subscriptions}
(removed in r0.5.0) - Refactor
r0::send
endpoints and remove module:- Move
r0::send::send_message_event
tor0::message::create_message_event
- Move
r0::send::send_state_event_for_empty_key
tor0::state:create_state_event_for_empty_key
- Move
r0::send::send_state_event_for_key
tor0::state:create_state_event_for_key
- Move
- Refactor
r0::sync
endpoints:- Move
r0::sync::get_member_events
tor0::membership::get_member_events
- Move
r0::sync::get_message_events
tor0::message::get_message_events
- Move
r0::sync::get_state_events
tor0::state::get_state_events
- Move
r0::sync::get_state_events_for_empty_key
tor0::state::get_state_events_for_empty_key
- Move
r0::sync::get_state_events_for_key
tor0::state::get_state_events_for_key
- Move
- Update endpoints for requesting account management tokens via email:
- Move
r0::account::request_password_change_token
tor0::account::request_password_change_token_via_email
- Move
r0::account::request_register_token
tor0::account::request_registration_token_via_email
- Modify
r0::account::request_registration_token_via_email
not to be rate-limited and require authentication
- Move
- Merge duplicate enums
r0::contact::get_contact::Medium
andr0::session::login::Medium
and move them tor0::thirdparty
Improvements:
- Add
r0::device
endpoints - Add
r0::room::get_room_event
(introduced in r0.4.0) - Add
r0::read_marker::set_read_marker
(introduced in r0.4.0) - Add
r0::capabilities::get_capabilities
(introduced in r0.5.0) - Add
r0::keys
endpoints (introduced in r0.3.0) - Add
r0::session::get_login_types
(introduced in r0.4.0) - Add
r0::account::get_username_availability
(introduced in r0.4.0) - Add endpoints to request management tokens (introduced upstream in r0.4.0):
r0::account::request_3pid_management_token_via_msisdn
r0::account::request_password_change_token_via_msisdn
r0::account::request_registration_token_via_msisdn
r0::account::request_3pid_management_token_via_email
- Update
r0::presence_get_presence
from r0.4.0 to r0.6.0 - Add
r0::account::bind_3pid
- Add
r0::account::delete_3pid
- Add
r0::account::unbind_3pid
- Add
r0::push
endpoints - Add
r0::room::upgrade_room
(introduced upstream in r0.5.0)
0.5.0
Breaking changes:
- Our Minimum Supported Rust Version is now 1.39.0
- Update ruma-api from 0.11.0 to 0.12.0
- Move
r0::directory::get_public_rooms::PublicRoomsChunk
tor0::directory::PublicRoomsChunk
- Move
r0::room::create_room::Visibility
tor0::room::Visibility
- Move
r0::account::register::AuthenticationData
tor0::account::AuthenticationData
Improvements:
- Update
r0::directory::get_public_rooms
from r0.3.0 to r0.6.0 - Add
r0::directory::get_public_rooms_filtered
(introduced upstream in r0.3.0) - Add
filter
optional parameter tor0::sync::get_message_events
(introduced upstream in r0.3.0) - Add
r0::appservice::set_room_visibility
(part of application service extensions for the client-server API) - Add
contains_url
tor0::filter::RoomEventFilter
(introduced upstream in r0.3.0) - Update
r0::account::change_password
from r0.3.0 to r0.6.0- Add optional
auth
field
- Add optional