Skip to content

Commit 0d8cbdf

Browse files
committed
Merge remote-tracking branch 'forward/v0.12'
Conflicts: src/node_version.h vcbuild.bat
2 parents 6e99742 + 3a9754a commit 0d8cbdf

File tree

2,407 files changed

+342163
-135481
lines changed

Some content is hidden

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

2,407 files changed

+342163
-135481
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ ipch/
4545
/test/addons/doc-*/
4646
email.md
4747
deps/v8-*
48+
deps/icu
4849
./node_modules
4950
.svn/
5051

@@ -67,3 +68,4 @@ deps/zlib/zlib.target.mk
6768

6869
# test artifacts
6970
tools/faketime
71+
icu_config.gypi

ChangeLog

Lines changed: 169 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,172 @@
1+
2014.09.24, Version 0.11.14 (Unstable)
2+
3+
* uv: Upgrade to v1.0.0-rc1
4+
5+
* http_parser: Upgrade to v2.3.0
6+
7+
* npm: Upgrade to v2.0.0
8+
9+
* openssl: Upgrade to v1.0.1i
10+
11+
* v8: Upgrade to 3.26.33
12+
13+
* Add fast path for simple URL parsing (Gabriel Wicke)
14+
15+
* Added support for options parameter in console.dir() (Xavi Magrinyà)
16+
17+
* Cluster: fix shared handles on Windows (Alexis Campailla)
18+
19+
* buffer: Fix incorrect Buffer.compare behavior (Feross Aboukhadijeh)
20+
21+
* buffer: construct new buffer from buffer toJSON() output (cjihrig)
22+
23+
* buffer: improve Buffer constructor (Kang-Hao Kenny)
24+
25+
* build: linking CoreFoundation framework for OSX (Thorsten Lorenz)
26+
27+
* child_process: accept uid/gid everywhere (Fedor Indutny)
28+
29+
* child_process: add path to spawn ENOENT Error (Ryan Cole)
30+
31+
* child_process: copy spawnSync() cwd option to proper buffer (cjihrig)
32+
33+
* child_process: do not access stderr when stdio set to 'ignore' (cjihrig)
34+
35+
* child_process: don't throw on EAGAIN (Charles)
36+
37+
* child_process: don't throw on EMFILE/ENFILE (Ben Noordhuis)
38+
39+
* child_process: use full path for cmd.exe on Win32 (Ed Morley)
40+
41+
* cluster: allow multiple calls to setupMaster() (Ryan Graham)
42+
43+
* cluster: centralize removal from workers list. (Julien Gilli)
44+
45+
* cluster: enable error/message events using .worker (cjihrig)
46+
47+
* cluster: include settings object in 'setup' event (Ryan Graham)
48+
49+
* cluster: restore v0.10.x setupMaster() behaviour (Ryan Graham)
50+
51+
* cluster: support options in Worker constructor (cjihrig)
52+
53+
* cluster: test events emit on cluster.worker (Sam Roberts)
54+
55+
* console: console.dir() accepts options object (Xavi Magrinyà)
56+
57+
* crypto: add `honorCipherOrder` argument (Fedor Indutny)
58+
59+
* crypto: allow padding in RSA methods (Fedor Indutny)
60+
61+
* crypto: clarify RandomBytes() error msg (Mickael van der Beek)
62+
63+
* crypto: never store pointer to conn in SSL_CTX (Fedor Indutny)
64+
65+
* crypto: unsigned value can't be negative (Brian White)
66+
67+
* dgram: remove new keyword from errnoException (Jackson Tian)
68+
69+
* dns: always set variable family in lookup() (cjihrig)
70+
71+
* dns: include host name in error message if available (Maciej Małecki)
72+
73+
* dns: introduce lookupService function (Saúl Ibarra Corretgé)
74+
75+
* dns: send lookup c-ares errors to callback (Chris Dickinson)
76+
77+
* dns: throw if hostname is not string or falsey (cjihrig)
78+
79+
* events: Output the event that is leaking (Arnout Kazemier)
80+
81+
* fs: close file if fstat() fails in readFile() (cjihrig)
82+
83+
* fs: fs.readFile should not throw uncaughtException (Jackson Tian)
84+
85+
* http: add 308 status_code, see RFC7238 (Yazhong Liu)
86+
87+
* http: don't default OPTIONS to chunked encoding (Nick Muerdter)
88+
89+
* http: fix bailout for writeHead (Alex Kocharin)
90+
91+
* http: remove unused code block (Fedor Indutny)
92+
93+
* http: write() after end() emits an error. (Julien Gilli)
94+
95+
* lib, src: add vm.runInDebugContext() (Ben Noordhuis)
96+
97+
* lib: noisy deprecation of child_process customFds (Ryan Graham)
98+
99+
* module: don't require fs several times (Robert Kowalski)
100+
101+
* net,dgram: workers can listen on exclusive ports (cjihrig)
102+
103+
* net,stream: add isPaused, don't read() when paused (Chris Dickinson)
104+
105+
* net: Ensure consistent binding to IPV6 if address is absent (Raymond Feng)
106+
107+
* net: add remoteFamily for socket (Jackson Tian)
108+
109+
* net: don't emit listening if handle is closed (Eli Skeggs)
110+
111+
* net: don't prefer IPv4 addresses during resolution (cjihrig)
112+
113+
* net: don't throw on net.Server.close() (cjihrig)
114+
115+
* net: reset `errorEmitted` on reconnect (Ed Umansky)
116+
117+
* node: set names for prototype methods (Trevor Norris)
118+
119+
* node: support v8 microtask queue (Vladimir Kurchatkin)
120+
121+
* path: fix slice OOB in trim (Lucio M. Tato)
122+
123+
* path: isAbsolute() should always return boolean (Herman Lee)
124+
125+
* process: throw TypeError if kill pid not a number (Sam Roberts)
126+
127+
* querystring: custom encode and decode (fengmk2)
128+
129+
* querystring: do not add sep for empty array (cjihrig)
130+
131+
* querystring: remove prepended ? from query field (Ezequiel Rabinovich)
132+
133+
* readline: fix close event of readline.Interface() (Yazhong Liu)
134+
135+
* readline: fixes scoping bug (Dan Kaplun)
136+
137+
* readline: implements keypress buffering (Dan Kaplun)
138+
139+
* repl: fix multi-line input (Fedor Indutny)
140+
141+
* repl: fix overwrite for this._prompt (Yazhong Liu)
142+
143+
* repl: proper `setPrompt()` and `multiline` support (Fedor Indutny)
144+
145+
* stream: don't try to finish if buffer is not empty (Vladimir Kurchatkin)
146+
147+
* stream: only end reading on null, not undefined (Jonathan Reem)
148+
149+
* streams: set default hwm properly for Duplex (Andrew Oppenlander)
150+
151+
* string_bytes: ucs2 support big endian (Andrew Low)
152+
153+
* tls, crypto: add DHE support (Shigeki Ohtsu)
154+
155+
* tls: `checkServerIdentity` option (Trevor Livingston)
156+
157+
* tls: add DHE-RSA-AES128-SHA256 to the def ciphers (Shigeki Ohtsu)
158+
159+
* tls: better error reporting at cert validation (Fedor Indutny)
160+
161+
* tls: support multiple keys/certs (Fedor Indutny)
162+
163+
* tls: throw an error, not string (Jackson Tian)
164+
165+
* udp: make it possible to receive empty udp packets (Andrius Bentkus)
166+
167+
* url: treat \ the same as / (isaacs)
168+
169+
1170
2014.05.01, Version 0.11.13 (Unstable), 99c9930ad626e2796af23def7cac19b65c608d18
2171

