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

Add semantic versioning to CnC to replace existing simple version #624

Closed
mjpt777 opened this issue Jan 29, 2019 · 2 comments
Closed

Add semantic versioning to CnC to replace existing simple version #624

mjpt777 opened this issue Jan 29, 2019 · 2 comments

Comments

@mjpt777
Copy link
Contributor

mjpt777 commented Jan 29, 2019

Change the CnC version number to support semantic versioning. The 4 bytes currently used can be re-purposed as follows:

  1. Reserved: For future use.
  2. Major: Breaking API change between client and driver
  3. Minor: Additional features which are backwards compatible but not accessible to older clients.
  4. Patch: Backwards compatible bug fixes that do not add or remove features.

A client and driver must match on major version. Driver can be a minor version advanced on clients but not vice versa. Patch level is for information.

The first move to this will be backwards compatible as the Major version will be increased thus behaving like the current version scheme.

@mjpt777
Copy link
Contributor Author

mjpt777 commented Jun 6, 2019

Java side addressed with following commit. 94f0497

@mjpt777
Copy link
Contributor Author

mjpt777 commented Jun 8, 2019

The approach taken to introduce this is backwards compatible allowing client and driver to be updated independently with the exception of either being version 1.11.0 of Aeron or before. Any versions before 1.11.0 should have clients upgrade at the same time as the driver.

@mjpt777 mjpt777 closed this as completed Jun 8, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant