3 ms·
The point of the article is that NPM uses semver. If you disagree with semver you should use a different package manager. > And yet, 1.3.0 "broke" the way that
by Touche 12y ago
The point of the article is that NPM uses semver. If you disagree with semver you should use a different package manager.
> And yet, 1.3.0 "broke" the way that urls are resolved with regards to trailing slashes: https://github.com/iojs/io.js/pull/278 https://github.com/iojs/io.js/pull/278
Can you link to documentation of the old way? The way I understand it is that they fixed a bug. If they broke a documented API I would agree with you, should be a major version bump.
Lastly there's a gigantic difference between breaking code because you made a mistake and breaking code because you don't give a shit and romanticize version numbers.
- untog 12y agoCan you link to documentation of the old way? The way I understand it is that they fixed a bug. If they broke a documented API I would agree with you, should be a major version bump. Ironically, this is exactly what has happened with CoffeeScript here - the blog post is conveniently light on details. 1.9.0 seems to have changed some internal variable naming, which no-one should be relying on.
- Touche 12y agoThere's no irony, io.js is trying to follow semver and is doing so correctly, Jeremy happened to follow it in this one case but will happily break people's app on any arbitrary release.
- untog 12y agoJust as long as we're not getting personal, hey? Jeremy did not break anyone's app. He has said, time and time again, that CoffeeScript is not released according to semver. If you choose to implement it without watching your version numbers your app breaking is your responsibility. I'm starting to understand why people are reluctant to open source their projects. Apparently it means you are tech support for absolutely everyone that uses it on their production systems.
- Touche 12y agoCoffeeScript is published to NPM, which depends on semver. When people do: npm install coffee-script --save Their app is going to be broken in the future. It's irresponsible to put this burden on your users because you romanticize a version number. If it's this important simply don't publish to a package manager that is based on semver.
- untog 12y agoIf you aren't shrinkwrapping your NPM dependencies on production code then you're not using NPM correctly. And sure, CoffeeScript could be banished from NPM, but something tells me there would be a lot more complaints about that than about a 1.9.0 breaking change that was actually a bug fix. I prefer a pragmatic approach.
- Touche 12y agoI don't think development vs production matters here, you're still wasting people's time. You can't have it both ways, you can't benefit from the npm ecosystem and then get mad when people are upset that you're not following npm's conventions and wasting their time. If you want to be righteous about something then this is what happens.
- untog 12y agoBenefit from the NPM ecosystem? What benefit, exactly? No-one makes money from the development of CoffeeScript. It being on NPM is a convenience to those who want to use it, not a benefit for the programmer that gets absolutely nothing in return for making it.
- Touche 12y agoJeremy doesn't benefit from having popular JavaScript libraries? This is news to me.
- 12y ago
- jashkenas 12y agoHere's the documentation of the public API: http://nodejs.org/api/url.html#url_url_resolve_from_to http://nodejs.org/api/url.html#url_url_resolve_from_to They changed the way that it resolves: url.resolve('/path/to/file', '.') ... to include a trailing slash when it returns the new URL to your code. No big deal, but it breaks apps. It's not backwards compatible. SemVer is not about feature-vs-bugfix. It's about changes to documented behavior. This is a breaking change, so it must be Io.js 2.0. If you think I'm making a mountain out of a molehill here — I am. This change isn't a big deal. Io.js shouldn't have to bump to 2.0 to deal with it. But pretending to follow "Semantic" Versioning when you're not is just silly. Death to tyranny, right?
- Touche 12y agoYou might have a point here, they should bump to 2.0. Let's see why they didn't do so.