3172
* v8: upgrade to 3.24.35.22

Makefile

Lines changed: 37 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,13 @@ DESTDIR ?=
77
SIGN ?=
88
PREFIX ?= /usr/local
99

10-
NODE ?= ./node
10+
# Determine EXEEXT
11+
EXEEXT := $(shell $(PYTHON) -c \
12+
"import sys; print('.exe' if sys.platform == 'win32' else '')")
13+
14+
NODE ?= ./node$(EXEEXT)
15+
NODE_EXE = node$(EXEEXT)
16+
NODE_G_EXE = node_g$(EXEEXT)
1117

1218
# Default to verbose builds.
1319
# To do quiet/pretty builds, run `make V=` to set V to an empty string,
@@ -23,31 +29,31 @@ endif
2329
# BUILDTYPE=Debug builds both release and debug builds. If you want to compile
2430
# just the debug build, run `make -C out BUILDTYPE=Debug` instead.
2531
ifeq ($(BUILDTYPE),Release)
26-
all: out/Makefile node
32+
all: out/Makefile $(NODE_EXE)
2733
else
28-
all: out/Makefile node node_g
34+
all: out/Makefile $(NODE_EXE) $(NODE_G_EXE)
2935
endif
3036

3137
# The .PHONY is needed to ensure that we recursively use the out/Makefile
3238
# to check for changes.
33-
.PHONY: node node_g
39+
.PHONY: $(NODE_EXE) $(NODE_G_EXE)
3440

3541
ifeq ($(USE_NINJA),1)
36-
node: config.gypi
42+
$(NODE_EXE): config.gypi
3743
$(NINJA) -C out/Release/
38-
ln -fs out/Release/node node
44+
ln -fs out/Release/$(NODE_EXE) $@
3945

40-
node_g: config.gypi
46+
$(NODE_G_EXE): config.gypi
4147
$(NINJA) -C out/Debug/
42-
ln -fs out/Debug/node $@
48+
ln -fs out/Debug/$(NODE_EXE) $@
4349
else
44-
node: config.gypi out/Makefile
50+
$(NODE_EXE): config.gypi out/Makefile
4551
$(MAKE) -C out BUILDTYPE=Release V=$(V)
46-
ln -fs out/Release/node node
52+
ln -fs out/Release/$(NODE_EXE) $@
4753

48-
node_g: config.gypi out/Makefile
54+
$(NODE_G_EXE): config.gypi out/Makefile
4955
$(MAKE) -C out BUILDTYPE=Debug V=$(V)
50-
ln -fs out/Debug/node $@
56+
ln -fs out/Debug/$(NODE_EXE) $@
5157
endif
5258

5359
out/Makefile: common.gypi deps/uv/uv.gyp deps/http_parser/http_parser.gyp deps/zlib/zlib.gyp deps/v8/build/toolchain.gypi deps/v8/build/features.gypi deps/v8/tools/gyp/v8.gyp node.gyp config.gypi
@@ -72,15 +78,15 @@ uninstall:
7278
$(PYTHON) tools/install.py $@ '$(DESTDIR)' '$(PREFIX)'
7379

7480
clean:
75-
-rm -rf out/Makefile node node_g out/$(BUILDTYPE)/node blog.html email.md
81+
-rm -rf out/Makefile $(NODE_EXE) $(NODE_G_EXE) out/$(BUILDTYPE)/$(NODE_EXE) blog.html email.md
7682
-find out/ -name '*.o' -o -name '*.a' | xargs rm -rf
7783
-rm -rf node_modules
7884

7985
distclean:
8086
-rm -rf out
8187
-rm -f config.gypi
8288
-rm -f config.mk
83-
-rm -rf node node_g blog.html email.md
89+
-rm -rf $(NODE_EXE) $(NODE_G_EXE) blog.html email.md
8490
-rm -rf node_modules
8591

8692
test: all
@@ -95,8 +101,8 @@ test-valgrind: all
95101
$(PYTHON) tools/test.py --mode=release --valgrind simple message
96102

97103
test/gc/node_modules/weak/build/Release/weakref.node:
98-
@if [ ! -f node ]; then make all; fi
99-
./node deps/npm/node_modules/node-gyp/bin/node-gyp rebuild \
104+
@if [ ! -f $(NODE_EXE) ]; then make all; fi
105+
./$(NODE_EXE) deps/npm/node_modules/node-gyp/bin/node-gyp rebuild \
100106
--directory="$(shell pwd)/test/gc/node_modules/weak" \
101107
--nodedir="$(shell pwd)"
102108

@@ -146,11 +152,11 @@ test-internet: all
146152
test-debugger: all
147153
$(PYTHON) tools/test.py debugger
148154

149-
test-npm: node
150-
./node deps/npm/test/run.js
155+
test-npm: $(NODE_EXE)
156+
./$(NODE_EXE) deps/npm/test/run.js
151157

152-
test-npm-publish: node
153-
npm_package_config_publishtest=true ./node deps/npm/test/run.js
158+
test-npm-publish: $(NODE_EXE)
159+
npm_package_config_publishtest=true ./$(NODE_EXE) deps/npm/test/run.js
154160

155161
test-addons: test-build
156162
$(PYTHON) tools/test.py --mode=release addons
@@ -174,32 +180,32 @@ website_files = \
174180
out/doc/sh_main.js \
175181
out/doc/sh_javascript.min.js
176182

177-
doc: $(apidoc_dirs) $(website_files) $(apiassets) $(apidocs) tools/doc/ out/doc/changelog.html node
183+
doc: $(apidoc_dirs) $(website_files) $(apiassets) $(apidocs) tools/doc/ out/doc/changelog.html $(NODE_EXE)
178184

179185
$(apidoc_dirs):
180186
mkdir -p $@
181187

182188
out/doc/api/assets/%: doc/api_assets/% out/doc/api/assets/
183189
cp $< $@
184190

185-
out/doc/changelog.html: ChangeLog doc/changelog-head.html doc/changelog-foot.html tools/build-changelog.sh node
191+
out/doc/changelog.html: ChangeLog doc/changelog-head.html doc/changelog-foot.html tools/build-changelog.sh $(NODE_EXE)
186192
bash tools/build-changelog.sh
187193

188194
out/doc/%: doc/%
189195
cp -r $< $@
190196

191-
out/doc/api/%.json: doc/api/%.markdown node
192-
out/Release/node tools/doc/generate.js --format=json $< > $@
197+
out/doc/api/%.json: doc/api/%.markdown $(NODE_EXE)
198+
out/Release/$(NODE_EXE) tools/doc/generate.js --format=json $< > $@
193199

194-
out/doc/api/%.html: doc/api/%.markdown node
195-
out/Release/node tools/doc/generate.js --format=html --template=doc/template.html $< > $@
200+
out/doc/api/%.html: doc/api/%.markdown $(NODE_EXE)
201+
out/Release/$(NODE_EXE) tools/doc/generate.js --format=html --template=doc/template.html $< > $@
196202

197203
email.md: ChangeLog tools/email-footer.md
198204
bash tools/changelog-head.sh | sed 's|^\* #|* \\#|g' > $@
199205
cat tools/email-footer.md | sed -e 's|__VERSION__|'$(VERSION)'|g' >> $@
200206

201207
blog.html: email.md
202-
cat $< | ./node tools/doc/node_modules/.bin/marked > $@
208+
cat $< | ./$(NODE_EXE) tools/doc/node_modules/.bin/marked > $@
203209

204210
website-upload: doc
205211
rsync -r out/doc/ node@nodejs.org:~/web/nodejs.org/
@@ -300,7 +306,7 @@ $(PKG): release-only
300306
--out $(PKG)
301307
SIGN="$(INT_SIGN)" PKG="$(PKG)" bash tools/osx-productsign.sh
302308

303-
$(TARBALL): release-only node doc
309+
$(TARBALL): release-only $(NODE_EXE) doc
304310
git archive --format=tar --prefix=$(TARNAME)/ HEAD | tar xf -
305311
mkdir -p $(TARNAME)/doc/api
306312
cp doc/node.1 $(TARNAME)/doc/node.1
@@ -387,9 +393,9 @@ bench-http-simple:
387393
benchmark/http_simple_bench.sh
388394

389395
bench-idle:
390-
./node benchmark/idle_server.js &
396+
./$(NODE_EXE) benchmark/idle_server.js &
391397
sleep 1
392-
./node benchmark/idle_clients.js &
398+
./$(NODE_EXE) benchmark/idle_clients.js &
393399

394400
jslintfix:
395401
PYTHONPATH=tools/closure_linter/ $(PYTHON) tools/closure_linter/closure_linter/fixjsstyle.py --strict --nojsdoc -r lib/ -r src/ --exclude_files lib/punycode.js
@@ -406,7 +412,7 @@ CPPLINT_EXCLUDE += src/queue.h
406412
CPPLINT_EXCLUDE += src/tree.h
407413
CPPLINT_EXCLUDE += src/v8abbr.h
408414

409-
CPPLINT_FILES = $(filter-out $(CPPLINT_EXCLUDE), $(wildcard src/*.cc src/*.h src/*.c))
415+
CPPLINT_FILES = $(filter-out $(CPPLINT_EXCLUDE), $(wildcard src/*.cc src/*.h src/*.c tools/icu/*.h tools/icu/*.cc deps/debugger-agent/include/* deps/debugger-agent/src/*))
410416

411417
cpplint:
412418
@$(PYTHON) tools/cpplint.py $(CPPLINT_FILES)

0 commit comments

Comments
 (0)