docs-matrix-spec/specification
Travis Ralston ffe577371d Add a room version specification
The "Room Specification" (or "Room Version Specification") is the specification that defines which room versions do what and are intended to be documents which speak the truth about how rooms operate under the hood.

The approach taken here is a bit different than other specifications. For starters, the specification is versioned in this project instead of relying on the matrix.org repository to track compiled HTML. This is done for a couple reasons, the first being we're still developing the v1 specification while concurrently making a v2 spec and the second being trying to reduce the reliance on matrix.org's repository for specifications.

Because the room spec is built into versions, some changes needed to be made. The `targets.yaml` now has a special syntax for indicating what version something is at, and the changelog generator can handle rendering different versions of the same changelog (as parsed from the RST). Some additional work has been put in to the changelog parsing to allow us to reference the v1 room spec as "v1" without having to sacrifice clarity in the changelog headings.

Finally, this moves the state resolution algorithms into the versioned
spec as a result of MSC1759 (https://github.com/matrix-org/matrix-doc/pull/1759).

Note: this does not introduce the concept of versioned schemas (tabs) that I was previously working with. There's currently no use for them, so they are shelved elsewhere.
2019-01-04 15:49:24 -07:00
..
appendices Add a room version specification 2019-01-04 15:49:24 -07:00
modules Merge pull request #1743 from matrix-org/dbkr/add_sandbox_to_csp 2018-12-17 10:28:06 -07:00
rooms Add a room version specification 2019-01-04 15:49:24 -07:00
appendices.rst Split appendices up 2016-10-31 12:01:37 +00:00
application_service_api.rst fix irc bridge example properly 2018-10-18 21:50:39 +01:00
client_server_api.rst Use example.org on examples instead of domain.com which is a real domain 2018-09-02 17:58:21 +03:00
events.rst fix inter-spec link 2017-10-15 23:42:05 +01:00
feature_profiles.rst Third party lookup module. Fix wording 2018-07-12 16:59:30 +01:00
identity_service_api.rst Add r0 version links 2018-08-31 17:40:32 -06:00
index.rst link to CS API Swagger Viewer 2018-12-05 15:47:55 +00:00
modules.rst Add a license to the spec 2016-07-12 17:28:30 +01:00
proposals.rst Use $ref, clean up, fix errors, AS is now a C-S module. 2018-07-12 14:31:34 +01:00
proposals_intro.rst Make the proposal labels match what happens in practice 2018-12-13 11:14:21 +00:00
push_gateway.rst Render a warning if the spec is unstable 2018-08-30 15:05:50 -06:00
server_server_api.rst Add a room version specification 2019-01-04 15:49:24 -07:00
targets.yaml Add a room version specification 2019-01-04 15:49:24 -07:00