Skip to content
This repository has been archived by the owner on Apr 18, 2018. It is now read-only.

Clarification on inherited, semver-minor changes #76

Closed
brendanashworth opened this issue Aug 11, 2015 · 5 comments
Closed

Clarification on inherited, semver-minor changes #76

brendanashworth opened this issue Aug 11, 2015 · 5 comments
Labels

Comments

@brendanashworth
Copy link

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.

@jasnell
Copy link
Member

jasnell commented Aug 11, 2015

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.

@trevnorris
Copy link

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.

@brendanashworth
Copy link
Author

Was this the latest TSC meeting? Are there notes?

@trevnorris
Copy link

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?

@brendanashworth
Copy link
Author

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.

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

No branches or pull requests

4 participants