-
Notifications
You must be signed in to change notification settings - Fork 18
Clarification on inherited, semver-minor changes #76
Comments
Others on the @nodejs/tsc may want to weigh in on this, but from my perspective, we cannot necessarily gate our versioning on how others might extend the core objects. We simply have no reasonable way of knowing which API additions might conflict with others. (Perhaps once @chrisdickinson has his static analysis of all npm modules we'll have a better sense of this ;-) ...). In practice, however, you are right, we ought to be very careful about adding API to prototypes. |
After lengthy discussion in our TSC meeting that was the basic consensus. @chrisdickinson commented about creating a tool that can look through existing npm modules for specific internal changes, but that won't be immediately available. It is not a happy place to be, but at the same time we don't want to break "large" (up for debate about how many that actually is) portions of the community with any change. Regardless of whether it is internal or not. |
Was this the latest TSC meeting? Are there notes? |
This was at least several weeks ago. Don't precisely remember. @chrisdickinson IIRC we had a brief discussion afterwards about this. You remember what week the meeting was when this was discussed? |
The only thing that this held up has landed: nodejs/node@8f58fb9, so I'm not sure if that'll create a precedent or we want to go somewhere else with this.. I'll leave it open for now though. |
I'd like to seek clarification based on semver versioning. For documented API objects (which are inheritable), it is unclear whether typically semver-minor additions on the prototype (nodejs/node@b2e00e3, nodejs/node@e11fc67) - which would affect inheriting objects - are always semver-minor and not semver-major.
In practice, this seems to be only according to the "popularity of inheritance" on the object in question. It doesn't seem to make sense to base semver decisions on just that, and I'd like to seek for clarification: can these changes be introduced in non-major releases?
See nodejs/node#734 for background discussion.
The text was updated successfully, but these errors were encountered: