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

Release Underscore 1.7.0 #1799

Merged
merged 1 commit into from
Aug 26, 2014
Merged

Release Underscore 1.7.0 #1799

merged 1 commit into from
Aug 26, 2014

Conversation

akre54
Copy link
Collaborator

@akre54 akre54 commented Aug 26, 2014

Addressing #1798. 1.6.0...15a757d

This is a fairly major release, dropping most natives support (#1525) and adding _.iteratee callbacks everywhere (#1582). Might it make sense for this to be Underscore 2.0?

@@ -355,7 +356,7 @@
</p>

<p>
Underscore provides 80-odd functions that support both the usual
Underscore provides 115-odd functions that support both the usual
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"115-odd" sounds… odd. How about "100-odd" instead?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

well _.functions(_).length is 118, so maybe "120-odd"?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or "more than 100".

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No worries, I got it.

jashkenas added a commit that referenced this pull request Aug 26, 2014
@jashkenas jashkenas merged commit 9437f67 into jashkenas:master Aug 26, 2014
@akre54 akre54 deleted the release-170 branch August 26, 2014 22:11
jashkenas added a commit that referenced this pull request Aug 26, 2014
@jashkenas
Copy link
Owner

Remember to grep the codebase for any lingering "1.6.0" -- the internal version number in Underscore itself hadn't changed. Otherwise, great stuff! I love your wording on the changelog.

@megawac
Copy link
Collaborator

megawac commented Aug 26, 2014

@akre54, @jashkenas I thought in #1684 we agreed that we the next release was to be 2.0 as this is definitely a breaking version (_.template, sparse arrays, etc)

@danielchatfield
Copy link

Might it make sense for this to be Underscore 2.0?

No shit, that's how semver works.

@megawac
Copy link
Collaborator

megawac commented Aug 27, 2014

Some things I noticed weren't documented in the changelog, including several breaking changes. I think 2.0 should be released ASAP, after you close the open issues. Also #1755 should be merged and released as 1.7.1 so your unit tests pass.

This had potential to be a great release, shame it was done so hastily without closing the open issues.


Undocumented changes

Changes (excluding new features):

Breaking changes from a quick look (many minor):

@akre54
Copy link
Collaborator Author

akre54 commented Aug 27, 2014

Right. #1770 is pretty huge, I missed that one.

@danielchatfield In case you've forgotten underscore doesn't follow semver. Now wouldn't be a terrible time to start though.

@megawac
Copy link
Collaborator

megawac commented Aug 27, 2014

Yeah its massive (1.6.0...1.7.0), I'd be 👍 for releasing 1.7.1 or 1.8 as a revert of 1.6.0 and then working on 2.0.0 for some time next week

@danielchatfield
Copy link

@akre54 Well it is released, and largely consumed, via npm which mandates the use of semver. I'd be ok with a slight deviation from the semver rules, but not releasing loads of (originally undocumented) breaking changes with just a "minor" bump.

Whatever your opinion of semver is, it is being used by npm to determine compatibility and this release broke a lot of stuff.

edit: in fact every single package manager that underscore is released to uses semver.

@lukeasrodgers
Copy link
Contributor

While I'm aware that underscore doesn't follow semver, it would be nice if there was some logic to the release numbers. AFAICT the change to 1.6.0 had few breaking changes, whereas this seems to have many.

Why use release numbers at all if a) they do not follow a predictable pattern for devs, so we just have to scour the changelog anyway and hope all breaking changes are mentioned there, and b) they do not follow a predictable pattern for automated compatibility computing.

@jashkenas
Copy link
Owner

@danielchatfield & @lukeasrodgers — What exactly ended up breaking for you guys?

@danielchatfield
Copy link

#1804

@megawac
Copy link
Collaborator

megawac commented Aug 27, 2014

DamonOehlman/grunt-rigger#10 and several other libs as well

@lukeasrodgers
Copy link
Contributor

@jashkenas not sure when _.max([1, NaN]) behaviour changed, but that would break some of my code (and also seems contrary to native implementation and one of the main uses of NaN, i.e. propagating math errors through code). I have been bitten by changes like #1804 before as well.

I don't mean to gripe, and am grateful for all of the underscore contributors' hard work, it just seems like a more consistent approach to versioning would solve some problems for some people at least some of the time, and cause no problems for any people ever.

@jamiebuilds jamiebuilds mentioned this pull request Aug 27, 2014
@Dashue
Copy link

Dashue commented Sep 1, 2014

Gogo Semver get on the cool train guys :D

No but seriously, that would help consumers immensely so please consider starting to use it.

@megawac
Copy link
Collaborator

megawac commented Sep 3, 2014

@lukeasrodgers #1423.


The remaining changes I mentioned still need to be documented

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

Successfully merging this pull request may close these issues.

7 participants