docs-matrix-spec/api/server-server
Travis Ralston ff75996524 Add specification for room version 3: Event IDs as hashes
Original proposal: https://github.com/matrix-org/matrix-doc/pull/1659
Implementation proofs (some traversing of the PR tree may be required to get all of them):
* https://github.com/matrix-org/synapse/pull/4483
* https://github.com/matrix-org/synapse/pull/4499

This doesn't intentionally change anything from the proposal.

**Implementation details**:

The simple part of this is the introduction of a rooms/v3.html document. The somewhat unclear part is the stuff done to the s2s definitions. This pulls `unsigned_pdu` out to `unsigned_pdu_base` (all fields except `event_id`) where it can be reused in `pdu` and `pdu_v3` (for rooms v3). These definitions are further moved into the room version specifications where they can highlight the exact schemas in detail.

Version 1 has been updated to include the pre-existing event format, however the core principles of the room have not been changed. The same applies to room version 2. Room versions have immutable core principles once in the spec, otherwise these format changes would land in a pre-existing version.

The client-server API event formats will need updating, however that is being punted to a different commit to try and keep these changes reviewable.
2019-01-30 17:03:03 -07:00
..
definitions Add specification for room version 3: Event IDs as hashes 2019-01-30 17:03:03 -07:00
examples Add specification for room version 3: Event IDs as hashes 2019-01-30 17:03:03 -07:00
backfill.yaml Use example.org on examples instead of domain.com which is a real domain 2018-09-02 17:58:21 +03:00
event_auth.yaml Use example.org on examples instead of domain.com which is a real domain 2018-09-02 17:58:21 +03:00
events.yaml Use example.org on examples instead of domain.com which is a real domain 2018-09-02 17:58:21 +03:00
invites-v1.yaml Specification for v2 s2s invite API 2019-01-28 21:07:00 -07:00
invites-v2.yaml Minor wording changes from code review 2019-01-29 09:05:20 -07:00
joins.yaml Specify the room_version response property on /make_{leave|join} 2019-01-28 22:17:51 -07:00
keys_query.yaml Specify which swagger APIs consume JSON 2018-08-03 14:01:33 -06:00
keys_server.yaml Deprecate key ID querying 2018-07-26 16:42:21 -06:00
leaving.yaml Specify the room_version response property on /make_{leave|join} 2019-01-28 22:17:51 -07:00
openid.yaml Document OpenID in the server-server API 2018-08-07 22:13:21 -06:00
public_rooms.yaml Document third party network/protocol directories (for appservices) 2018-08-24 11:07:30 -06:00
query.yaml Define authorization requirements on federation swagger APIs 2018-08-09 08:37:35 -06:00
third_party_invite.yaml Use example.org on examples instead of domain.com which is a real domain 2018-09-02 17:58:21 +03:00
transactions.yaml Use example.org on examples instead of domain.com which is a real domain 2018-09-02 17:58:21 +03:00
user_devices.yaml spell out stream_id and fix todo 2018-09-01 02:10:45 +01:00
user_keys.yaml device_keys are required 2018-08-30 16:29:24 -06:00
version.yaml Document federation version endpoint 2017-11-15 04:16:30 +01:00