This room version builds on version 8 to add additional redaction rules that were unintentionally missed when incorporating v8. Client considerations See room version 8 for specific details regarding the addition of restricted rooms. Clients which implement the redaction algorithm locally should refer to the redactions section below for a full overview. Redactions [New in this version] m.room.member events now keep join_authorised_via_users_server in addition to other keys in content when bei...| Matrix Specification
This room version builds on version 7 to introduce a new join rule that allows members to join the room based on membership in another room. This room version is known to have issues relating to redactions of member join events. Room version 9 should be preferred over v8 when creating rooms. Client considerations Clients are encouraged to expose the option for the join rule in their user interface for supported room versions.| Matrix Specification
This room version builds on version 6 to introduce knocking as a possible join rule and membership state. Client considerations This is the first room version to support knocking completely. As such, users will not be able to knock on rooms which are not based off v7. Though unchanged in this room version, clients which implement the redaction algorithm locally should refer to the redactions section below for a full overview.| Matrix Specification
This room version is the first ever version for rooms, and contains the building blocks for other room versions. Client considerations Clients which implement the redaction algorithm locally should refer to the redactions section below. Redactions Upon receipt of a redaction event, the server must strip off any keys not in the following list: event_id type room_id sender state_key content hashes signatures depth prev_events prev_state auth_events origin origin_server_ts membership The content...| Matrix Specification
Matrix homeservers use the Federation APIs (also known as server-server APIs) to communicate with each other. Homeservers use these APIs to push messages to each other in real-time, to retrieve historic messages from each other, and to query profile and presence information about users on each other’s servers. The APIs are implemented using HTTPS requests between each of the servers. These HTTPS requests are strongly authenticated using public key signatures at the TLS transport layer and u...| Matrix Specification
The client-server API allows clients to send messages, control rooms and synchronise conversation history. It is designed to support both lightweight clients which store no state and lazy-load data from the server as required - as well as heavyweight clients which maintain a full local persistent copy of server state. API Standards The mandatory baseline for client-server communication in Matrix is exchanging JSON objects over HTTP APIs. More efficient transports may be specified in future as...| Matrix Specification
Unpadded Base64 Unpadded Base64 refers to ‘standard’ Base64 encoding as defined in RFC 4648, without “=” padding. Specifically, where RFC 4648 requires that encoded data be padded to a multiple of four characters using = characters, unpadded Base64 omits this padding. For reference, RFC 4648 uses the following alphabet for Base 64: Value Encoding Value Encoding Value Encoding Value Encoding 0 A 17 R 34 i 51 z 1 B 18 S 35 j 52 0 2 C 19 T 36 k 53 1 3 D 20 U 37 l 54 2 4 E 21 V 38 m 55 3 ...| Matrix Specification