travis/msc/feature-versioning
Travis Ralston 4 months ago
parent 8ae232efc9
commit f227bf0b88

@ -9,7 +9,7 @@ Reading material:
Implementation of a feature in Matrix can span multiple different systems and require multiple different
identifiers. Typically, a feature begins its implementation as an *unstable* feature flag attached to
a particular MSC. As that MSC progresses, the feature flag may change to accomodate sub-versioning of
a particular MSC. As that MSC progresses, the feature flag may change to accommodate sub-versioning of
the proposed feature. When the MSC finally finishes a `merge` FCP, implementations can then use *stable*
identifiers - the ones described in the actual normative sections of the MSC (`m.*`). Typically, clients
require further feature negotiation to determine if they can actually use that feature though, because
@ -23,7 +23,7 @@ There are several issues with this approach. Most obviously, clients want to kno
mechanics outside the versioning scheme can ensure MSCs are written up as formal spec.
In a related concern, server implementations *often* lag behind the spec release cycle due to the size
and complexity of the spec. The spec itself is very monolothic, and that causes friction when a server
and complexity of the spec. The spec itself is very monolithic, and that causes friction when a server
wishes to support a given subset or limited scope, or when a server implementation is trying to get
started and immediately falls behind on client support. Unfortunately, reducing the release cadence
from quartly to biannually does not have an effect of easier releases to implement - the releases just

Loading…
Cancel
Save