Release v0.17.0 · evanw/esbuild

This release deliberately contains backwards-incompatible changes. To avoid automatically picking up releases like this, you should either be pinning the exact version of esbuild in your package.js...

GitHub
@rauschma Confused as to why that note about semver at the top of the release notes is needed. Are people really doing `esbuild: "*"` and then complaining when it breaks?
@tomsherman it’s surprising how many scaffolds and templates use “*”
@tomsherman @rauschma because this release breaks semver. It should be a bump to the major version if it's not backwards compatible. I sorta understand why they aren't (they mention fixing some underlying stuff), but it still breaks semver.

@CobyPear @rauschma you can argue that it doesn't break semver in theory. In pre 1.0.0 releases, bumps to the minor version can contain breaking changes

Also in practice it shouldn't break projects if you're using a sane semver range eg. With ^ or ~

@CobyPear @rauschma in pre 1.0, either the minor number means "minor and major" or "major only". In either case this esbuild version doesn't break semver
@tomsherman @rauschma that's fair. It _will_ break if you're using ^ though, won't it?

@CobyPear @rauschma nope, ^ works the same as ~ on pre 1.0 versions

See https://semver.npmjs.com/

npm semantic version calculator

Calculate the versions of a package that match a given semantic version range