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 proposal: v1.2.0 #768

Closed
rvagg opened this issue Feb 9, 2015 · 55 comments
Closed

Release proposal: v1.2.0 #768

rvagg opened this issue Feb 9, 2015 · 55 comments
Labels
meta Issues and PRs related to the general management of the project.
Milestone

Comments

@rvagg
Copy link
Member

rvagg commented Feb 9, 2015

We have to jump straight to 1.2.0 for this because of:

One might also argue that this qualifies too:

I'm also going to turn on the ARMv6 build slave for releases, it's been churning out nightlies with success but this will be the first proper release that will have Raspberry Pi (and other) compatible binaries!

npm changelog is in #738.

I propose we cut this release within 48 hours.

Full commit log since v1.1.0

  • [828d19a] - doc: fix dns.lookup options example (Roman Reiss)
  • [90d2b35] - doc: update antiquated process.versions output (Ben Noordhuis)
  • [789bbb9] - doc: update node.js references in api docs (Ben Noordhuis)
  • [c22e5ac] - https: simpler argument check (Michaël Zasso)
  • [b9d3928] - util: simplify isPrimitive (Vladimir Kurchatkin)
  • [2c3121c] - benchmark: bump eventemitter number of iterations (Ben Noordhuis)
  • [633a990] - dns: allow dns.lookup() to return all addresses (Roman Reiss)
  • [1cd1d7a] - buffer: don't compare same buffers (Vladimir Kurchatkin)
  • [847b9d2] - benchmark: add more EventEmitter benchmarks (Brian White)
  • [96597bc] - doc: add lxe as collaborator (Aleksey Smolenchuk)
  • [7a301e2] - deps: make node-gyp work again on windows (Bert Belder)
  • [b188a34] - deps: make node-gyp fetch tarballs from iojs.org (Ben Noordhuis)
  • [af1bf49] - deps: upgrade npm to 2.5.1 (Forrest L Norvell)
  • [9dc9ec3] - lib: make debug client connect to 127.0.0.1 (Ben Noordhuis)
  • [e7573f9] - assert: don't compare object prototype property (Vladimir Kurchatkin)
  • [8d11799] - asyncwrap: fix nullptr parent check (Trevor Norris)
  • [62512bb] - test: accept EPROTONOSUPPORT ipv6 error (Ben Noordhuis)
  • [05f4dff] - asyncwrap: fix constructor condition for early ret (Trevor Norris)
  • [10277d2] - docs: include mention of new crypto methods (Calvin Metcalf)
  • [9a8f186] - child_process: add debug and error details (Zach Bruggeman)
  • [6f7a978] - crypto: clear error on return in TLS methods (Fedor Indutny)
  • [50daee7] - stream: simpler stream constructon (Sam Newman)
  • [e0730ee] - benchmark: allow compare via fine-grained filters (Brian White)
  • [96ffcb9] - src: reduce cpu profiler overhead (Ben Noordhuis)
  • [3e675e4] - benchmark: don't use template strings (Evan Lucas)
  • [8ac8b76] - doc: simplified pure consensus seeking (Mikeal Rogers)
  • [0a54b6a] - doc: update streams wg charter (Chris Dickinson)
  • [b8ead4a] - Adjusting for feedback in the PR. (Mikeal Rogers)
  • [3af7f30] - Initial documentation for working groups. (Mikeal Rogers)
  • [513724e] - doc: add GPG fingerprint for chrisdickinson (Chris Dickinson)
  • [4168198] - doc: add TC meeting 2015-01-28 minutes (Rod Vagg)
@vkurchatkin
Copy link
Contributor

I also want to land #639

@ghost
Copy link

ghost commented Feb 9, 2015

I think we should release a candidate in 24 hours and then release the full release in 48 hours so that people can test and find bugs.

@rvagg
Copy link
Member Author

rvagg commented Feb 9, 2015

right, well this is basically a notice to that effect, the next two nightly will be RC1 and the one after that will be RC2 just before a release if everything goes well.

@fengmk2
Copy link
Contributor

fengmk2 commented Feb 9, 2015

How about #493 ? It is depended by nodejs/node-gyp#564

@bnoordhuis
Copy link
Member

#760 is a moderately serious regression, albeit not a new one (introduced in v1.0.2) and doesn't need to hold up the release.

@Fishrock123
Copy link
Contributor

Should we get a fix for #708 in? (the original bug for the dns.lookup thing)

@Fishrock123
Copy link
Contributor

Some people in irc wanted to see #758 land in this.

@vkurchatkin
Copy link
Contributor

@Fishrock123 it's far from being done

@petkaantonov
Copy link
Contributor

@vkurchatkin If there is still something to do in the PR, you should say it. I was under the impression that it is now ready.

@benjamingr
Copy link
Member

I'm very interested in landing #758 already and it would be great if it was included in 1.2 - I'm also under the impression that it's done. If there are any issues with it please do speak up.

@benjamingr
Copy link
Member

@vkurchatkin other than the two "no curly braces for one-line bodies" is there anything else holding back this PR? If those are fixed from your perspective can it be merged?

@vkurchatkin
Copy link
Contributor

@benjamingr I'm very interested in this too, and that is why I think it's important to do it right

@bnoordhuis
Copy link
Member

Scanning through the comments, it looks like #758 warrants some further discussion. I'd like to hold off on merging it for now.

@benjamingr
Copy link
Member

@vkurchatkin my point is that assuming we don't specify a default handler and don't specify super precise timer control for #758 we can merge it now and improve these later. Merging it now is just introducing two events to process - it's the most minimal change required and it's immensely useful without getting dragged into breaking changes like adding a default action handler which will cause a lot of debate.

I think that tackling these hard questions (default action and more precise scheduling) can and should be deferred to a later point in time while we can still gain the vast majority of the benefit without sacrificing any future compatibility right now. It will also give us time to evaluate how users choose to deal with unhandled rejections.

Also although it's obvious I'd like to point out you've been immensely useful with this - the feedback you've been providing has been very valuable here.

@vkurchatkin
Copy link
Contributor

what you call "precise scheduling" I consider the most important part. If users decide to throw in event handler (and I guess a lot of them will) changing this behaviour might cause unexpected crashes.

@mscdex
Copy link
Contributor

mscdex commented Feb 9, 2015

Is it possible to see #601 landed in time for v1.2.0?

@Fishrock123 Fishrock123 added this to the 1.2.0 milestone Feb 9, 2015
@silverwind
Copy link
Contributor

@Fishrock123 #708 is probably not something that should be rushed.

@Fishrock123
Copy link
Contributor

Yeah, that's fine. :)

@mikeal
Copy link
Contributor

mikeal commented Feb 10, 2015

Damn, it's too late to get Linux Tracing in this release :( 5e825d1

@Fishrock123
Copy link
Contributor

@mikeal Uh, that already landed?

@mikeal
Copy link
Contributor

mikeal commented Feb 10, 2015

my bad, i was looking at the changelog and didn't see it and I assume the build was already kicked off before it landed :)

@ghost
Copy link

ghost commented Feb 10, 2015

Final build is tonight's nightly.

@rvagg
Copy link
Member Author

rvagg commented Feb 10, 2015

Also:

  • [9681fca] - deps: update libuv to 1.4.0 (Saúl Ibarra Corretgé)
  • [5e825d1] - tracing: add lttng support for tracing on linux (Glen Keane)
  • [b677b84] - events: optimize various functions (Brian White)
  • [c86e383] - test: fix test failure with shared openssl (Shigeki Ohtsu)
  • [1151016] - doc: fix typo in crypto (Haoliang Gao)
  • [7c56868] - doc: change the order of crypto.publicDecrypt (Haoliang Gao)
  • [3f473ef] - assert: introduce deepStrictEqual (Vladimir Kurchatkin)

Nightly including all of these changes: https://iojs.org/download/nightly/v1.1.1-nightly201502109681fcacf0/

