UNPKG

jsx

Version:

a faster, safer, easier JavaScript

551 lines (437 loc) 17.8 kB
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: