lydell / autoprefixer-brunch

[DEPRECATED] Adds autoprefixer support to brunch.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Current versioning does not follow Brunch guidelines

1951FDG opened this issue · comments

According to Brunch docs, current versioning does not follow Brunch guidelines.

For example, I am using brunch 1.7.17, I use >= 1.0 < 1.8, version 1.8.3 (the current version) which is compatible with 1.7.17, will not be a candidate for update (npm outdated --depth=0) when running npm update

Solution would be to change the current version to at least 1.7.14 but less than 1.8, otherwise workaround for users would be to change the version to >= 1.0 < 1.8.4 or 1.8.4.

I am very much aware of the proper way to version brunch plugins.

To call the current version 1.7.x would be wrong, because that implies that this version works with any brunch 1.7.x version. That is not true, as the current version requires 1.7.14+.

Backwards compatibility is important. When I released 1.8.0 there were likely many users who used brunch 1.7.13 (or older) and had specified >= 1.0 < 1.7 for autoprefixer-brunch (which is sane and the way to go). If I had released 1.8.0 as 1.7.x their builds would break if they run npm update (or reinstall or whatever).

The only solution was to bump to 1.8.x, in order not to break users’ builds. I added notes about that 1.8.x actually works with 1.7.14+ in the readme and the changelog, though. When brunch 1.8 is released the versions will be aligned again.

Also note the the brunch docs say:

You may encounter problems if you use:

  • brunch 1.1.0 with plugin 1.2.0.

That pretty much describes our situation. But note that the docs say “may encounter”. So it might actually work. And in this case it does, which is also documented.

Regarding npm outdated: 1.8.x is still shown in the “Latest” column, so you can still discover it.

All in all, in my opinion this is a brunch issue. Perhaps they should have released 1.7.14 as 1.8.0 and we wouldn’t have had this problem. ping @es128

The whole aligned major/minor versions thing has not worked out all that well in the long run, as it basically prevents proper adherence to semver. Some of the official brunch plugins have also bumped to 1.8+ for similar reasons, so I don't see any problem with it here.

By the time I get going on Brunch's feature backlog, it may end up going to 2.0 without ever releasing a 1.8. At that point, the versioning guidance will be reevaluated.

Thanks for your feedback on this, considering that the whole aligned major/minor version thing does not work all the times, I will check if the version shown in the “Latest” column of npm outdated works with my current version of Brunch and use that version instead in my package.json file.