-
Notifications
You must be signed in to change notification settings - Fork 2
/
NEWS
192 lines (183 loc) · 10.2 KB
/
NEWS
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
3.1 [2008-04-26]
Bug 141: allow commas at the end of object literals only for JS1.1+
Bug 140: don't segfault when re-using 'with' scopes outside of defining func
Bug 139: detect NetBSD/powerpc in dtoa
Bugs 133, 135: add -lpcre, -lgcc to output from libsee-config --libs
Bugs 131, 132: control can leave bytecode exception handlers correctly
Bug 126: properly close inputs in SEE_call_args's UTF8 handler
Bug 122: AST field was uninitialized in parser
Bug 120: library compiled with -DNDEBUG missed SEE_throw() debug point
Bug 119: library compiled with -DNDEBUG missed _SEE_intern_assert()
Bug 116: Support eval.call and eval.apply in compatibility mode
Bug 18: refactored parser
3.0 [2008-02-09]
Bug 118: Programs w/only function decls had no effect in bytecode mode
Bug 115: Object.prototype.isPrototypeOf() didn't follow prototype chain
Bug 112: /)/ is strictly an illegal regex
Bug 110: /[]/ is a legal regex even though it can't match anything
Bug 109: detect illegal unicode escapes in identifiers
Bug 108: fix Number.toString(undefined)
Bug 105: make SEE_intern() work right with strings from other interps
Bug 106: fix prematurely reclaimed objects
Bug 104: fix leaked finalized objects
Bug 102: fix traceback chains lost to finally clauses
Bug 101: allow escaped LineTerminators in string literals for compat
Bug 97: recognise CRLF line endings for line number reporting
Bug 96: newlines were not properly recognised with --disable-full-unicode
Bug 94: string concatenation can end up with nuls
Bug 93: seg fault in String.prototype.charAt() and charCodeAt()
Bug 92: add SEE_string_append_unicode() that encodes to UTF-16
Bug 91: multiple function declarations inside a conditional
Bug 90: document that applications must call GC_INIT() when using Boehm GC
Bug 89: Use OSI's licence text exactly
Bug 88: Add host_data field to SEE_object
Bug 85: add SEE_system.object_construct hook for host objects
Bug 84: add compatibility with ECMA262-3 errata document
Bug 83: Function.toString() wrongly displayed numeric literals as '?'
Bug 82: improve compatibility of instanceof operator
Bug 87: varargs SEE_error_throw_va() and SEE_error_throw_sys_va()
Bug 81: varargs SEE_call_args_va() and SEE_parse_args_va()
Bug 79: '-->' at start of line treated like '//' in SGMLCOM compat mode
Bug 78: fix crash when pretty-printing a switch with adjacent case clauses
Bug 77: portability improvements with isnan, finite, copysign
Bug 75: fix crash when enumerating a host object with no enumerator
Bug 74: portability improvement in module loader
Bug 73: new function SEE_eval() provides more control for host developers
Bug 72: bytecode generator --enable-bytecode (default)
Bug 70: SEE_context_eval() was leaking reference values
Bug 69: fix crash when some methods are called without 'this' context
Bug 68: free the right pointer in SEE_grow_to()
Bug 66: fix line numbering with '//' and '<!--' comments
Bug 65: fixed alloca support on some systems
Bug 62: document that SEE_OBJECT_DELETE assumes intern'd property
Bug 61: fixed operator -= raising spurious TypeError exceptions
Bug 52: attach tracebacks to try contexts when exceptions are thrown
Bug 53: improved support for cross-compiling
Bug 50: use finite() instead of isinf() for libm portability
Bug 49: detect alloca on FreeBSD; correct readline; fix daylight savings
Bug 47: Added Object.prototype.eval for JS1.2 compatibility
Bug 20: added SEE_grow_to() for limited, growable memory regions
Bug 16: support for keeping static strings in a resource segment
Bug 14: use floor() instead of rint()
Changed: Get, Put, CanPut, HasProperty, Delete APIs assume interned property
Changed: see-shell has -i option for interactive use, instead of -f '-'
Changed: SEE_ASSERT() now calls SEE_ABORT() instead of throwing an exception
Changed: error messages from eval() label as <eval> instead of <string>
Changed: SEE_system allocators take file/line for allocator debugging
New: SEE_string_fix() for passing string values between interpreters
New: see-shell -dg option for tracebacks on SIGINFO
New: SEE_string_cmp_ascii()
New: SEE_call_args() counterpart to SEE_parse_args()
New: see-shell has -e option for executing javascript strings
New: ssp example, a threaded server-side javascript HTTP server
Deprecated: thisobj field of constructors deprecated (it was never used)
Deprecated: SEE_no_enumerator deprecated (use NULL instead)
Experimental: support external regex library --with-pcre (pcre.org) (bug 107)
2.0 [2006-08-06]
API change: removed SEE_COMPAT_EXT1 (replaced with JSxx)
Feature: security domain framework
Feature: SEE_parse_args() to help convert arguments to C types
Bug 45: improved compilation portability
Bug 12: efficient string concatenation
Bug 42: String.concat() behaves correctly
Use libltdl for the shell's dynamic loading of modules
Feature: SEE_gcollect() method that tries a garbage collection
gen.c no longer uses the non-portable fgetln()
Feature: Shell ignores first line of '-f' files if they start with "#!".
Compat: regular expression instances are callable as in JS1.1+
Feature: Module support - see File module example
API change: added SEE_string_toutf8() which is pretty handy
Compat: Added Netscape-compatible version() function to the shell
API change: SEE_COMPAT_ flags cleaned up; specific Netscape version compat
Bug 36: function arguments object now accesses args by index
Compat: octal escapes in regular expressions for JS1.1+ compat
API change: only [[Put]], [[Get]], [[Delete]] can use uninterned props
Compat: Added Regex.$1 et al. support, for JS1.2 compat
Compat: Added conditional function support, for JS1.5 compat
Compat: Added compat() function to the shell which changes compat flags.
API change: Added many ASCII string functions to the API for convenience
Compat: Allow /[/]/ to be parsed as a regex literal in JS1.2
Fix: Error.prototype and NativeError.prototype attributes now match standard
Bug 35: labelled blocks could not be targets of break
Compat: Allow [[HasInstance]] for RegExp, e.g. /x*/ instanceof RegExp
Bug 34: some boolean true values (eg from Regexp) do not compare equal
Bug 33: indexOf() corrected when substring is longer than string
Bug 32: thisobj not set for called functions
Fix: Corrected some Unicode case translations
Improved: more sophisticated debugger for the shell
Improved: Platform isolation of time and abort functions
Fix: Correction in daylight savings estimation code
Portability: Internal vsnprintf implementation with extra formats
Experimental: Internal garbage collector implementation (backup only)
Improved: GC finalization support (unused by native, but supported by API)
API change: SEE_interpreter.trace() function takes new event type argument
API change: SEE_objectclass.Class is now const char *
1.3.1 [2005-01-18]
Bug 31: Fix header include installation
1.3 [2005-12-23]
Fix typeof undefined references no longer throws ReferenceError
Fix function instance prototype initialisation
Regular expressions now treat invalid quantifiers as literal in EXT1
Memory debugging.
Qualified use of the GC's free function.
Better checking for some function availability.
Moved allocator/error handling into a single structure.
Bug 24: lastIndexOf() boundary condition
Bug 4: Unicode upper/lowercase support
Bug 11: check for overgrown strings
Bug 10: SEE_size_t used for allocators
EXT1 compatibility allows using reserved words as identifiers
Bug 9: corrected function instances' prototype.constructor property
Corrected timezone problem with Date.setMilliseconds()
Bug 2: Strings are marked so they are not scanned by the GC
Bug 7: SEE_ALLOCA now takes an interpreter argument
New features to enable/disable: parser-print parser-visit full-unicode
Proper API versioning (1.0)
Better parser internal consistency checks in debug mode (node cast checks)
Bug 3: Added a simple interactive debugger into see-shell
Trace hook now exposes context structures for use with SEE_context_eval()
Fixed bug where malformed unicode text could cause seg fault
Changed licence (removed BSD advertising clause)
Fixed bugs where allocated memory was not zeroed
Added --[exec-]prefix options to libsee-config
Improved usage and error messages in see-shell
Support for amd64 in dtoa [simun mikeci]
Some static declarations missing extern [simun mikeci]
Remove need for platform to supply rint() getopt() [fabrice segura]
Provide local time support (was UTC-only)
Improved support for win32 [gerry sweeney]
1.2 [2004-10-31]
Corrected embarrasing stringdefs build problem
Adhere more closely to GNU software standards (but still BSD licence)
Configure change: --with-boehm-gc=[yes|no|prefix]
Added SEE_VALUE_GET_TYPE() for cleaner API
Added support for timeofday when building under Windows.
Removed enumerator 'reset' method (never used)
Prefixed some non-public API members with underscores.
Removed see/config.h from install
Better documentation for the see-shell; simplified, extra features.
Added libsee-config script
Fixed octal parsing bug in parseInt
Fixed undefined arg bugs with escape, unescape, isNaN, isFinite
Fixed bug scanning /*/*/ as comment
Simpler search for perl and better support for compiling with MSYS/MinGW
1.1 [2004-08-15]
Much improved documentation.
Global.encodeURI generates uppercase hexadecimal to comply with standard.
Implied literal '[' and '-' in regexs now conforms to standard.
SGML comments are now part of compatibility mode.
Array.prototype.concat correctly updates this.length.
UTF-8 decoding now treats 'unsafe' sequences as illegal. (This
violates an obscure part of the standard, but improves security.)
Function recursion limits capability
ToObject throws a better exception message in pathological cases
Per-interpreter locales.
See-shell now has a -c option to set the compatibility flags dynamically.
Application static strings can be intern'd across multiple interpreters.
Empty functions optimised.
Better syntax error messages
Traceback-printing utility function
Bugfix: 'printed' expressions now have disambiguating parentheses
Bugfix: separate build directory support
1.0 [2003-12-03]
Initial public release