Consider this RC1.

Re #758: I agree with @bnoordhuis that this needs further discussion but my guess is that it's probably close. I've put a tc-agenda tag on it but it'll likely be the TC just listening to @domenic's opinion so if you want to weigh in on it then you should do so in the issue. (If it were up to me I'd treat it the same as an unhandled exception and be done with it, but I can understand how that would mess with people's expectations.)

@rvagg
Copy link
Member Author

rvagg commented Feb 10, 2015

@fengmk2 re #493, unfortunately it's not mature enough, I still have some hanging work to do on the node-gyp side for Windows which is at the top of my list for things to do when I finally find a spare block of time (illusive at the moment). Be assured that this is a personal priority for me, it's just not going to make it in time for this.

@fengmk2
Copy link
Contributor

fengmk2 commented Feb 10, 2015

@rvagg OK, maybe next release.
Now build c++ modules for io.js only can use the node-gyp which inside io.js.

@rvagg
Copy link
Member Author

rvagg commented Feb 10, 2015

@fengmk2 two stop-gap alternatives:

@fengmk2
Copy link
Contributor

fengmk2 commented Feb 10, 2015

@rvagg Thanks!

@ghost
Copy link

ghost commented Feb 11, 2015

@mikeal It is supposed to be.

@rvagg
Copy link
Member Author

rvagg commented Feb 11, 2015

PATIENCE! I'm just writing a Changelog proposal in here in another tab so I can get comment on that, about to start the CI process for this too.

@rvagg
Copy link
Member Author

rvagg commented Feb 11, 2015

@ghost
Copy link

ghost commented Feb 11, 2015

@rvagg I didn't mean it that way. I just meant that is what the plan was.

@rvagg
Copy link
Member Author

rvagg commented Feb 11, 2015

  • [aea9b89] - doc: add shigeki as collaborator (Shigeki Ohtsu)
  • [e653080] - fs: improve readFile performance (Vladimir Kurchatkin)

Changelog entry header proposal

Comments on this prior to release welcome!

2015-02-10, Version 1.2.0, @rvagg

Notable changes

  • stream:
    • Simpler stream construction, see readable-stream/issues#102 for details. This extends the streams base objects to make their constructors accept default implementation methods, reducing the boilerplate required to implement custom streams. An updated version of readable-stream will eventually be released to match this change in core. (@sonewman)
  • dns:
    • lookup() now supports an 'all' boolean option, default to false but when turned on will cause the method to return an array of all resolved names for an address, see, #744 (@silverwind)
  • assert:
    • Remove prototype property comparison in deepEqual(), considered a bugfix, see #636 (@vkurchatkin)
    • Introduce a deepStrictEqual() method to mirror deepEqual() but performs strict equality checks on primitives, see #639 (@vkurchatkin)
  • tracing:
    • Add LTTng (Linux Trace Toolkit Next Generation) when compiled with the --with-lttng option. Trace points match those available for DTrace and ETW. #702 (@thekemkid)
  • docs:
    • Lots of doc updates, see individual commits
    • New Errors page discussing JavaScript errors, V8 specifics, and io.js specific error details. (@chrisdickinson)
  • npm upgrade to 2.5.1, short changelog:
  • libuv upgrade to 1.4.0, see libuv ChangeLog
  • Add new collaborators:

Known issues

  • Surrogate pair in REPL can freeze terminal #690
  • Not possible to build io.js as a static library #686
  • process.send() is not synchronous as the docs suggest, a regression introduced in 1.0.2, see #760 and fix in #774 that should appear in the next patch release.

Commits

...

@rvagg
Copy link
Member Author

rvagg commented Feb 11, 2015

heh, sorry @BenjaminProgram, I was yelling at @mikeal for being impatient, don't take the tone too seriously, my lame attempt at being funny. This changelog process is turning out to be the most onerous task of a release but I think it's worthwhile.

@mikeal
Copy link
Contributor

mikeal commented Feb 11, 2015

does anyone have some metrics on how big the performance gains are in event emitter?

