2130
|
1 <?xml version="1.0"?>
|
|
2
|
|
3 <!--
|
|
4 Copyright (C) Nginx, Inc.
|
|
5 -->
|
|
6
|
|
7 <!DOCTYPE article SYSTEM "../../../../dtd/article.dtd">
|
|
8
|
|
9 <article name="njs Changes"
|
|
10 link="/en/docs/njs/njs_changes.html"
|
|
11 lang="en"
|
|
12 rev="1"
|
|
13 toc="no">
|
|
14
|
|
15 <section id="njs0.2.0" name="Changes with 0.2.0">
|
|
16
|
|
17 <para>
|
|
18 Release Date:
|
|
19 3 Apr 2018
|
|
20 </para>
|
|
21
|
|
22 <para>
|
|
23 <list type="bullet">
|
|
24
|
|
25 <listitem>
|
|
26 <para>
|
|
27 Feature:
|
|
28 reporting njs version by CLI.
|
|
29 </para>
|
|
30 </listitem>
|
|
31
|
|
32 <listitem>
|
|
33 <para>
|
|
34 Feature:
|
|
35 textual description for type converting exceptions.
|
|
36 </para>
|
|
37 </listitem>
|
|
38
|
|
39 <listitem>
|
|
40 Feature:
|
|
41 <literal>setTimeout()</literal> and
|
|
42 <literal>clearTimeout() </literal> methods.
|
|
43 </listitem>
|
|
44
|
|
45 <listitem>
|
|
46 <para>
|
|
47 Feature:
|
|
48 Byte string to
|
|
49 <literal>hex</literal>,
|
|
50 <literal>base64</literal>,
|
|
51 <literal>base64url</literal> encodings.
|
|
52 </para>
|
|
53 </listitem>
|
|
54
|
|
55 <listitem>
|
|
56 <para>
|
|
57 Feature:
|
|
58 <link url="https://nodejs.org/api/crypto.html#crypto_class_hash">Node.js style</link>
|
|
59 <literal>Crypto</literal> methods.
|
|
60 </para>
|
|
61 </listitem>
|
|
62
|
|
63 <listitem>
|
|
64 <para>
|
|
65 Feature:
|
|
66 HTTP and stream
|
|
67 <literal>warn()</literal> and
|
|
68 <literal>error()</literal> methods.
|
|
69 </para>
|
|
70 </listitem>
|
|
71
|
|
72 <listitem>
|
|
73 <para>
|
|
74 Feature:
|
|
75 HTTP <literal>subrequest()</literal> method.
|
|
76 </para>
|
|
77 </listitem>
|
|
78
|
|
79 <listitem>
|
|
80 <para>
|
|
81 Feature:
|
|
82 HTTP <literal>return()</literal> method.
|
|
83 </para>
|
|
84 </listitem>
|
|
85
|
|
86 <listitem>
|
|
87 <para>
|
|
88 Bugfix:
|
|
89 miscellaneous bugs have been fixed in the core and
|
|
90 interactive shell.
|
|
91 </para>
|
|
92 </listitem>
|
|
93
|
|
94 </list>
|
|
95 </para>
|
|
96
|
|
97 </section>
|
|
98
|
|
99 <section id="njs0.1.15" name="Changes with 0.1.15">
|
|
100
|
|
101 <para>
|
|
102 Release Date:
|
|
103 20 Nov 2017
|
|
104 </para>
|
|
105
|
|
106 <para>
|
|
107 <list type="bullet">
|
|
108
|
|
109 <listitem>
|
|
110 <para>
|
|
111 Feature:
|
|
112 <literal>Error</literal>,
|
|
113 <literal>EvalError</literal>,
|
|
114 <literal>InternalError</literal>,
|
|
115 <literal>RangeError</literal>,
|
|
116 <literal>ReferenceError</literal>,
|
|
117 <literal>SyntaxError</literal>,
|
|
118 <literal>TypeError</literal>,
|
|
119 <literal>URIError</literal> objects.
|
|
120 </para>
|
|
121 </listitem>
|
|
122
|
|
123 <listitem>
|
|
124 <para>
|
|
125 Feature:
|
|
126 octal literals support.
|
|
127 </para>
|
|
128 </listitem>
|
|
129
|
|
130 <listitem>
|
|
131 <para>
|
|
132 Feature:
|
|
133 File system access
|
|
134 (<link url="https://nodejs.org/api/fs.html#fs_file_system">Node.js style</link>)
|
|
135 <literal>fs.readFile()</literal>,
|
|
136 <literal>fs.readFileSync()</literal>,
|
|
137 <literal>fs.appendFile()</literal>,
|
|
138 <literal>fs.appendFileSync()</literal>,
|
|
139 <literal>fs.writeFile()</literal>,
|
|
140 <literal>fs.writeFileSync()</literal>
|
|
141 methods.
|
|
142 </para>
|
|
143 </listitem>
|
|
144
|
|
145 <listitem>
|
|
146 <para>
|
|
147 Feature:
|
|
148 nginx modules print backtrace on exception.
|
|
149 </para>
|
|
150 </listitem>
|
|
151
|
|
152 <listitem>
|
|
153 <para>
|
|
154 Bugfix:
|
|
155 miscellaneous bugs have been fixed.
|
|
156 </para>
|
|
157 </listitem>
|
|
158
|
|
159 </list>
|
|
160 </para>
|
|
161
|
|
162 </section>
|
|
163
|
|
164
|
|
165 <section id="njs0.1.14" name="Changes with 0.1.14">
|
|
166
|
|
167 <para>
|
|
168 Release Date:
|
|
169 09 Oct 2017
|
|
170 </para>
|
|
171
|
|
172 <para>
|
|
173 <list type="bullet">
|
|
174
|
|
175 <listitem>
|
|
176 <para>
|
|
177 Feature:
|
|
178 JSON object.
|
|
179 </para>
|
|
180 </listitem>
|
|
181
|
|
182 <listitem>
|
|
183 <para>
|
|
184 Feature:
|
|
185 object level completions in interactive shell.
|
|
186 </para>
|
|
187 </listitem>
|
|
188
|
|
189 <listitem>
|
|
190 <para>
|
|
191 Feature:
|
|
192 various configure improvements.
|
|
193 </para>
|
|
194 </listitem>
|
|
195
|
|
196 <listitem>
|
|
197 <para>
|
|
198 Bugfix:
|
|
199 miscellaneous bugs have been fixed in the core and
|
|
200 interactive shell.
|
|
201 </para>
|
|
202 </listitem>
|
|
203
|
|
204 </list>
|
|
205 </para>
|
|
206
|
|
207 </section>
|
|
208
|
|
209
|
|
210 <section id="njs0.1.13" name="Changes with 0.1.13">
|
|
211
|
|
212 <para>
|
|
213 Release Date:
|
|
214 31 Aug 2017
|
|
215 </para>
|
|
216
|
|
217 <para>
|
|
218 <list type="bullet">
|
|
219
|
|
220 <listitem>
|
|
221 <para>
|
|
222 Feature:
|
|
223 <literal>console.log()</literal> and
|
|
224 <literal>console.help()</literal>
|
|
225 methods in interactive shell.
|
|
226 </para>
|
|
227 </listitem>
|
|
228
|
|
229 <listitem>
|
|
230 <para>
|
|
231 Feature:
|
|
232 interactive shell prints backtrace on exception.
|
|
233 </para>
|
|
234 </listitem>
|
|
235
|
|
236 <listitem>
|
|
237 <para>
|
|
238 Feature:
|
|
239 interactive shell by default
|
|
240 if <literal>libedit</literal> is available.
|
|
241 </para>
|
|
242 </listitem>
|
|
243
|
|
244 <listitem>
|
|
245 <para>
|
|
246 Bugfix:
|
|
247 processing of large files from
|
|
248 <literal>stdin</literal> in command line mode.
|
|
249 </para>
|
|
250 </listitem>
|
|
251
|
|
252 <listitem>
|
|
253 <para>
|
|
254 Bugfix:
|
|
255 improved <literal>editline</literal> detection.
|
|
256 </para>
|
|
257 </listitem>
|
|
258
|
|
259 </list>
|
|
260 </para>
|
|
261
|
|
262 </section>
|
|
263
|
|
264
|
|
265 <section id="njs0.1.12" name="Changes with 0.1.12">
|
|
266
|
|
267 <para>
|
|
268 Release Date:
|
|
269 08 Aug 2017
|
|
270 </para>
|
|
271
|
|
272 <para>
|
|
273 <list type="bullet">
|
|
274
|
|
275 <listitem>
|
|
276 <para>
|
|
277 Feature:
|
|
278 Interactive shell.
|
|
279 </para>
|
|
280 </listitem>
|
|
281
|
|
282 <listitem>
|
|
283 <para>
|
|
284 Bugfix:
|
|
285 in <literal>Object.isSealed()</literal>.
|
|
286 </para>
|
|
287 </listitem>
|
|
288
|
|
289 </list>
|
|
290 </para>
|
|
291
|
|
292 </section>
|
|
293
|
|
294
|
|
295 <section id="njs0.1.11" name="Changes with 0.1.11">
|
|
296
|
|
297 <para>
|
|
298 Release Date:
|
|
299 27 Jun 2017
|
|
300 </para>
|
|
301
|
|
302 <para>
|
|
303 <list type="bullet">
|
|
304
|
|
305 <listitem>
|
|
306 <para>
|
|
307 Feature:
|
|
308 <literal>Object.keys()</literal>,
|
|
309 <literal>Object.prototype.hasOwnProperty()</literal>
|
|
310 methods.
|
|
311 </para>
|
|
312 </listitem>
|
|
313
|
|
314 <listitem>
|
|
315 <para>
|
|
316 Feature:
|
|
317 <literal>Object.defineProperty()</literal>,
|
|
318 <literal>Object.defineProperties()</literal>,
|
|
319 <literal>Object.getOwnPropertyDescriptor()</literal>
|
|
320 methods.
|
|
321 </para>
|
|
322 </listitem>
|
|
323
|
|
324 <listitem>
|
|
325 <para>
|
|
326 Feature:
|
|
327 <literal>Object.getPrototypeOf()</literal>,
|
|
328 <literal>Object.prototype.isPrototypeOf()</literal>
|
|
329 methods.
|
|
330 </para>
|
|
331 </listitem>
|
|
332
|
|
333 <listitem>
|
|
334 <para>
|
|
335 Feature:
|
|
336 <literal>Object.preventExtensions()</literal>,
|
|
337 <literal>Object.isExtensible()</literal>,
|
|
338 <literal>Object.freeze()</literal>,
|
|
339 <literal>Object.isFrozen()</literal>,
|
|
340 <literal>Object.seal()</literal>,
|
|
341 <literal>Object.isSealed()</literal>
|
|
342 methods.
|
|
343 </para>
|
|
344 </listitem>
|
|
345
|
|
346 <listitem>
|
|
347 <para>
|
|
348 Feature:
|
|
349 scientific notation literals support.
|
|
350 </para>
|
|
351 </listitem>
|
|
352
|
|
353 <listitem>
|
|
354 <para>
|
|
355 Feature:
|
|
356 hexadecimal literals support.
|
|
357 </para>
|
|
358 </listitem>
|
|
359
|
|
360 <listitem>
|
|
361 <para>
|
|
362 Bugfix:
|
|
363 processing of large array indexes.
|
|
364 </para>
|
|
365 </listitem>
|
|
366
|
|
367 <listitem>
|
|
368 <para>
|
|
369 Bugfix:
|
|
370 in <literal>parseInt()</literal> and
|
|
371 <literal>Date.parse()</literal>.
|
|
372 </para>
|
|
373 </listitem>
|
|
374
|
|
375 </list>
|
|
376 </para>
|
|
377
|
|
378 </section>
|
|
379
|
|
380
|
|
381 <section id="njs0.1.10" name="Changes with 0.1.10">
|
|
382
|
|
383 <para>
|
|
384 Release Date:
|
|
385 04 Apr 2017
|
|
386 </para>
|
|
387
|
|
388 <para>
|
|
389 <list type="bullet">
|
|
390
|
|
391 <listitem>
|
|
392 <para>
|
|
393 Feature:
|
|
394 nested functions and function closures.
|
|
395 </para>
|
|
396 </listitem>
|
|
397
|
|
398 <listitem>
|
|
399 <para>
|
|
400 Feature:
|
|
401 <literal>Array.of()</literal>,
|
|
402 <literal>Array.prototype.fill()</literal>,
|
|
403 <literal>Array.prototype.find()</literal>,
|
|
404 <literal>Array.prototype.findIndex()</literal>
|
|
405 methods.
|
|
406 </para>
|
|
407 </listitem>
|
|
408
|
|
409 <listitem>
|
|
410 <para>
|
|
411 Bugfix:
|
|
412 miscellaneous bugs and segmentation faults have been fixed.
|
|
413 </para>
|
|
414 </listitem>
|
|
415
|
|
416 </list>
|
|
417 </para>
|
|
418
|
|
419 </section>
|
|
420
|
|
421
|
|
422 <section id="njs0.1.9" name="Changes with 0.1.9">
|
|
423
|
|
424 <para>
|
|
425 Release Date:
|
|
426 01 Feb 2017
|
|
427 </para>
|
|
428
|
|
429 <para>
|
|
430 <list type="bullet">
|
|
431
|
|
432 <listitem>
|
|
433 <para>
|
|
434 Bugfix:
|
|
435 global variables were not initialized when nJScript was used
|
|
436 in nginx.
|
|
437 </para>
|
|
438 </listitem>
|
|
439
|
|
440 </list>
|
|
441 </para>
|
|
442
|
|
443 </section>
|
|
444
|
|
445
|
|
446 <section id="njs0.1.8" name="Changes with 0.1.8">
|
|
447
|
|
448 <para>
|
|
449 Release Date:
|
|
450 24 Jan 2017
|
|
451 </para>
|
|
452
|
|
453 <para>
|
|
454 <list type="bullet">
|
|
455
|
|
456 <listitem>
|
|
457 <para>
|
|
458 Change:
|
|
459 the <literal>strict</literal> mode is enforced,
|
|
460 variables must be explicitly declared.
|
|
461 </para>
|
|
462 </listitem>
|
|
463
|
|
464
|
|
465 <listitem>
|
|
466 <para>
|
|
467 Feature:
|
|
468 <literal>for</literal> and
|
|
469 <literal>for-in</literal> loops support variable declaration.
|
|
470 </para>
|
|
471 </listitem>
|
|
472
|
|
473 <listitem>
|
|
474 <para>
|
|
475 Bugfix:
|
|
476 global and function scopes have been fixed.
|
|
477 </para>
|
|
478 </listitem>
|
|
479
|
|
480 <listitem>
|
|
481 <para>
|
|
482 Bugfix:
|
|
483 now <literal>for-in</literal> loop does not discard the last value
|
|
484 of property variable.
|
|
485 </para>
|
|
486 </listitem>
|
|
487
|
|
488 <listitem>
|
|
489 <para>
|
|
490 Bugfix:
|
|
491 miscellaneous bugs and segmentation faults have been fixed.
|
|
492 </para>
|
|
493 </listitem>
|
|
494
|
|
495 </list>
|
|
496 </para>
|
|
497
|
|
498 </section>
|
|
499
|
|
500
|
|
501 <section id="njs0.1.7" name="Changes with 0.1.7">
|
|
502
|
|
503 <para>
|
|
504 Release Date:
|
|
505 27 Dec 2016
|
|
506 </para>
|
|
507
|
|
508 <para>
|
|
509 <list type="bullet">
|
|
510
|
|
511 <listitem>
|
|
512 <para>
|
|
513 Change:
|
|
514 the <link doc="../http/ngx_http_js_module.xml" id="js_include"/> directive
|
|
515 has been disabled at server and location levels.
|
|
516 </para>
|
|
517 </listitem>
|
|
518
|
|
519 <listitem>
|
|
520 <para>
|
|
521 Feature:
|
|
522 exponentiation operators.
|
|
523 </para>
|
|
524 </listitem>
|
|
525
|
|
526 <listitem>
|
|
527 <para>
|
|
528 Bugfix:
|
|
529 miscellaneous bugs and segmentation faults have been fixed.
|
|
530 </para>
|
|
531 </listitem>
|
|
532
|
|
533 </list>
|
|
534 </para>
|
|
535
|
|
536 </section>
|
|
537
|
|
538
|
|
539 <section id="njs0.1.6" name="Changes with 0.1.6">
|
|
540
|
|
541 <para>
|
|
542 Release Date:
|
|
543 13 Dec 2016
|
|
544 </para>
|
|
545
|
|
546 <para>
|
|
547 <list type="bullet">
|
|
548
|
|
549 <listitem>
|
|
550 <para>
|
|
551 Change:
|
|
552 the <link doc="../http/ngx_http_js_module.xml" id="js_set"/> directive
|
|
553 has been disabled at server and location levels.
|
|
554 </para>
|
|
555 </listitem>
|
|
556
|
|
557 <listitem>
|
|
558 <para>
|
|
559 Feature:
|
|
560 ES6 <literal>Math</literal> methods.
|
|
561 </para>
|
|
562 </listitem>
|
|
563
|
|
564 <listitem>
|
|
565 <para>
|
|
566 Bugfix:
|
|
567 miscellaneous bugs and segmentation faults have been fixed.
|
|
568 </para>
|
|
569 </listitem>
|
|
570
|
|
571 </list>
|
|
572 </para>
|
|
573
|
|
574 </section>
|
|
575
|
|
576 </article>
|