-
Notifications
You must be signed in to change notification settings - Fork 103
/
Changes
550 lines (437 loc) · 17.4 KB
/
Changes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
Revision history for the JSX software development kit
0.9.89 2014-05-20 05:59:00+0900
[BUG FIXES]
- fix incorrect code generation in inline optimizer in case the only modification of an argument was an increment expression (#328)
0.9.88 2014-05-15 11:50:00+0900
[FEATURES]
- default arguments can now refer to preceding arguments (#326)
- profile server is now installed as "bin/jsx-profile-server"
[BUG FIXES]
- fix bugs in the optimizer (#321, #325)
0.9.87 2014-04-14 14:52:00+0900
[BUG FIXES]
- fix compiler crash when prefixed decrement of int is against a property with side effect (#320)
- round literals within an array or map literal of int to int
0.9.86 2014-04-12 21:05:00+0900
[BUG FIXES]
- bump the version number once more hoping that it would resolve the "shasum check" error of npm
0.9.85 2014-04-11 17:42:00+0900
[BUG FIXES]
- version bump due to a report that 0.9.84 might be corrupt
0.9.84 2014-03-25 11:18:00+0900
[FEATURES]
- allow use of ```void``` as a template argument
- improvements in the const-folding optimizer
0.9.83 2014-03-07 19:02:00+0900
[FEATURES]
- compile-time constants; passed in via --define name=var / accepted as JSX.ENV["string-literal"] (#304)
- const-fold comparisons with null
[BUG FIXES]
- reassignment against const variable of template class was not detected by compiler (#286)
0.9.82 2014-03-06 12:07:00+0900
[FEATURES]
- inline optimizer tries to expand static functions passed as callbacks
0.9.81 2014-03-05 11:11:00+0900
[FEATURES]
- Array#each has been renamed to Array#_forEach (#302)
[BUG FIXES]
- fix bug in optimizer that prevented callbacks with local variables from being inline-expanded
0.9.80 2014-03-04 13:27:00+0900
[FEATURES]
- introduce Array#each (#302)
0.9.79 2014-02-24 12:52:00+0900
[BUG FIXES]
- fix name conflict between --minify and property / method names with __export__ (#301)
0.9.78 2014-02-20 16:28:00+0900
[FEATURES]
- introduce macros: __FILE__, __LINE__, __CLASS__
- introduce es6-style arrow function (i.e. "=>") (#288)
[BUG FIXES]
- fix bugs in the const-folding optimizer (casting empty multi-line string literal to boolean / casting hexadecimal number literal to string)
0.9.77 2014-02-07 13:20:00+0900
[FEATURES]
- ```int``` type has been changed to strict int32_t
- introduce Promise class, defined in ES6
0.9.76 2014-02-03 15:27:00+0900
[FEATURES]
- [experimental support for npm] paths added by --add-search-path are preferred over node_modules/ (#275)
[BUG FIXES]
- fix compile error when extending a class with an exported constructor
0.9.75 2014-01-27 16:09:00+0900
[BUG FIXES]
- experimental npm support should respect "$CWD/node_modules" as well
0.9.74 2014-01-27 15:14:00+0900
[FEATURES]
- emit compile warning if identical files are imported from different directories
- experimental support for npm (#275)
0.9.73 2014-01-24 15:11:00+0900
[FEATURES]
- an untyped map literal with certain types of elements is type-deducted to Array.<variant> if it is passed to a function taking such type as an argument (#291)
- add js.newFunction
0.9.72 2013-12-22 14:00:58+0900
[FEATURES]
- Introduce TestCase#setUp(:AsyncContext):void and #tearDown(:AsyncContext):void to set up / tear down asynchronous tests (suggested by @yosuke_furukawa)
- Now TestCase#toEqual() are able to test Map.<T> (suggested by @yosuke_furukawa)
0.9.71 2013-11-27 14:26:00+0900
[FEATURES]
- introduce local "const"
0.9.70 2013-11-20 08:30:53+0900
[FEATURES]
- Update web.jsx (797 insertions, 488 deletions)
0.9.69 2013-11-06 16:40:00+0900
[BUG FIXES]
- fix a bug that misinitialize the properties with default values, to
which the properties are assigned to themselves within the constructor
0.9.68 2013-10-24 16:03:00+0900
[BUG FIXES]
- fix a bug in minifier that generated corrupt code when closures are
nested within the initialization expression of a member variable
definition
0.9.67 2013-10-23 12:01:00+0900
[FEATURES]
- type of array / map literals use as function arguments are deducted
from the signature of the callee (#264)
[BUG FIXES]
- fix misoptimization of "super.meth()" in the "staticize" optimizer
0.9.66 2013-10-13 12:34:32+0900
[BUG FIXES]
- Fix #279: member functions could not be defined if
a parent class had the same-named static functions
0.9.65 2013-09-10 22:04:10+0900
[BUG FIXES]
- Fix an issue in the inline optimizer
0.9.64 2013-09-05 21:39:27+0900
[FEATURES]
- Support type inference to member variables with empty array/map
(`var a : T[] = []` in class definitions)
- Allow to return void functions
(`return voidFunction()`)
- Allow `delete function constructor()` without function body
in non-native classes
[BUG FIXES]
- Fix several compiler crashes
0.9.63 2013-08-25 13:37:53+0900
[BUG FIXES]
- Fix a compiler crash introduced in 0.9.62
0.9.62 2013-08-25 08:33:40+0900
[FEATURES]
- Support Python-like multi-line string literals ("""...""")
- Support "tail-rec" optimization
- Support "unused" warnings to detect unused variables
- Improve type inference: now `[1, 2, 3].map((item) -> item + 1)` works
[BUG FIXES]
- Fix the signatures of Array#reduce()
0.9.61 2013-08-19 07:45:23+0900
[BUG FIXES]
- Fix an issue on LCSE optimizer
0.9.60 2013-08-08 22:12:39+0900
[BUG FIXES]
- Make label name conflict compile errors, rather than runtime errors
(#127)
- Fix issues that error messages sometimes displayed wrong places
[CHANGES]
- Update web.jsx up to the latest HTML5 specs
[FEATURES]
- Add window.orientation (#233)
0.9.59 2013-08-07 07:24:50+0900
[BUG FIXES]
- Fix the name conflicts on native inner classes
- Fix the type of for-in iterator for arrays (#115)
- Fix the type of array literals of int (#227)
- Fix other issues
0.9.58 2013-07-26 16:41:43-0700
[FEATURES]
- Support type parameter inference in more cases (#203)
- Support trailing commas in map and array literals (#215)
- Support function templates for pure JSX classes (#217)
- Support string + number (#213)
- Improve "inline" optimizer to expand more complex functions
[BUG FIXES]
- Fix an issue that default parameters with template classes
could not be compiled
- Fix a bunch of issues
0.9.57 2013-07-20 17:03:11-0700
[BUG FIXES]
- Fix another evaluation order issue introduced in 0.9.54
- Fix issues on template classes and inner classes
0.9.56 2013-07-14 20:54:30-0700
[BUG FIXES]
- Fix an evaluation order issue introduced in 0.9.54
0.9.55 2013-07-13 22:59:43-0700
[BUG FIXES]
- "\xHH" style escape in string literals didn't work
- Duplicated case values are no longer allowed if they are
literals
0.9.54 2013-07-13 21:06:35-0700
[FEATURES]
- Improve optimizer "fold-const"
* folds some native pure functions: Math.sqrt(), Math.log(), Math.pow(), Math.sin(), Math.cos(), String.fromCharCode(), String#charCodeAt()
* folds more operators: <, <=, >, >=, ~ (bitwise not)
- Improve optimizer "inline"
0.9.53 2013-07-10 16:33:16-0700
[FEATURES]
- The compiler colorizes messages for tty
- `jsx --test file.jsx` is allowed even if the file has no _Test class
to validate the file easily
0.9.52 2013-07-08 19:44:00+0900
[BUG FIXES]
- Fix compile error when default parameters were used for function definitions with doc comments
0.9.51 2013-07-06 22:03:21-0700
[BUG FIXES]
- Fix native inner class issues again
- Fix a jsxdoc issue that inner classes were not listed
0.9.50 2013-07-06 17:24:47-0700
[BUG FIXES]
- Fix #208, #209: issues on in-line native definition
- Fix #210: fix the precedence of lightweight lambda expressions
0.9.49 2013-06-30 15:14:54-0700
[FEATURES]
- Introduce new in-line native definition syntax:
native class N { ... } = "native code";
deprecating the old one:
native("native code") class N { ... }
- New type inference: type of empty container literals from the lhs expr
(#205)
[BUG FIXES]
- Fix #204, a compiler crash
0.9.48 2013-06-29 14:25:25-0700
[BUG FIXES]
- Fix a crash when function expressions were used as default parameters
- Default parameters were accidentally allowed for non-member functions,
which now causes compile errors
0.9.47 2013-06-26 23:49:41-0700
[FEATURES]
- Support self-contained source-map; now `jsx --enable-source-map --run`
dumps stacktrace with JSX source code positions
0.9.46 2013-06-26 13:19:14-0700
[FEATURES]
- Show JSX source code position in stacktrace with --enable-source-map
(#201, EXPERIMENTAL)
[BUG FIXES]
- Fix a crash with double definitions of variables without type (#202)
0.9.45 2013-06-26 12:32:00+0900
[CHANGES]
- add "util" to nodejs.jsx
- support use of default arguments in constructors
[BUG FIXES]
- fix assertion failures in unbox/unclassify optimizers
0.9.44 2013-06-25 09:35:00+0900
[CHANGES]
- assertions with customized messages (#198)
0.9.43 2013-06-25 08:35:00+0900
[CHANGES]
- introduce default parameters (#199)
[BUG FIXES]
- fix error when parsing: "if (...) throw ...;" (not using block) (#192)
0.9.42 2013-06-16 23:18:31-0700
[BUG FIX]
- Fix #194: "dce" broke assign statements in logical/conditional exprs
0.9.41 2013-06-16 14:49:35-0700
[BUG FIXES]
- Fix a bug that int type parameters did not work correctly (#196)
[CHANGES]
- Changed sourceMappingURL syntax
(see http://updates.html5rocks.com/2013/06/sourceMappingURL-and-sourceURL-syntax-changed for details)
- Support sourcesContent in source-map to handle multiple source files
easier
- Improve "fold-const" to expand type casts in compile time as much as
possible (resolve #182 again)
0.9.40 2013-06-11 03:42:00+0900
[CHANGES]
- accept Uint8Array as the argument to the ctor of Buffer of node.js
0.9.39 2013-06-10 18:00:00+0900
[BUG FIXES]
- use of "super.meth()" was causing compile errors if meth() is native
- fix runtime error when extending a native class using the experimental "native(...)" annotation
0.9.38 2013-06-09 00:19:03-0700
[BUG FIXES]
- Fix a problem in QtScript that `object["word"]` caused compilation errors
if the "word" was reserved (#187)
- Fix a problem that static const member variables in native class
was replaced to `null` by `--optimize fold-const` (#191)
0.9.37 2013-06-07 14:40:00
[CHANGES]
- typed-arrays are defined in built-in.jsx (#189)
0.9.36 2013-06-04 16:31:00
[CHANGES]
- accept numbers as 3rd argument of JSON.stringify (#188)
0.9.35 2013-06-02 21:13:23
[BUG FIXES]
- Fix #182 again
- Fix types of Array#reduce() and Array#reduceRight() to take the type of
a return value
0.9.34 2013-05-29 23:20:27
[BUG FIXES]
- Fix legacy AudioContext methods in web.jsx
0.9.33 2013-05-29 18:58:00
[CHANGES]
- improve dce optimizer (#182)
[BUG FIXES]
- Partial fix for #173
0.9.32 2013-05-28 09:22:05
[BUG FIXES]
- Fix bugs (#171, #174)
0.9.31 2013-05-20 10:04:05
[CHANGES]
- Installed jsx compiler is now built with --release flag to
improve compilation speed
[BUG FIXES]
- Fix a typo in a function at js/nodejs.jsx (#168)
0.9.30 2013-05-17 23:51:39
[BUG FIXES]
* Fix bugs (#150, #151, #166)
* Optimize command "staticize" is enabled again
0.9.29 2013-05-07 14:45:00
[FEATURES]
- Introduce "native('<<javascript expression>>')" attribute to load native classes (EXPERIMENTAL)
- The minifier strips unused functions / classes.
0.9.28 2013-05-02 00:13:33
[BUG FIXES]
- Fix a regression that --disable-type-check was ignored,
introduced at 0.9.27
0.9.27 2013-04-30 17:06:00
[FEATURES]
- Support for minification (#143)
[BUG FIXES]
- Fix #139
0.9.26 2013-04-19 10:21:08
[BUG FIXES]
- Fix #85, #123, #128, #132, #137, #141, and #142
0.9.25 2013-04-09 19:12:55
[ANNOUNCE]
- The JSX web site is now http://jsx.github.io/
[FEATURES]
- Add Window#closed in js/web.jsx
0.9.24 2013-04-05 13:43:49
[CHANGES]
- Disable "staticize" optimization for now, which changed the ABI
0.9.23 2013-04-05 11:49:56
[CHANGES]
- Disable JSX compilation server mode, which was introduced at 0.9.6,
because it looks unstable.
[BUG FIXES]
- Fix bugs introduced by compilation server mode
- Fix a bug that function statements inside a function named "constructor"
caused runtime errors
0.9.22 2013-04-03 11:27:37
[FEATURES]
- Add the return-value type deduction for function expression;
`(a : number, b : number) -> a + b` will be deduced to return a number,
for example
0.9.21 2013-03-29 00:38:50
[BUG FIXES]
- Fix a bug that using `instanceof` operator to type parameters
caused compiler crashes
- Fix a bug that output of stdout and stderr in the compiler might be
mixed by stream buffering
0.9.20 2013-03-23 16:01:49
[BUG FIXES]
- Fix generating source-map
0.9.19 2013-03-21 22:04:28
[BUG FIXES]
- Fix installation issues for Windows
0.9.18 2013-03-19 17:36:00
[BUG FIXES]
- Re-fix for #125
0.9.17 2013-03-19 00:47:00
[BUG FIXES]
- Fix a bug that nullable vararg (e.g. Array#push()) did now accept
null value of a result of expressions (#125)
0.9.16 2013-03-13 10:08:50
[BUG FIXES]
- Fix "wide character in print" warnings
[FEATURES]
- Add "staticize" optimization command
- Add `JSX.postProfilerResults(url, cb)` to know the request is finished
0.9.15 2013-03-12 11:08:35
- Fixed only a packaging issue
0.9.14 2013-03-12 10:51:24
[BUG FIXES]
- Fix a compiler crash if non-existing static methods were called,
which was introduced at 0.9.11
0.9.13 2013-03-12 10:04:24
[BUG FIXES]
- Suppress deprecation warnings about `path.existsSync()`
0.9.12 2013-03-09 18:34:56
[BUG FIXES]
- Fix an optimization issues found in shibukawa:Oktavia
0.9.11 2013-03-08 14:25:22
[CHANGES]
- Forbade calling instance methods after operator new without parens,
i.e. `new Class.instanceMethod()`, because it was conflict with inner
classes
[FEATURES]
- Added inner classes (nested classes)
0.9.10 2013-02-22 10:18:13
[BUG FIXES]
- Fixed a bug that jsx(1) crashes when spaces were passed to JSX programs on --run
0.9.9 2013-02-20 10:34:21
[BUG FIXES]
- Fixed a bug that jsx(1) did not work when it was installed by npm
0.9.8 2013-02-18 18:38:16
[BUG FIXES]
- Fixed a packaging issue
0.9.7 2013-02-15 16:45:13
[BUG FIXES]
- Fixed a path issue on Windows
0.9.6 2013-02-14 08:56:57
[CHANGES]
- TestCase will stop executing the current test on failure
- Test failure will show stack trace if possible
- Messages of assertion failure will include the related source code line
[FEATURES]
- Replaced jsx(1) with a wrapper to JSX compilation server
The previous jsx(1) will be installed as jsx-compiler.js(1).
This change will boost the compilation speed.
0.9.5 2013-02-07 01:53:14
[CHANGES]
- Removed web-intents from web.jsx; it has been removed even from Chrome.
- The scope of named function expression are now ECMA-262 compatible (#108)
[FEATURES]
- Uses high resolution time in profiler if available
- Added webrtc to web.jsx (see web/example/webrtc/ for example)
- Added type deduction on common element type for array and map literal (#107)
- Added type deduction on empty array / map literals (#50, #106)
- Added Map.<T>#keys() (#102, #105)
[BUG FIXES]
- Fixed confusing messages on argument mismatch errors (#104)
- Fixed an issue that associativity of equality expressions might be ignored (#88)
- Fixed several compiler crashes
0.9.4 2013-01-31 19:31:16
[BUG FIXES]
- Fixed a packaging issue
0.9.3 2013-01-31 12:24:27
[CHANGES]
- Installed jsx(1) is now compiled with --release
[FEATURES]
- The "dce" optimization command can remove "if" statements
when they has static conditions (#95)
- Compile errors shows notes when no function with matching arguments
are found (#96).
- Added JSX.DEBUG and "no-debug" optimization command to control
debugging statements.
[BUG FIXES]
- "unclassify" optimization might have broken generated code
(671312aaaed22b38e59d20f6eb5b977d32d79d4b)
- named function exprs outside of function caused compiler crash
(823d4e5142feee92e95e2d0913c5b6c22be27665)
- /*/ was parsed as a comment start + comment end (#91)
0.9.0 2013-01-26 00:13:42
[CHANGES]
- Ported JSX compiler from JavaScript to JSX (i.e. self-hosting)
- Invalid cast throws error, instead of returning null
- Invalid @param in jsxdoc produces compile errors
- Added _Matcher#toEqual() in test-case.jsx to compare objects deeply
- Added `--executable commonjs` for CommonJS-compliant engine
like PhantomJS
- Array#push() and Array#unshift() takes Nullable.<T>, not T (issue #82)
- Enhanced type inference of conditional expression (issue #86)
- Map literals can be declared as variant (like `{} : variant`)
- Fixed a lot of bug
0.0.2 2012-09-23
[ANNOUNCE]
- Added Changes file
0.0.1 2012-05-30
[ANNOUNCE]
- The initial version of the JSX SDK
# vim: set expandtab spell: