lucaswerkmeister / m3api

minimal modern MediaWiki API client

Home Page:https://www.npmjs.com/package/m3api

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Decide whether internal changes count as breaking or not

lucaswerkmeister opened this issue · comments

So far, several releases have included a “BREAKING CHANGE (internal)”, which is a breaking change to the private methods used to communicate between Session and its subclasses. Before the 1.0.0 release, we need to figure out if those kinds of changes are really considered breaking and require a major version bump in future, or if this whole interface is considered unstable and can be changed with only a minor (or even patch?) version bump.

Correction: at least internalGet and internalPost are currently jsdoc’ed as protected, not private. That lends at least some justification to the idea of considering them part of the stable interface.

I think one policy I could live with is that the protected interface can be changed with a minor release, just not with a patch release; libraries depending on this interface would be advised to use ~1.0.0 instead of ^1.0.0.

I should also double-check if internalGet and internalPost are the only parts of the protected interface, or if I’m missing something.