matrix-spec/content/rooms/v9.md
Travis Ralston f14e18131b
Specify room version 10: knock_restricted and int power levels (#1099)
* Clarification on historical power level handling

* Revert "Clarification on historical power level handling"

This reverts commit f443b3d5a9.

* Clean up

* Let us try this again not using VS Code

* Markdown is full of mysteries

* Move stringy power levels to room versions

* Describe range

* Fix minor issues with previous room version stuff

* Copy/paste v9 into v10

* Describe deprecated formatting

* Paste unmodified auth rules from v8 into v10

* Move 9.1 to 9.3, add 9.1 and 9.2 for integer enforcement

* Add knock_restricted to v10 auth

* Misc cleanup and clarification for fragments

* Describe `knock_restricted` client changes

* Changelogs

* spelling

* Apply suggestions from code review

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Apply code review suggestions manually

* Fix v9 redactions

* Fix auth rules clarity issues

* Apply suggestions from code review

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Remove false integer requirements

Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2022-06-08 15:22:47 -06:00

1.9 KiB

title type weight
Room Version 9 docs 90

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

{{% rver-fragment name="v9-redactions" withVersioning="true" %}}

Server implementation components

{{% boxes/warning %}} The information contained in this section is strictly for server implementors. Applications which use the Client-Server API are generally unaffected by the intricacies contained here. The section above regarding client considerations is the resource that Client-Server API use cases should reference. {{% /boxes/warning %}}

Room version 8 added a new restricted join rule to allow members of a room to join another room without invite. Room version 9 is based upon v8 with the following considerations.

Redactions

See above.

Unchanged from v8

The following sections have not been modified since v8, but are included for completeness.

Handling redactions

{{% rver-fragment name="v3-handling-redactions" %}}

Event IDs

{{% rver-fragment name="v4-event-ids" %}}

Event format

{{% rver-fragment name="v4-event-format" %}}

Deprecated event content schemas

{{% rver-fragment name="v1-deprecated-formatting-off-spec" %}}

{{% rver-fragment name="v1-stringy-power-levels" %}}

Authorization rules

{{% rver-fragment name="v8-auth-rules" %}}

State resolution

{{% rver-fragment name="v2-state-res" %}}

Canonical JSON

{{% rver-fragment name="v6-canonical-json" %}}

Signing key validity period

{{% rver-fragment name="v5-signing-requirements" %}}