@mikeal
Copy link
Contributor

mikeal commented Feb 11, 2015

@rvagg don't forget Linux Tracing in the summarized Changelog :)

@rvagg
Copy link
Member Author

rvagg commented Feb 11, 2015

@rvagg
Copy link
Member Author

rvagg commented Feb 11, 2015

sorry, nightly going out now here: https://jenkins-iojs.nodesource.com/job/iojs+release+nightly/77/, will drop in https://iojs.org/download/nightly/ as v1.1.1-nightly20150211aea9b89b5c (tho I think the one before it will actually be identical)

@Fishrock123
Copy link
Contributor

@mikeal @mscdex said it was close to EE2. Gains for overall is probably like 50-100% more efficient, speed-wise.

See also: #601 (comment)

@Fishrock123
Copy link
Contributor

@rvagg I already did a nightly tonight.. 76 :)

@rvagg
Copy link
Member Author

rvagg commented Feb 11, 2015

thanks for picking that up @mikeal, very much worth mentioning that! updated changelog

Also added new commit:

  • [d832be4] - doc: update AUTHORS list (Rod Vagg)

@ghost
Copy link

ghost commented Feb 11, 2015

@rvagg I didn't take it to seriously.

@rvagg
Copy link
Member Author

rvagg commented Feb 11, 2015

waiting for #789, I'm going to do another nightly when that lands just to be sure because I don't want to have to do a 1.2.1 straight away to fix a broken doc build.

@rvagg
Copy link
Member Author

rvagg commented Feb 11, 2015

@rvagg
Copy link
Member Author

rvagg commented Feb 11, 2015

https://iojs.org/download/nightly/v1.1.1-nightly201502117e2235aebb/ if anybody would like to test binaries

@rvagg
Copy link
Member Author

rvagg commented Feb 11, 2015

new errors page: https://iojs.org/download/nightly/v1.1.1-nightly201502117e2235aebb/doc/api/errors.html

sorting out some armv6 problems, on to release after that ..

@chrisdickinson
Copy link
Contributor

OSX pkg installer looks good

@chrisdickinson
Copy link
Contributor

x64 msi looks good on win7

@rvagg
Copy link
Member Author

rvagg commented Feb 11, 2015

Tagged @ 69b5922

Building release @ https://jenkins-iojs.nodesource.com/job/iojs+release/22

@iojs/website 1.2.0 will land in 15 minutes or so if this goes well.

@rvagg
Copy link
Member Author

rvagg commented Feb 11, 2015

cancelled, I didn't migrate my minor Jenkins settings changes from nightly to release, done that now and restarted @ https://jenkins-iojs.nodesource.com/job/iojs+release/23/

@rvagg
Copy link
Member Author

rvagg commented Feb 11, 2015

done https://iojs.org/dist/v1.2.0/

will promote armv6 when it's finished

@rvagg rvagg closed this as completed Feb 11, 2015
@mscdex
Copy link
Contributor

mscdex commented Feb 11, 2015

@Fishrock123 The EE2 discussion was something different, it's definitely not as fast as EE2 when it comes to removing events because EE2 just does this._events[type] = null instead of doing an actual delete (which deleting is the better behavior, even at the significant performance cost). However, EE2 is missing out on some of the emit() and other improvements, so we should be faster than EE2 in non-remove*Listener(s) benchmarks.

@Fishrock123
Copy link
Contributor

Pushed to website: nodejs/iojs.org@5d270a7

@Fishrock123
Copy link
Contributor

Website changes do not appear to be propagating.. ?

@rvagg
Copy link
Member Author

rvagg commented Feb 11, 2015

@Fishrock123 git upgrade on the server made it more picky about needing a .gitconfig in order to proceed (not sure why that's necessary). Fixed now, thanks for letting me know!

@mscdex mscdex added the meta Issues and PRs related to the general management of the project. label Mar 25, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
meta Issues and PRs related to the general management of the project.
Projects
None yet
Development

No branches or pull requests