Commit Graph

11491 Commits

Author SHA1 Message Date
Jeremiah Senkpiel
c7fb91dc13 doc: fix v2.0.2 entry in changelog.md 2015-05-15 19:28:16 -04:00
Jeremiah Senkpiel
0a48a8b473 Working on v2.0.3
PR-URL: https://github.com/iojs/io.js/pull/1679
2015-05-15 18:40:05 -04:00
Jeremiah Senkpiel
3e7a143814 2015-05-15 io.js v2.0.2 Release
PR-URL: https://github.com/iojs/io.js/pull/1679

Notable Changes:

* win,node-gyp: the delay-load hook for windows addons has now been
correctly enabled by default, it had wrongly defaulted to off in the
release version of 2.0.0 (Bert Belder) #1433
* os: tmpdir()'s trailing slash stripping has been refined to fix an
issue when the temp directory is at '/'. Also considers which slash is
used by the operating system. (cjihrig) #1673
* tls: default ciphers have been updated to use gcm and aes128 (Mike
MacCana) #1660
* build: v8 snapshots have been re-enabled by default as suggested by
the v8 team, since prior security issues have been resolved. This
should give some perf improvements to both startup and vm context
creation. (Trevor Norris) #1663
* src: fixed preload modules not working when other flags were used
before --require (Yosuke Furukawa) #1694
* dgram: fixed send()'s callback not being asynchronous (Yosuke
Furukawa) #1313
* readline: emitKeys now keeps buffering data until it has enough to
parse. This fixes an issue with parsing split escapes. (Alex Kocharin)
* cluster: works now properly emit 'disconnect' to cluser.worker (Oleg
Elifantiev) #1386
events: uncaught errors now provide some context (Evan Lucas) #1654
2015-05-15 18:38:20 -04:00
Yosuke Furukawa
0a461e5360 src: fix preload when used with prior flags
Fixes: https://github.com/nodejs/io.js/issues/1691
PR-URL: https://github.com/nodejs/io.js/pull/1694
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2015-05-15 17:40:03 -04:00
Johan Bergström
8a0e5295b4 build: use backslashes for paths on windows
PR-URL: https://github.com/iojs/io.js/pull/1698
Reviewed-By: Yosuke Furukawa <furukawa.yosuke@dena.jp>
Reviewed-By: Roman Reiss <me@silverwind.io>
2015-05-15 09:25:19 +10:00
Yosuke Furukawa
4e2f999a62 test: fix infinite loop detection
Fixes: https://github.com/iojs/io.js/issues/1675
PR-URL: https://github.com/iojs/io.js/pull/1681
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2015-05-13 21:31:11 -04:00
cjihrig
76937051f8 os: refine tmpdir() trailing slash stripping
os.tmpdir() began stripping trailing slashes in
b57cc51d8d. This causes problems if
the temp directory is simply '/'. It also stripped trailing
slashes without first determining which slash type is used by
the current operating system. This commit only strips trailing
slashes if another character precedes the slash. On Windows, it
checks for ':', as not to strip slashes from something like 'C:\'.
It also only strips slashes that are appropriate for the user's
operating system.

Fixes: https://github.com/iojs/io.js/issues/1669
PR-URL: https://github.com/iojs/io.js/pull/1673
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Christian Tellnes <christian@tellnes.no>
2015-05-13 10:16:44 -04:00
Yosuke Furukawa
966acb9916 tools: remove closure_linter to eslint on windows
PR-URL: https://github.com/iojs/io.js/pull/1685
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Roman Reiss <me@silverwind.io>
2015-05-13 16:45:06 +09:00
Johan Bergström
20c9a52227 build: move --with-intl to intl optgroup
PR-URL: https://github.com/iojs/io.js/pull/1680
Reviewed-By: Rod Vagg <rod@vagg.org>
2015-05-13 10:59:56 +10:00
Roman Reiss
c58264e58b tools: make eslint work on subdirectories
The old pattern didn't include files in lib/internal. This changes the
pattern to directories which makes eslint apply to all subdirectories as
well.

PR-URL: https://github.com/iojs/io.js/pull/1686
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
2015-05-12 21:57:08 +02:00
Jeremiah Senkpiel
0b21ab13b7 tools: refactor make test-npm into test-npm.sh
Extracts test-npm from Makefile and puts it in tools/test-npm.sh
Also improves test-npm to use a separate copy of deps/npm for testing.

PR-URL: https://github.com/iojs/io.js/pull/1662
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Evan Lucas <evanlucas@me.com>
2015-05-12 11:12:33 -04:00
Evan Lucas
8b9a1537ad events: provide better error message for unhandled error
Previously, in the event of an unhandled error event, if the error is a
not an actual Error, then a default error is thrown. Now, the argument
is appended to the error message and added as the `context` property
of the error.

PR-URL: https://github.com/iojs/io.js/pull/1654
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2015-05-12 08:33:20 -05:00
Cheng Zhao
08d08668c9 src,deps: replace LoadLibrary by LoadLibraryW
On Windows, when compiling with `UNICODE` defined, `LoadLibrary` becomes
`LoadLibraryW`. When an ASCII string is passed to that function it
crashes.

PR-URL: https://github.com/iojs/io.js/pull/226
Reviewed-By: Bert Belder <bertbelder@gmail.com>
2015-05-12 10:47:51 +02:00
Fedor Indutny
0f850f7ae7 deps: provide TXT chunk info in c-ares
Provide more information in `ares_txt_reply` to coalesce chunks from the
same record into one string.

fix #7367
2015-05-12 10:47:51 +02:00
Ben Noordhuis
7e1c0e75ed deps: sync with upstream bagder/c-ares@bba4dc5
Fixes: https://github.com/iojs/io.js/issues/1676
PR-URL: https://github.com/iojs/io.js/pull/1678
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
2015-05-12 10:46:57 +02:00
Trevor Norris
36cdc7c8ac build: re-enable V8 snapshots
Snapshots had been previously disabled because of a security
vunerability. This has been fixed (ref:
https://github.com/iojs/io.js/issues/1631#issuecomment-100101375)

Also, re-enable snapshots for ARMv6 builds. There were previous build
issues that have been fixed.

Fixes: https://github.com/iojs/io.js/issues/1631
PR-URL: https://github.com/iojs/io.js/pull/1663
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-05-11 13:01:04 -06:00
Roman Reiss
f07b3b600b tools: set eslint comma-spacing to 'warn'
Certain cases with comments inside arrays or object literals fail to
pass eslint's comma-spacing rule. This change sets the comma-spacing
rule to the 'warn' level.

Once https://github.com/eslint/eslint/issues/2408 is resolved and
released, this rule should be set back to 'error' level.

PR-URL: https://github.com/iojs/io.js/pull/1672
Reviewed-By: Yosuke Furukawa <yosuke.furukawa@gmail.com>
2015-05-11 14:32:57 +02:00
Mike MacCana
5755fc099f tls: update default ciphers to use gcm and aes128
AES-GCM or CHACHA20_POLY1305 ciphers must be used in current version of
Chrome to avoid an 'obsolete cryptography' warning.

Prefer 128 bit AES over 192 and 256 bit AES considering attacks that
specifically affect the larger key sizes but do not affect AES 128.

PR-URL: https://github.com/iojs/io.js/pull/1660
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
Reviewed-By: Roman Reiss <me@silverwind.io>
2015-05-11 13:37:48 +02:00
Yosuke Furukawa
18d457bd34 dgram: call send callback asynchronously
dgram#send callback was changed synchronously.
The PR-URL is here https://github.com/joyent/libuv/pull/1358

This commit is temporary fix until libuv issue is resolved.
https://github.com/libuv/libuv/issues/301

PR-URL: https://github.com/iojs/io.js/pull/1313
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
2015-05-10 12:03:21 +09:00
Alex Kocharin
aed6bce906 readline: turn emitKeys into a streaming parser
In certain environments escape sequences could be splitted into
multiple chunks. For example, when user presses left arrow,
`\x1b[D` sequence could appear as two keypresses (`\x1b` + `[D`).

PR-URL: https://github.com/iojs/io.js/pull/1601
Fixes: https://github.com/iojs/io.js/issues/1403
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
2015-05-10 04:48:50 +02:00
Bert Belder
64d3210c98 win,node-gyp: enable delay-load hook by default
The delay-load hook allows node.exe/iojs.exe to be renamed. See efadffe
for more background.

PR-URL: https://github.com/iojs/io.js/pull/1433
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-05-09 16:59:38 -07:00
Yosuke Furukawa
19ffb5cf1c lib: fix eslint styles
PR-URL: https://github.com/iojs/io.js/pull/1539
Fixes: https://github.com/iojs/io.js/issues/1253
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
2015-05-09 12:10:02 +09:00
Yosuke Furukawa
f9dd34d301 tools: replace closure-linter with eslint
PR-URL: https://github.com/iojs/io.js/pull/1539
Fixes: https://github.com/iojs/io.js/issues/1253
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
2015-05-09 12:09:52 +09:00
Oleg Elifantiev
5883a59b21 cluster: disconnect event not emitted correctly
Inside of a worker, disconnect event was not emitted on cluster.worker

Fixes: https://github.com/iojs/io.js/issues/1304
PR-URL: https://github.com/iojs/io.js/pull/1386
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2015-05-08 12:33:14 -07:00
Roman Klauke
931a0d4634 src: add type check to v8.setFlagsFromString()
Calling v8.setFlagsFromString with e.g a function as a flag argument
gave no exception or warning that the function call will fail.

There is now an exception if the function gets called with the wrong
flag type (string is required) or that a flag is expected.

Other APIs already provide exceptions if the argument has not the
expected type.

PR-URL: https://github.com/iojs/io.js/pull/1652
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-05-08 19:09:45 +02:00
Rod Vagg
8bf878d6e5 Working on v2.0.2 2015-05-07 14:13:19 -07:00
Rod Vagg
6c80e38b01 2015-05-07 io.js v2.0.1 Release (PROPOSAL)
PR-URL: https://github.com/iojs/io.js/pull/1629
2015-05-07 14:12:47 -07:00
Rod Vagg
9ec3109272 doc: add TC meeting 2015-04-29 minutes
PR-URL: https://github.com/iojs/io.js/pull/1585
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2015-05-07 11:54:38 -07:00
thefourtheye
b97b96d05a install: fix NameError
If `len(args)` is less than two, then
`install_path = dst_dir + node_prefix + '/'` would throw a `NameError`,
because `dst_dir` will not be defined yet. So we are assigning `''` as
the default value.

PR-URL: https://github.com/iojs/io.js/pull/1628
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2015-05-07 12:42:08 -04:00
Ivan Kozik
c43855c49c src: export the ParseEncoding function on Windows
Makes the ParseEncoding symbol visible to addons on Windows.
It was already visible on Unices.

PR-URL: https://github.com/iojs/io.js/pull/1596
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2015-05-07 12:30:12 -04:00
AQNOUCH Mohammed
2c7206254c doc: fix typo in readme.md
PR-URL: https://github.com/iojs/io.js/pull/1643
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2015-05-06 21:11:09 -04:00
Saúl Ibarra Corretgé
04cc03b029 deps: update libuv to 1.5.0
Fixes: https://github.com/iojs/io.js/issues/1397
Fixes: https://github.com/iojs/io.js/issues/1512
Fixes: https://github.com/iojs/io.js/issues/1621
Fixes: https://github.com/iojs/io.js/issues/862
PR-URL: https://github.com/iojs/io.js/pull/1646
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-05-06 23:08:52 +02:00
thefourtheye
0c8f13df8f tools: remove unused GuessWordSize function
Apart from the fact that the implementation is not reliable,
GuessWordSize is not used anywhere in the codebase.

PR-URL: https://github.com/iojs/io.js/pull/1638
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2015-05-06 16:28:56 -04:00
Ben Noordhuis
b16d9c28e8 deps: upgrade v8 to 4.2.77.20
Fixes: https://github.com/iojs/io.js/issues/1637
PR-URL: https://github.com/iojs/io.js/pull/1639
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
V8-Bug: https://code.google.com/p/v8/issues/detail?id=3960
V8-Bug: https://code.google.com/p/v8/issues/detail?id=4079
2015-05-06 20:14:07 +02:00
Ben Noordhuis
8315b22390 src: fix pedantic cpplint whitespace warnings
Introduced in commit b712af7 ("src: fix NODE_DEPRECATED macro with old
compilers").

PR-URL: https://github.com/iojs/io.js/pull/1640
Reviewed-By: Roman Reiss <me@silverwind.io>
2015-05-06 17:27:18 +02:00
Shigeki Ohtsu
6ccbe75384 js_stream: fix buffer index in DoWrite
The index of buffer to write in JSStream was always 0 by mistake. This
fix was to use increment index of buffer arrays.
The test was originally made by Brian White in #1594.

Fix: https://github.com/iojs/io.js/issues/1595
Fix: https://github.com/iojs/io.js/pull/1594
PR-URL: https://github.com/iojs/io.js/pull/1635
Reviewed-By: Fedor Indutny <fedor@indutny.com>
2015-05-06 16:30:07 +03:00
Ben Noordhuis
b712af79a7 src: fix NODE_DEPRECATED macro with old compilers
The `__attribute__((deprecated("warning")))` macro didn't exist until
gcc 4.5 and clang 2.9.

While io.js does not build with compilers that old, add-ons do.  Let's
make src/node.h compatible with such compilers, it's a public header.

PR-URL: https://github.com/iojs/io.js/pull/1626
Refs: https://github.com/iojs/io.js/issues/1619
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
2015-05-05 18:50:47 +02:00
Brian White
71dc7152ee doc: fix PR link in CHANGELOG
PR-URL: https://github.com/iojs/io.js/pull/1624
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2015-05-05 10:16:11 -04:00
Trevor Norris
7dde95a8bd async-wrap: remove before/after calls in init
It doesn't make sense to call before/after callbacks in init to the
parent because they'll be made anyway from MakeCallback. If information
does need to be propagated then it should be done automatically. Will
deal with this if the issue arrises in the future.

PR-URL: https://github.com/iojs/io.js/pull/1614
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-05-04 20:08:00 -06:00
Trevor Norris
bd42ba056a async-wrap: set flags using functions
Setting flags using cryptic numeric object fields is confusing. Instead
use much simpler .enable()/.disable() calls on the async_wrap object.

PR-URL: https://github.com/iojs/io.js/pull/1614
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-05-04 20:07:56 -06:00
Trevor Norris
4b2c786449 async-wrap: pass PROVIDER as first arg to init
Allow the init callback to see the PROVIDER type easily by being able to
compare the flag with the list of providers on the exported async_wrap
object.

PR-URL: https://github.com/iojs/io.js/pull/1614
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-05-04 20:07:50 -06:00
Trevor Norris
84bf609fd2 async-wrap: don't call init callback unnecessarily
Some calls to ReqWrap would get through the initial check and allow the
init callback to run, even though the callback had not been used on the
parent. Fix by explicitly checking if the parent has a queue.

Also change the name of the check, and internal field of AsyncHooks.
Other names were confusing.

PR-URL: https://github.com/iojs/io.js/pull/1614
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-05-04 20:07:01 -06:00
Ben Noordhuis
2ed10f1349 src: fix minor inefficiency in Buffer::New() call
Commit ccb199a ("src: fix deprecation warnings") passes env()->isolate()
to the Buffer::New() call.  It's somewhat inefficient because the callee
looks up the environment from the isolate.  Just pass the env directly.

PR-URL: https://github.com/iojs/io.js/pull/1577
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
2015-05-05 00:41:59 +02:00
Ben Noordhuis
f696c9efab src: fix deprecated use of Buffer::New()
Pass the isolate explicitly.  Overlooked in commit ccb199a ("src: fix
deprecation warnings") because g++ 4.8 and 4.9 don't warn for it
whereas g++ 5.1 does.

PR-URL: https://github.com/iojs/io.js/pull/1577
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
2015-05-05 00:41:31 +02:00
Rod Vagg
3dafdc57d1 Working on v2.0.1 2015-05-04 14:34:54 -07:00
Rod Vagg
7c89c4c7ac 2015-05-04 io.js v2.0.0 Release
PR-URL: https://github.com/iojs/io.js/pull/1532

Notable Changes:

* crypto: significantly reduced memory usage for TLS (Fedor Indutny & Сковорода
  Никита Андреевич) #1529
* net: socket.connect() now accepts a 'lookup' option for a custom DNS
  resolution mechanism, defaults to dns.lookup() (Evan Lucas) #1505
* npm: Upgrade npm to 2.9.0. See the v2.8.4 and v2.9.0 release notes for
  details. Notable items:
  - Add support for default author field to make npm init -y work without
    user-input (@othiym23) npm/npm/d8eee6cf9d
  - Include local modules in npm outdated and npm update (@ArnaudRinquin)
    npm/npm#7426
  - The prefix used before the version number on npm version is now configurable
    via tag-version-prefix (@kkragenbrink) npm/npm#8014
* os: os.tmpdir() is now cross-platform consistent and will no longer returns a
  path with a trailling slash on any platform (Christian Tellnes) #747
* process:
  - process.nextTick() performance has been improved by between 2-42% across the
    benchmark suite, notable because this is heavily used across core (Brian White) #1548
  - New process.geteuid(), process.seteuid(id), process.getegid() and
    process.setegid(id) methods allow you to get and set effective UID and GID
    of the process (Evan Lucas) #1536
* repl:
  - REPL history can be persisted across sessions if the NODE_REPL_HISTORY_FILE
    environment variable is set to a user accessible file,
    NODE_REPL_HISTORY_SIZE can set the maximum history size and defaults to 1000
    (Chris Dickinson) #1513
  - The REPL can be placed in to one of three modes using the NODE_REPL_MODE
    environment variable: sloppy, strict or magic (default); the new magic mode
    will automatically run "strict mode only" statements in strict mode
    (Chris Dickinson) #1513
* smalloc: the 'smalloc' module has been deprecated due to changes coming in V8
  4.4 that will render it unusable
* util: add Promise, Map and Set inspection support (Christopher Monsanto) #1471
* V8: upgrade to 4.2.77.18, see the ChangeLog for full details. Notable items:
  - Classes have moved out of staging; the class keyword is now usable in strict
    mode without flags
  - Object literal enhancements have moved out of staging; shorthand method and
    property syntax is now usable ({ method() { }, property })
  - Rest parameters (function(...args) {}) are implemented in staging behind the
    --harmony-rest-parameters flag
  - Computed property names ({['foo'+'bar']:'bam'}) are implemented in staging
    behind the --harmony-computed-property-names flag
  - Unicode escapes ('\u{xxxx}') are implemented in staging behind the
    --harmony_unicode flag and the --harmony_unicode_regexps flag for use in
    regular expressions
* Windows:
  - Random process termination on Windows fixed (Fedor Indutny) #1512 / #1563
  - The delay-load hook introduced to fix issues with process naming (iojs.exe /
    node.exe) has been made opt-out for native add-ons. Native add-ons should
    include 'win_delay_load_hook': 'false' in their binding.gyp to disable this
    feature if they experience problems . (Bert Belder) #1433
* Governance:
  - Rod Vagg (@rvagg) was added to the Technical Committee (TC)
  - Jeremiah Senkpiel (@Fishrock123) was added to the Technical Committee (TC)
2015-05-04 14:34:44 -07:00
Rod Vagg
c1b9913e1f src: bump NODE_MODULE_VERSION due to V8 API
V8 4.2 introduces some minor C++ API changes that make it necessary for
many native add-ons to recompile in order to be usable in v2.0.0+

PR-URL: https://github.com/iojs/io.js/pull/1532
2015-05-04 13:10:41 -07:00
Rod Vagg
ac1fb39ce8 doc: add rvagg to the TC
PR-URL: https://github.com/iojs/io.js/pull/1613
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2015-05-04 13:06:48 -07:00
Ben Noordhuis
69581b2767 build: don't compile debug build with -Og
It's not supported by clang and commit e67542a ("build: disable -Og
when building with clang") is not sufficient because the configure
script no longer writes the 'clang' variable to common.gypi.

I could fix the configure script but I don't care enough actually do
so.  A fixed configure script won't help anyway when the compiler is
overridden through the CXX environment variable at compile time.

PR-URL: https://github.com/iojs/io.js/pull/1611
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2015-05-04 20:53:29 +02:00
Chris Dickinson
ca219b00d1 repl: fix for a+ fd clearing the file on read
The second step of augmenting the internal REPL with persistent
history was to re-open the history file with a 'w' handle. This
truncated the file. If a user did not enter a new line before
closing the REPL, their history would be deleted.

PR-URL: https://github.com/iojs/io.js/pull/1605
Reviewed-By: Roman Reiss <me@silverwind.io>
2015-05-04 10:45:14 -07:00