--- title: Room Version 2 type: docs weight: 20 version: 2 --- This room version builds on [version 1](/rooms/v1) with an improved state resolution algorithm. ## Client considerations There are no client considerations introduced in this room version. Clients which implement the redaction algorithm locally should refer to the [redactions](#redactions) section below for a full overview of the algorithm. ## 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 details contained here, and can safely ignore their presence. {{% /boxes/warning %}} Room version 2 uses the base components of [room version 1](/rooms/v1), changing only the state resolution algorithm. ### State resolution {{% added-in v=2 %}} {{% rver-fragment name="v2-state-res" %}} ## Unchanged from v1 The following sections have not been modified since v1, but are included for completeness. ### Redactions {{% rver-fragment name="v1-redactions" %}} ### Event IDs {{% rver-fragment name="v1-event-ids" %}} ### Event format Events in rooms of this version have the following structure: {{% definition path="api/server-server/definitions/pdu" %}} #### Deprecated event content schemas {{% rver-fragment name="v1-deprecated-formatting-off-spec" %}} {{% rver-fragment name="v1-stringy-power-levels" %}} ### Authorization rules {{% rver-fragment name="v1-auth-rules" %}} ### Canonical JSON {{% rver-fragment name="v1-canonical-json" %}}