npm (and yarn) now freeze versions aggressively in package.json and package-lock.json or yarn.lock, respectively. Publishing a new version on the v3.y.z (v.3.3.2) shouldn't be a concern for most users since, luckily, I never published past the 2.y.z major version on npm.
What I'm thinking is that we could add a deprecation message that users will see when installing all releases prior to using v3.3.2 when it's published. https://docs.npmjs.com/cli/deprecate should be helpful. I don't think that will break anything unless people added "gremlin": "*" in their package.json, but I guess very few people did that. What will break is example in live docs, such as Microsoft Azure CosmosDB, where installation requirements are "npm install gremlin": this will install v3.3.2, and break things. The quick fix for them is to update their doc to "npm install gremlin@v2" - that should work. I also need to deprecate "gremlin-javascript" on npm (that lib still gets downloaded!), since I was pushing using this name before I was donated the "gremlin" package name (I think 2-3 years ago). That'll be the second time this package name is transferred, actually - back in the days, it was a Node.js/JVM bridge using node-java. Another option is to publish under "@tinkerpop/gremlin", but I think it's best if we can force people to no longer use the current "gremlin" package, and use the official GLV, also under that same name. Having many package names will add a lot of confusion in the next month/years, and I think it's best to risk breaking few things in the short term rather than adding *a lot* of confusion on the long term. Jean-Baptiste On Fri, Feb 2, 2018 at 1:32 PM, Stephen Mallette <spmalle...@gmail.com> wrote: > It stinks that we would break 3K+ downloads. I don't know the npm > environment too well. Can a break be expected for people? The current > version of https://www.npmjs.com/package/gremlin is at 2.6.0 and we would > publish at 3.x which people could expect as a breaking change, no? > > On Tue, Jan 30, 2018 at 9:54 AM, Jorge Bay Gondra < > jorgebaygon...@gmail.com> > wrote: > > > Hi, > > Now that the JavaScript GLV has been merged, it will be nice to have an > > official pre-release (RC / beta) on the npm package manager as soon as > > possible to allow users to start giving it a try. > > > > The package name identifier in the package.json is currently > > gremlin-javascript <https://www.npmjs.com/package/gremlin-javascript>, > > which is under the tinkerpop organization created by Stephen: > > https://www.npmjs.com/org/tinkerpop > > npm orgs are a nice feature as it let's you handle the team members that > > can be collaborators (publish versions). > > > > Jean-Baptiste offered > > <https://github.com/apache/tinkerpop/pull/695#issuecomment-358482362> to > > transfer ownership of gremlin <https://www.npmjs.com/package/gremlin> > > package to TinkerPop, so we can publish the GLV under that package name. > My > > only concern would be to break the functionality for current users, as > the > > existent package has 3K downloads per month. I would prefer to include a > > message on the gremlin package explaining the difference with > > gremlin-javascript (or recommending the GLV for future development), but > I > > don't feel strongly either way. > > > > Cheers, > > Jorge > > >