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

MSC4209: Updating endpoints in-place #4209

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

turt2live
Copy link
Member

Rendered

In line with matrix-org/matrix-spec#1700, the following disclosure applies:

I am Director of Standards Development at The Matrix.org Foundation C.I.C., Matrix Spec Core Team (SCT) member, employed by Element, and operate the t2bot.io service. This proposal is written and published as Director of Standards Development to assist in furthering the spec.

@turt2live turt2live added proposal A matrix spec change proposal meta Something that is not a spec change/request and is not related to the build tools kind:maintenance MSC which clarifies/updates existing spec needs-implementation This MSC does not have a qualifying implementation for the SCT to review. The MSC cannot enter FCP. labels Oct 2, 2024
Copy link
Member Author

Choose a reason for hiding this comment

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

Implementation requirements:

  • None? This is a policy clarification.

@turt2live turt2live removed the needs-implementation This MSC does not have a qualifying implementation for the SCT to review. The MSC cannot enter FCP. label Oct 2, 2024
the version change. Servers which advertise support for old specification versions are still required
to implement both old and new endpoint.

This proposal does not apply to situations where the endpoint changes namespace, path structure, etc.
Copy link
Contributor

Choose a reason for hiding this comment

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

What's the reasoning behind limiting in-place updates without deprecation to version changes in the path? Could these not involve drastic behavioral changes of the endpoint's behavior similar to the excluded situations listed here?


## Potential issues

No major issues are foreseen.
Copy link
Contributor

Choose a reason for hiding this comment

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

This proposal will result in the spec listing a single situation in which deprecation can be skipped. This in turn implies that deprecation is mandatory for all other breaking changes. Is this intended?


## Alternatives

There are no significant alternatives.
Copy link
Contributor

Choose a reason for hiding this comment

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

Probably not significant but instead of listing situations that are exempt from deprecation, we could also list situations that require deprecation.


There may be situations where explicitly listing the old endpoint as deprecated in the specification
is preferred. This is supported by this policy clarification, and left to the discretion of the Spec
Core Team (SCT) during PR review.
Copy link
Contributor

Choose a reason for hiding this comment

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

Since removal without deprecation is the intended default case, maybe it'd be better to formulate this as the old endpoint being automatically removed and the SCT having discretion to mandate deprecation? The current wording "automatically deprecated and can be removed" left me slightly confused in the beginning because if it's removed, it's no longer deprecated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
hacktoberfest-accepted kind:maintenance MSC which clarifies/updates existing spec meta Something that is not a spec change/request and is not related to the build tools proposal A matrix spec change proposal
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants