Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MSC2998: Room Version 7 #2998

Merged
merged 6 commits into from
Mar 1, 2021
Merged
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions proposals/2998-rooms-v7.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# MSC2998: Room Version 7

A new room version, `7`, is proposed using [room version 6](https://matrix.org/docs/spec/rooms/v6.html) as a base
and incorporating the following MSCs:

* [MSC2403](https://github.com/matrix-org/matrix-doc/pull/2403) - Add "knock" feature.

Though other MSCs are capable of being included in this version, they do not have sufficient implementation to be
considered stable enough for v7 rooms. A future room version may still include them.
Copy link
Member

@dbkr dbkr Feb 24, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This took me about 5 reads to understand - isn't it just saying, "other mscs aren't ready yet because they don't have impls"?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Indeed, but written a bit tersely for the spec. I'm open to suggestions for something slightly clearer though.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe Though other MSCs could be included in this version, they do not have satisfactory implementations...?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've dropped the stable enough bit. Hopefully that makes things slightly clearer.


Room version 7 upon being added to the specification shall be considered stable. No other room versions are affected
by this MSC. Before v7 can enter the specification, MSC2403 needs sufficient review to be eligible to enter the spec
itself. This MSC is reserving the room version for use in broader testing of MSC2403 - this does not make MSC2403
stable for use in most implementations.

## A note on spec process

The spec core team has accepted "knocking" as a concept, and is generally aligned on the ideas proposed by MSC2403. As
such, we're going ahead with reserving a room version number early for some broader testing given MSC2403 is near to the
point of being stable itself. Typically the team would declare a room version number once all the included MSCs are
eligible for becoming stable, however in this case it's ideal to push ahead and reserve the version number.

If MSC2403 were to be replaced or otherwise be rejected for some reason, we'd ultimately have a gap in room versions
which might look weird but does not necessarily have an impact on the specification: room versions have no associative
ordering, so skipping a perceived sequential version is valid. The sequential versioning is a human ideal, not one of
the spec.