--- title: Room Version 7 type: docs weight: 60 --- This room version builds on [version 6](/rooms/v6) 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. ## 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 7 adds new authorization rules for events to support knocking. [Room version 6](/rooms/v6) has details of other authorization rule changes, as do the versions v6 is based upon. For checks perfomed upon `m.room.member` events, the following conditions are added in context: If type is `m.room.member`: ... * If `membership` is `ban`: ... * If `membership` is `knock`: i. If the `join_rule` is anything other than `knock`, reject. ii. If `sender` does not match `state_key`, reject. iii. If the `sender`'s current membership is not `ban`, `invite`, or `join`, allow. iv. Otherwise, reject. ... The remaining rules are the same as in [room version 6](/rooms/v6#authorization-rules-for-events).