Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change major version (2.0) instead of minor (1.4) since it totally breaks backwards comptatibility #1350

Closed
lipis opened this issue Jun 3, 2013 · 13 comments

Comments

@lipis
Copy link

lipis commented Jun 3, 2013

Since the version 1.4 breaks some fundamental stuff regarding the backwards compatibility why not changing the major version?!

Usually the version follows that pattern major.minor.patch, where major breaks stuff, minor more features added but not breaking stuff and patch just bug fixes.

@jonschlinkert
Copy link
Contributor

Since 1.4.0 is still wip, what we discussed doing is making the breaking changes optional (like with math/units), then after a quick 1.4.1 release we will follow up shortly with a 2.0.0 release with those breaking changes enforced. Feedback is welcome.

@matthew-dean
Copy link
Member

Thanks @jonschlinkert for the detailed breakdown. I thought I responded, but that was when someone kicked the power cord for my computer. :-)

@theMikeD
Copy link

theMikeD commented Jun 3, 2013

Can someone provide a link to where this was discussed? This seems complicated to me and I'd like to know if there is something I'm missing.

@lipis
Copy link
Author

lipis commented Jun 3, 2013

So the bottom line is that the version 1.4 is not going to break anything.. like for example to compile the current bootstrap as is.. :)

@jonschlinkert
Copy link
Contributor

@theMikeD which part seems complicated?

@lipis-zeta

So the bottom line is that the version 1.4 is not going to break anything.. like for example to compile the current bootstrap as is.. :)

That's an interesting concept, committing not to break anything with new software releases. ;-) One way to avoid breaking things is to not do anything new ;-)

Folks, the Less.js team is made up of 100% volunteer contributors, just like you, who are just trying to keep making progress because we love using it. We'll do our best to mitigate issues as we are all Less.js (and Bootstrap) users ourselves (@lukeapage already submitted a patch for Bootstrap 3.0.0). But as long as the earth circles the sun there will always issues when new features are released.

We're going to try to iron the kinks out of 1.4.0 before it's officially released. Then @lukeapage has a few minor features he wants to release for 1.4.1, then we're jumping to 2.0. For 2.0, we're going to be launching a new website with more documentation as well. Of course, we can always use more hands on deck so if you'd like to contribute to updating the documentation for this or anything else related to Less.js it would be gratefully accepted.

The team has a ton of work to do in the coming days and weeks, so this is about as detailed I have time to get on this. If you do have any issues with any release, just create a new issue and it will be addressed.

@theMikeD
Copy link

theMikeD commented Jun 3, 2013

No disrespect intended. I only question the intent of making breaking changes in a dot release. IOW, why bother with "optional" breaking changes? Why not just sit on them until 2.0?

And by breaking changes, I mean "changes that break existing expected behaviour," not "bugs." I'm not a dictionary but I think we can all appreciate the distinction I'm making without getting mired in a Sheldon Cooper-esque discussion.

@matthew-dean
Copy link
Member

@theMikeD As @jonschlinkert mentioned, that logic is why almost all such changes have been moved to a 2.0 release. The 1.4 number was not changed because it had already been released in several beta versions.

@jonschlinkert
Copy link
Contributor

@theMikeD No disrespect perceived.

why bother with "optional" breaking changes?

I agree. But it was a compromise made during this discussion: #1259

@lipis
Copy link
Author

lipis commented Jun 3, 2013

@jonschlinkert Thanks for the response.. I do software for living so I do understand that things will break with new releases.. all I'm saying, and maybe I didn't follow the latest changes, is that seeing changes regarding the math on version 1.4 by default was weird.. because this is not an add-on.. this basically changes everything we knew so far :)

Anyways.. you rock anyway.. we love LESS so we'll use it no matter what :) For now I locked to version ~1.3 (https://bitbucket.org/lipis/gae-init/src/tip/main/package.json) so there will be no surprises...

@matthew-dean
Copy link
Member

The math change was a surprise to me too when I looked at it today. Hopefully we'll get the docs in order and get it properly explained.

@jonschlinkert
Copy link
Contributor

@lipis-zeta understood, yeah if you had a look at the issue I linked to you'll see that I wasn't very excited about some of the changes. But, at the end of the day there are other concerns that are more important and I trust @lukeapage's decisions implicitly. thanks, and just so you know I wasn't trying to brush this off at all. Just saying we don't have a lot of bandwidth right now, so some things will take priority.

@lipis
Copy link
Author

lipis commented Jun 4, 2013

Just to close this topic... more people are getting ready for 1.4 :)
twbs/bootstrap@2869551

@lukeapage
Copy link
Member

In retrospect 1.4.0 should have been 2.0.0 and that's a mistake

The breaking changes are now quite limited to features that have been deprecated for a long time. maths and unit strictness is off by default.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants