Skip to content

Commit cb069d4

Browse files
committed
Merge remote-tracking branch 'origin/v1.x' into refactor-mac-installer
Conflicts: .gitignore
2 parents 5e2c01c + 78581c8 commit cb069d4

File tree

477 files changed

+8741
-3567
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

477 files changed

+8741
-3567
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ deps/zlib/zlib.target.mk
7575
# test artifacts
7676
tools/faketime
7777
icu_config.gypi
78+
test.tap
7879

7980
# mac installer files
8081
/tools/osx-pkg/osx-pkg-out.pkgproj

AUTHORS

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -704,5 +704,24 @@ Sam Newman <newmansam@outlook.com>
704704
Zach Bruggeman <mail@bruggie.com>
705705
Michaël Zasso <mic.besace@gmail.com>
706706
Haoliang Gao <sakura9515@gmail.com>
707+
Rudolf Meijering <skaapgif@gmail.com>
708+
Ryan Seys <ryan@ryanseys.com>
709+
Omer Wazir <omer.wazir@gmail.com>
710+
Dan Dascalescu <ddascalescu+github@gmail.com>
711+
Jan Schär <jscissr@gmail.com>
712+
Debjeet Biswas <debjeet@leftshift.io>
713+
Amir Saboury <amir.s@acm.org>
714+
Charmander <~@charmander.me>
715+
Jimmy Hsu <jimmyhsu@users.noreply.github.com>
716+
jigsaw <jigsaw@live.jp>
717+
Emily Rose <nexxy@symphonysubconscious.com>
718+
Shinnosuke Watanabe <snnskwtnb@gmail.com>
719+
Bruno Jouhier <bjouhier@gmail.com>
720+
René Kooi <rene@kooi.me>
721+
Petka Antonov <petka_antonov@hotmail.com>
722+
Ryan Scheel <Ryan.havvy@gmail.com>
723+
Benjamin Gruenbaum <inglor@gmail.com>
724+
Pavel Medvedev <pmedvedev@gmail.com>
725+
Russell Dempsey <sgtpooki@gmail.com>
707726

708727
# Generated by tools/update-authors.sh

CHANGELOG.md

Lines changed: 420 additions & 204 deletions
Large diffs are not rendered by default.

GOVERNANCE.md

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -79,14 +79,6 @@ a standard TC motion.
7979
Changes to TC membership should be posted in the agenda, and may be
8080
suggested as any other agenda item (see "TC Meetings" below).
8181

82-
If an addition or removal is proposed during a meeting, and the full
83-
TC is not in attendance to participate, then the addition or removal
84-
is added to the agenda for the subsequent meeting. This is to ensure
85-
that all members are given the opportunity to participate in all
86-
membership decisions. If a TC member is unable to attend a meeting
87-
where a planned membership decision is being made, then their consent
88-
is assumed.
89-
9082
No more than 1/3 of the TC members may be affiliated with the same
9183
employer. If removal or resignation of a TC member, or a change of
9284
employment by a TC member, creates a situation where more than 1/3 of
@@ -141,6 +133,3 @@ If an agenda item cannot reach a consensus a TC member can call for
141133
either a closing vote or a vote to table the issue to the next
142134
meeting. The call for a vote must be seconded by a majority of the TC
143135
or else the discussion will continue. Simple majority wins.
144-
145-
Note that changes to TC membership require unanimous consensus. See
146-
"TC Membership" above.

Makefile

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -107,8 +107,8 @@ test-all: test-build test/gc/node_modules/weak/build/Release/weakref.node
107107
test-all-valgrind: test-build
108108
$(PYTHON) tools/test.py --mode=debug,release --valgrind
109109

110-
test-ci: test-build
111-
$(PYTHON) tools/test.py -J parallel sequential message addons
110+
test-ci:
111+
$(PYTHON) tools/test.py -p tap --logfile test.tap -J parallel sequential message
112112

113113
test-release: test-build
114114
$(PYTHON) tools/test.py --mode=release
@@ -248,7 +248,7 @@ release-only:
248248
else \
249249
echo "" >&2 ; \
250250
echo "#NODE_VERSION_IS_RELEASE is set to $(RELEASE)." >&2 ; \
251-
echo "Did you remember to update src/node_version.cc?" >&2 ; \
251+
echo "Did you remember to update src/node_version.h?" >&2 ; \
252252
echo "" >&2 ; \
253253
exit 1 ; \
254254
fi
@@ -290,12 +290,14 @@ $(PKG): release-only pre-pkg
290290
SIGN="$(INT_SIGN)" PKG="$(PKG)" bash tools/osx-productsign.sh
291291

292292
$(TARBALL): release-only $(NODE_EXE) doc
293-
git archive --format=tar --prefix=$(TARNAME)/ HEAD | tar xf -
293+
git checkout-index -a -f --prefix=$(TARNAME)/
294294
mkdir -p $(TARNAME)/doc/api
295295
cp doc/iojs.1 $(TARNAME)/doc/iojs.1
296296
cp -r out/doc/api/* $(TARNAME)/doc/api/
297-
rm -rf $(TARNAME)/deps/v8/test # too big
297+
rm -rf $(TARNAME)/deps/v8/{test,samples,tools/profviz} # too big
298298
rm -rf $(TARNAME)/doc/images # too big
299+
rm -rf $(TARNAME)/deps/uv/{docs,samples,test}
300+
rm -rf $(TARNAME)/deps/openssl/{doc,demos,test}
299301
rm -rf $(TARNAME)/deps/zlib/contrib # too big, unused
300302
find $(TARNAME)/ -type l | xargs rm # annoying on windows
301303
tar -cf $(TARNAME).tar $(TARNAME)

README.md

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ the title of man pages).
2121

2222
## Download
2323

24-
Binaries, installers and source tarballs are available at
24+
Binaries, installers, and source tarballs are available at
2525
<https://iojs.org>.
2626

2727
**Releases** are available at <https://iojs.org/dist/>, listed under
@@ -34,7 +34,7 @@ string which includes their date (in UTC time) and the commit SHA at
3434
the HEAD of the release.
3535

3636
**API documentation** is available in each release and nightly
37-
directory under _docs_. <http://iojs.org/api/> points to the the
37+
directory under _docs_. <https://iojs.org/api/> points to the the
3838
latest version.
3939

4040
### Verifying Binaries
@@ -263,7 +263,7 @@ information about the governance of the io.js project, see
263263
* **Trevor Norris** ([@trevnorris](https://github.com/trevnorris)) &lt;trev.norris@gmail.com&gt; (Technical Committee)
264264
* **Chris Dickinson** ([@chrisdickinson](https://github.com/chrisdickinson)) &lt;christopher.s.dickinson@gmail.com&gt; (Technical Committee)
265265
<br>Release GPG key: 9554F04D7259F04124DE6B476D5A82AC7E37093B
266-
* **Colin Ihrig** ([@cjihrig](https://github.com/cjihrig)) &lt;cjihrig@gmail.com&gt; (Technical Committee)
266+
* **Colin Ihrig** ([@cjihrig](https://github.com/cjihrig)) &lt;cjihrig@gmail.com&gt;
267267
* **Mikeal Rogers** ([@mikeal](https://github.com/mikeal)) &lt;mikeal.rogers@gmail.com&gt;
268268
* **Rod Vagg** ([@rvagg](https://github.com/rvagg)) &lt;rod@vagg.org&gt;
269269
<br>Release GPG key: DD8F2338BAE7501E3DD5AC78C273792F7D83545D
@@ -278,6 +278,11 @@ information about the governance of the io.js project, see
278278
* **Aleksey Smolenchuk** ([@lxe](https://github.com/lxe)) &lt;lxe@lxe.co&gt;
279279
* **Shigeki Ohtsu** ([@shigeki](https://github.com/shigeki)) &lt;ohtsu@iij.ad.jp&gt;
280280
* **Sam Roberts** ([@sam-github](https://github.com/sam-github)) &lt;vieuxtech@gmail.com&gt;
281+
* **Wyatt Preul** ([@geek](https://github.com/geek)) &lt;wpreul@gmail.com&gt;
282+
* **Brian White** ([@mscdex](https://github.com/mscdex)) &lt;mscdex@mscdex.net&gt;
283+
* **Christian Vaagland Tellnes** ([@tellnes](https://github.com/tellnes)) &lt;christian@tellnes.com&gt;
284+
* **Robert Kowalski** ([@robertkowalski](https://github.com/robertkowalski)) &lt;rok@kowalski.gd&gt;
285+
* **Julian Duque** ([@julianduque](https://github.com/julianduque)) &lt;julianduquej@gmail.com&gt;
281286

282287
Collaborators follow the [COLLABORATOR_GUIDE.md](./COLLABORATOR_GUIDE.md) in
283288
maintaining the io.js project.

ROADMAP.md

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
# io.js Roadmap
2+
3+
***This is a living document, it describes the policy and priorities as they exist today but can evolve over time.***
4+
5+
## Stability Policy
6+
7+
The most important consideration in every code change is the impact it will have, positive or negative, on the ecosystem (modules and applications).
8+
9+
io.js does not remove stdlib JS API.
10+
11+
Shipping with current and well supported dependencies is the best way to ensure long term stability of the platform. When those dependencies are no longer maintained io.js will take on their continued maintenance as part of our [Long Term Support policy](#long-term-support).
12+
13+
io.js will continue to adopt new V8 releases.
14+
* When V8 ships a breaking change to their C++ API that can be handled by [`nan`](https://github.com/rvagg/nan)
15+
the *minor* version of io.js will be increased.
16+
* When V8 ships a breaking change to their C++ API that can NOT be handled by [`nan`](https://github.com/rvagg/nan)
17+
the *major* version of io.js will be increased.
18+
* When new features in the JavaScript language are introduced by V8 the
19+
*minor* version number will be increased. TC39 has stated clearly that no
20+
backwards incompatible changes will be made to the language so it is
21+
appropriate to increase the minor rather than major.
22+
23+
No new API will be added in *patch* releases.
24+
25+
Any API addition will cause an increase in the *minor* version.
26+
27+
### Long Term Support
28+
29+
io.js supports old versions for as long as community members are fixing bugs in them.
30+
31+
As long as there is a community back porting bug fixes we will push patch releases for those versions of io.js.
32+
33+
When old versions of dependencies like V8 are no longer supported by their project io.js will take on the responsibility of maintenance to ensure continued long term support in io.js patch releases.
34+
35+
## Channels
36+
37+
Channels are points of collaboration with the broader community and are not strictly scoped to a repository or branch.
38+
39+
* Release - Stable production ready builds. Unique version numbers following semver.
40+
* Canary - Nightly builds w/ V8 version in Chrome Canary + changes landing to io.js. No version designation.
41+
* NG - "Next Generation." No version designation.
42+
43+
## NG (Next Generation)
44+
45+
In order for io.js to stay competitive we need to work on the next generation of the platform which will more accurately integrate and reflect the advancements in the language and the ecosystem.
46+
47+
While this constitutes a great leap forward for the platform we will be making this leap without breaking backwards compatibility with the existing ecosystem of modules.
48+
49+
# Immediate Priorities
50+
51+
## Debugging and Tracing
52+
53+
Debugging is one of the first things from everyone's mouth, both developer and enterprise, when describing trouble they've had with node.js/io.js.
54+
55+
The goal of io.js' effort is to build a healthy debugging and tracing ecosystem and not to try and build any "silver bullet" features for core (like the domains debacle).
56+
57+
The [Tracing WG](https://github.com/iojs/tracing-wg) is driving this effort:
58+
59+
* AsyncWrap improvements - basically just iterations based on feedback from people using it.
60+
* async-listener - userland module that will dogfood AsyncWrap as well as provide many often requested debugging features.
61+
* Tracing
62+
* Add tracing support for more platforms (LTTng, etc).
63+
* [Unify the Tracing endpoint](https://github.com/iojs/io.js/issues/729).
64+
* New Chrome Debugger - Google is working on a version of Chrome's debugger that is without Chrome and can be used with io.js.
65+
66+
## Ecosystem Automation
67+
68+
In order to maintain a good release cadence without harming compatibility we must do a better job of understanding exactly what impact a particular change or release will have on the ecosystem. This requires new automation.
69+
70+
The initial goals for this automation are relatively simple but will create a baseline toolchain we can continue to improve upon.
71+
72+
* Produce a list of modules that no longer build between two release versions.
73+
* Produce a list of modules that use a particular core API.
74+
* Produce detailed code coverage data for the tests in core.
75+
76+
## Improve Installation and Upgrades
77+
78+
* Host and maintain registry endpoints (Homebrew, apt, etc).
79+
* Document installation and upgrade procedures with an emphasis on using nvm or nave for development and our registry endpoints for traditional package managers and production.
80+
81+
## Streams
82+
83+
* Fix all existing compatibility issues.
84+
* Simplify stream creation to avoid user error.
85+
* Explore and identify compatibility issues with [WHATWG Streams](https://github.com/whatwg/streams).
86+
* Improve stream performance.
87+
88+
## Internationalization / Localization
89+
90+
* Build documentation tooling with localization support built in.
91+
* Reduce size of ICU and ship with it by default.
92+
* Continue growth of our i18n community.

WORKING_GROUPS.md

Lines changed: 104 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,107 @@ Its responsibilities are:
7676
The current members can be found in their
7777
[README](https://github.com/iojs/build#people).
7878

79+
### Tracing
80+
81+
The tracing working group's purpose is to increase the
82+
transparency of software written in io.js.
83+
84+
Its responsibilities are:
85+
* Collaboration with V8 to integrate with `trace_event`.
86+
* Maintinence and iteration on AsyncWrap.
87+
* Maintinence and improvements to system tracing support (DTrace, LTTng, etc).
88+
* Documention of tracing and debugging techniques.
89+
* Fostering a tracing and debugging ecosystem.
90+
91+
The current members can be found in their
92+
[README](https://github.com/iojs/tracing-wg#people).
93+
94+
### i18n
95+
96+
The i18n working groups handle more than just translations. They
97+
are endpoints for community members to collaborate with each
98+
other in their language of choice.
99+
100+
Each team is organized around a common spoken language. Each
101+
language community might then produce multiple localizations for
102+
various project resources.
103+
104+
Their responsibilities are:
105+
* Translation of any io.js materials they believe are relevant to their
106+
community.
107+
* Review processes for keeping translations up
108+
to date and of high quality.
109+
* Social media channels in their language.
110+
* Promotion of io.js speakers for meetups and conferences in their
111+
language.
112+
113+
Membership is maintained by each language community.
114+
115+
* [iojs-bg](http://github.com/iojs/iojs-bg)
116+
* [iojs-bn](http://github.com/iojs/iojs-bn)
117+
* [iojs-cn](http://github.com/iojs/iojs-cn)
118+
* [iojs-cs](http://github.com/iojs/iojs-cs)
119+
* [iojs-da](http://github.com/iojs/iojs-da)
120+
* [iojs-de](http://github.com/iojs/iojs-de)
121+
* [iojs-el](http://github.com/iojs/iojs-el)
122+
* [iojs-es](http://github.com/iojs/iojs-es)
123+
* [iojs-fa](http://github.com/iojs/iojs-fa)
124+
* [iojs-fi](http://github.com/iojs/iojs-fi)
125+
* [iojs-fr](http://github.com/iojs/iojs-fr)
126+
* [iojs-he](http://github.com/iojs/iojs-he)
127+
* [iojs-hi](http://github.com/iojs/iojs-hi)
128+
* [iojs-hu](http://github.com/iojs/iojs-hu)
129+
* [iojs-id](http://github.com/iojs/iojs-id)
130+
* [iojs-it](http://github.com/iojs/iojs-it)
131+
* [iojs-ja](http://github.com/iojs/iojs-ja)
132+
* [iojs-ka](http://github.com/iojs/iojs-ka)
133+
* [iojs-ko](http://github.com/iojs/iojs-ko)
134+
* [iojs-mk](http://github.com/iojs/iojs-mk)
135+
* [iojs-nl](http://github.com/iojs/iojs-nl)
136+
* [iojs-no](http://github.com/iojs/iojs-no)
137+
* [iojs-pl](http://github.com/iojs/iojs-pl)
138+
* [iojs-pt](http://github.com/iojs/iojs-pt)
139+
* [iojs-ro](http://github.com/iojs/iojs-ro)
140+
* [iojs-ru](http://github.com/iojs/iojs-ru)
141+
* [iojs-sv](http://github.com/iojs/iojs-sv)
142+
* [iojs-ta](http://github.com/iojs/iojs-ta)
143+
* [iojs-tr](http://github.com/iojs/iojs-tr)
144+
* [iojs-tw](http://github.com/iojs/iojs-tw)
145+
* [iojs-uk](http://github.com/iojs/iojs-uk)
146+
* [iojs-vi](http://github.com/iojs/iojs-vi)
147+
148+
### Evangelism
149+
150+
The evangelism working group promotes the accomplishments
151+
of io.js and lets the community know how they can get involved.
152+
153+
Their responsibilities are:
154+
* Project messaging.
155+
* Official project social media.
156+
* Promotion of speakers for meetups and conferences.
157+
* Promotion of community events.
158+
* Publishing regular update summaries and other promotional
159+
content.
160+
161+
The current members can be found in their
162+
[README](https://github.com/iojs/evangelism#people).
163+
164+
### Roadmap
165+
166+
The roadmap working group is responsible for user community outreach
167+
and the translation of their concerns into a plan of action for io.js.
168+
169+
The final [ROADMAP](./ROADMAP.md) document is still owned by the TC and requires
170+
the same approval for changes as any other project asset.
171+
172+
Their responsibilities are:
173+
* Attract and summarize user community needs and feedback.
174+
* Find or potentially create tools that allow for broader participation.
175+
* Create Pull Requests for relevant changes to [Roadmap.md](./ROADMAP.md)
176+
177+
The current members can be found in their
178+
[README](https://github.com/iojs/roadmap#people).
179+
79180
## Starting a WG
80181

81182
A Working Group is established by first defining a charter that can be
@@ -86,7 +187,7 @@ A working group needs 3 initial members. These should be individuals
86187
already undertaking the work described in the charter.
87188

88189
The list of responsibilities should be specific. Once established these
89-
responsibilities are no longer governed by the TC and therefor should
190+
responsibilities are no longer governed by the TC and therefore should
90191
not be broad or subjective. The only recourse the TC has over the working
91192
group is to revoke the entire charter and take on the work previously
92193
done by the working group themselves.
@@ -127,7 +228,7 @@ For the current list of WG members, see the project
127228

128229
### Collaborators
129230

130-
The [iojs/website](https://github.com/iojs/website) GitHub repository is
231+
The *[insert WG name]* GitHub repository is
131232
maintained by the WG and additional Collaborators who are added by the
132233
WG on an ongoing basis.
133234

@@ -140,7 +241,7 @@ _Note:_ If you make a significant contribution and are not considered
140241
for commit-access log an issue or contact a WG member directly and it
141242
will be brought up in the next WG meeting.
142243

143-
Modifications of the contents of the iojs/website repository are made on
244+
Modifications of the contents of the *[insert WG repo]* repository are made on
144245
a collaborative basis. Anybody with a GitHub account may propose a
145246
modification via pull request and it will be considered by the project
146247
Collaborators. All pull requests must be reviewed and accepted by a

benchmark/common.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,7 @@ Benchmark.prototype._run = function() {
145145
var argv = queue[i++];
146146
if (!argv)
147147
return;
148+
argv = process.execArgv.concat(argv);
148149
var child = spawn(node, argv, { stdio: 'inherit' });
149150
child.on('close', function(code, signal) {
150151
if (code)

0 commit comments

Comments
 (0)