$Id: NEWS 1371 2008-02-10 04:59:09Z d $

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

