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

Versioning #13

Closed
egekorkan opened this issue Mar 18, 2024 · 2 comments · Fixed by #14
Closed

Versioning #13

egekorkan opened this issue Mar 18, 2024 · 2 comments · Fixed by #14

Comments

@egekorkan
Copy link
Member

After #10 is merged, I will publish a new version of the npm package. My initial idea is to go with version 1.1.0 since we are adding new features. However, I want to check if we are aligned on this and would like to document our decisions somewhere. My proposal would be to look from the user point of view within Node RED. This would mean:

  • Patch: Under the hood, documentation and UI annotation fixes: The user flow sees no change other than some human-readable text within Node-RED. Even if node-wot gets a major overhaul but nothing changes for the Node-RED user, this versioning applies. For example, changing to .value() function was a major change in node-wot but this would have no impact to the Node RED user.
  • Minor: Adding new features that influence the Node RED UI and add new nodes, new configuration fields, more options to configuration fields. An existing user flow does not break nor sees any change.
  • Major: Changing the existing features such as removing nodes, removing configuration settings. An existing user flow breaks and the user needs to manually do some changes.

Any opinions?

@hidetak
Copy link
Contributor

hidetak commented Mar 18, 2024

@egekorkan
Thank you for organizing the concept of versioning!
As for the revised version of #10, I too think 1.1.0 is appropriate.

One point I was wondering about is that if there is an incompatible change in node-wot, there is a possibility that communication with a previously communicating partner may become impossible (if only the client is upgraded, it will not be able to connect with the server, and if only the server is upgraded, it will not be able to communicate with the client (If only the client is upgraded, the client will not be able to connect to the server.)
In this case, if only Patch is updated, it would be difficult to determine compatibility, so I thought it would be better to raise Major.

  • If there are incompatible changes in the node-wot to be incorporated: Raise Major.
  • If the node-wot to incorporate is compatible: Raise Patch

I think the policy you have created is fine when looking at whether there are changes to the flow.
However, I was concerned that if the change is a PATCH change, the user may upgrade the node without realizing it, causing it to stop working.

@egekorkan
Copy link
Member Author

If there are incompatible changes in the node-wot to be incorporated: Raise Major.

I agree. The node-wot example should not be generalized to all node-wot changes.

However, I was concerned that if the change is a PATCH change, the user may upgrade the node without realizing it, causing it to stop working.

I think that patch changes should be fine to upgrade without realizing it so we should make sure that it is indeed the case.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants