jsx
Version:
a faster, safer, easier JavaScript
551 lines (437 loc) • 17.8 kB
Plain Text
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: