-
Notifications
You must be signed in to change notification settings - Fork 0
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
define rcp version and clarify versioning #47
Comments
|
VersioningMinor changes:all optional additions:
Major changes:all non-optionals add/modify/remove
Modify optionals: Two types of modifications:
Discussion remove optionals:
|
VersioningRCP is using a version consisting of a major and minor version number. The following versions are used in Info Data: server rcp-version:The rcp version implemented by the server server runtime-version:The rcp version used by the server derived from features actually used client rcp-version:The rcp version implemented by the client client base-version: (backward compatibility version)The minimum major version the client implements Compatibility between the server and a client is ensured if the server runtime-version is between the clients rcp-version and base-version (inclusive). See Protocol Flow for the version handshake and more details. e.g.:
Version ChangesRCP aims to encourage the introduction of new features over time without the danger of immediate incomaptilies. RCP aims to gradually introduce new features without causing problems.
without causing at making it easy to introduce new protocol versions. The protocol is designed in a way that compaitibility between server and clients is The protocol version can change following these rules: New versions:Consider the following: Minor changes:all optional additions:
Major changes:all non-optionals add/modify/remove
Protocol FlowVersion Handshake:
Initialization
|
rcp vesion. e.g.: protocol-break.structure-break.minor-and-addoptions
This is the case because adding options only increases the minor version. Major versions changes indicate a breaking change in the protocol (e.g.: changing an options datatype).
Clint down-to versions can only can be major versions which are smaller or equal to the clients rcp-version. This is because minor updates mean they are compatible within the major version.
The text was updated successfully, but these errors were encountered: