1.0.4.31: remove *internal-error-context*
[sbcl.git] / NEWS
diff --git a/NEWS b/NEWS
index 8d491e7..f25fa38 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,160 @@
 ;;;; -*- coding: utf-8; -*-
-changes in sbcl-0.9.19 (1.0.0?) relative to sbcl-0.9.18:
+changes in sbcl-1.0.5 relative to sbcl-1.0.4:
+  * incompatible change: removed writer methods for host-ent-name,
+    host-ent-addresses -- changing the values did not update the DNS
+    information anyway.
+  * minor incompatible change: changed experimental JOIN-THREAD interface
+  * documentation: the manual now lists reader and writer methods
+    in class slot documentation sections. (thanks to Richard M Kreuter)
+  * documentation: unwinding from asyncronous events has been
+    documented as unsafe.
+  * documentation: SB-SYS:WITHOUT-GCING has been documented as unsafe
+    in multithreaded application code.
+  * optimization: GET-INTERNAL-REAL-TIME has been optimized on POSIX
+    platforms. (thanks to James Anderson for the optimization hint)
+  * bug fix: number of characters that can be written onto a single
+    line in a file is unlimited.
+  * bug fix: some GC deadlocks caused by asynchronous interrupts have
+    been fixed by inhibiting interrupts for when GC is disbled.
+  * bug fix: GETHASH, PUTHASH, CLRHASH and REMHASH are now interrupt safe.
+  * improvement: the x86-64/darwin port now passes all tests and
+    should be considered non-experimental.
+
+changes in sbcl-1.0.4 relative to sbcl-1.0.3:
+  * new platform: experimental support for x86-64/darwin (MacOS).
+  * incompatible change: the thread-safe (on most platforms) getaddrinfo
+    and getnameinfo sockets functions are used instead of gethostbyaddr
+    and gethostbyname, on platforms where the newer functions are available.
+    As a result, the ALIASES field of HOST-ENT will always be NIL on these
+    platforms.
+  * change: runtimes with embedded cores (i.e. saved with :EXECUTABLE T)
+    don't print the startup banner, but behave as if --noinform was passed
+    as a command line argument. (thanks to Kevin Reid)
+  * new experimental feature: added JOIN-THREAD (by NIIMI Satoshi)
+  * optimization: code using alien values with undeclared types is much faster.
+  * optimization: the compiler is now able to open code SEARCH in more cases.
+  * optimization: more compact typechecks on x86-64 (thanks to Lutz Euler)
+  * bug fix: using standardized COMMON-LISP special variables as loop
+    variables no longer signals bogus package lock violations. (reported
+    by Eric Marsden)
+  * bug fix: declaring local loop variables to be of a range-limited type
+    such as (SINGLE-FLOAT 1.0 2.0) no longer causes a compile-time error.
+    (reported by Andras Simon)
+  * bug fix: >= and <= gave wrong results when used with NaNs. (Some NaN
+    bugs remain on x86-64.)
+  * bug fix: the #= and ## reader macros now interact reasonably with
+    funcallable instances.
+  * bug fix: type-checks for function arguments were compiled using the
+    compiler policy settings of the wrong lexical environment (in 1.0.2
+    and 1.0.3).
+  * bug fix: SHADOW accepts characters as string designators, as required
+    by the spec (thanks to Eric Marsden)
+  * bug fix: fixed GC safety issues when foreign functions are called with
+    non-base strings as arguments
+  * bug fix: more consistent error output for fatal-compiler-warnings, like
+    reader errors
+  * bug fix: functions with proper names were showing up as NIL in
+    backtraces (reported by Edi Weitz, regression in 1.0.2)
+
+changes in sbcl-1.0.3 relative to sbcl-1.0.2:
+  * new platform: NetBSD/PPC.  (thanks to Aymeric Vincent)
+  * optimization: calls of the form (AREF FOO (+ INDEX <constant>)) now
+    produce more efficient code on the x86 if the compiler can determine
+    that (+ INDEX <constant>) does not require a bounds check and FOO
+    has an element type at least 8 bits wide.
+  * bug fix: references to undefined variables are handled the same way
+    in toplevel forms as in the normal compiler
+  * bug fix: the build scripts again work with non-bash /bin/sh (thanks
+    to Magnus Henoch)
+  * bug fix: use "gtar" as the asdf-install *TAR-PROGRAM* on NetBSD
+    (thanks to Jon Buller)
+  * improvement: faster compilation times for complex functions
+  * improvement: added readlink support to SB-POSIX (thanks to Richard
+    M Kreuter)
+
+changes in sbcl-1.0.2 relative to sbcl-1.0.1:
+  * improvement: experimental support for mach exception handling on
+    x86/macos. requires building with :MACH-EXCEPTION-HANDLER feature
+    to use.
+  * improvement: support for GBK external format.
+    (thanks to Chun Tian (binghe))
+  * improvement: the debugger now displays variables that have been closed
+    over, in code compiled with (DEBUG 2) or higher
+  * improvement: support for executable cores on NetBSD (thanks to 
+    Richard Kreuter)
+  * new feature: added a RESTART-FRAME debugger command
+  * new feature: new generic function SB-GRAY:STREAM-FILE-POSITION can 
+    be used to provide an implementation for FILE-POSITION on Gray streams
+    (thanks to Eric Marsden)
+  * new feature: add syslog, openlog and closelog support to SB-POSIX 
+    (thanks to Richard Kreuter)
+  * optimization: the function call overhead in code compiled with 
+    a high DEBUG optimization setting is significantly 
+  * bug fix: an error is signaled for attempts to use READ-SEQUENCE
+    for a (SIGNED-BYTE 8) stream and (UNSIGNED-BYTE 8) vector, or vice versa.
+    (thanks to Tony Martinez)
+  * bug fix: the initforms for DEFMETHOD &AUX parameters are only
+    evaluated once (reported by Kevin Reid)
+  * bug fix: the :SHOW-PROGRESS keyword parameter to SB-SPROF:WITH-PROFILING
+    works again (thanks to Kilian Sprotte)
+  * bug fix: an error is signaled for tagbodies with duplicate tags 
+    (thanks to Stephen Wilson)
+  * bug fix: NIL can be used as a tagbody tag (thanks to Stephen Wilson)
+  * bug fix: Win32 port can now handle foreign code unwinding Lisp
+    stack frames from alien callbacks.
+  * bug fix: ATANH returned incorrect results on win32 (thanks to Pierre Mai)  
+  * bug fix: SBCL works on Linux/ppc systems with a kernel configured to use
+    65k pages (thanks to David Woodhouse)
+  * bug fix: fix SB-POSIX dirent and socket on NetBSD (thanks to Richard Kreuter)
+
+changes in sbcl-1.0.1 relative to sbcl-1.0:
+  * new platform: FreeBSD/x86-64, including support for threading.
+  * new feature: the compiler stores cross-referencing information
+    abount function calls (who-calls), macroexpansion (who-macroexpands)
+    and special variables (who-binds, who-sets, who-references) for code
+    compiled with (< SPACE 3). This information is available through the
+    sb-introspect contrib.
+  * new feature: users may subclass SEQUENCE, and have instances of
+    these classes interoperate with standard Common Lisp functions if
+    a number of methods are defined.  (This feature is experimental
+    and the interface subject to change based on feedback from SBCL
+    users and the general community)
+  * improvement: sb-sprof traces call stacks to an arbitrary depth on
+    x86/x86-64, rather than the previous fixed depth of 8
+  * improvement: another pthread back-end of mutex "pthread-futex".
+  * bug fix: non-ascii command-line arguments are processed correctly 
+    (thanks to Yaroslav Kavenchuk)
+  * bug fix: non-required arguments were not passed correctly when a method
+    defined using DEFMETHOD was called from a mop-generated method using
+    CALL-NEXT-METHOD (reported by Pascal Costanza)
+  * bug fix: recursion is now permitted in accessors through
+    SLOT-UNBOUND.  (reported by Pascal Costanza)
+  * bug fix: an error was signaled at startup if the HOME environment 
+    variable was defined, but had an empty value (reported by Peter Van Eynde)
+  * bug fix: non ordinary lambda-list keyword in ordinary lambda lists
+    signal a PROGRAM-ERROR, not a BUG.
+  * bug fix: SB-POSIX:READDIR works when built with large file support.
+  * bug fix: ENOUGH-NAMESTRING works relative to #p"/" as well. (thanks
+    to Marco Monteiro)
+  * enhancement: DESTRUCTURING-BIND lambda-list uses &BODY instead of &REST
+    for better automatic indentation support. (thanks to Matt Pillsbury)
+  * optimization: loading generic functions no longer takes O(n^2) time,
+    proportional to the amount of methods in the generic function
+    (reported by Todd Sabin and Jeremy Brown)        
+  * optimization: the FIND and POSITION family of sequence functions
+    are significantly faster on arrays whose element types have been
+    declared.
+  * improvements to the Windows port:
+    ** Intermittent heap corruption problems have been fixed. (thanks
+       to Alastair Bridgewater)
+    ** TRACE :ENCAPSULATE NIL (and function end breakpoints)
+       work on Windows.
+    ** Lisp is able to unwind foreign exception frames from alien
+       callbacks. (thanks to Alastair Bridgewater)
+
+changes in sbcl-1.0 relative to sbcl-0.9.18:
+  * improvement: experimental support for threading on FreeBSD/x86.
+    (thanks to NIIMI Satoshi)
   * improvement: runtime option --dynamic-space-size can be used
     to set the size of the dynamic space reserved on startup.
   * improvement: floating point modes in effect are now saved in
@@ -10,8 +165,16 @@ changes in sbcl-0.9.19 (1.0.0?) relative to sbcl-0.9.18:
     threads are not running after *SAVE-HOOKS* have run.
   * improvement: writes to CLOS instance slots are type-checked in code
     compiled with (SAFETY 3)
-  * improvement: floating-point exception handling should work on all
-    POSIX platforms (thanks to NIIMI Satoshi)  
+  * improvement: floating-point exception handling on FreeBSD (thanks to
+    NIIMI Satoshi)
+  * improvement: SB-POSIX supports time(2), utime(2) and utimes(2)
+    (thanks to Zach Beane)
+  * improvement: support for files larger than 2GB for CL streams and SB-POSIX
+    on Linux/x86
+  * improvement: added support for the Shift-JIS external format.
+    (contributed by NIIMI Satoshi)
+  * improvement: callbacks are supported on Linux/PPC.  (thanks to
+    Joshua Ross)
   * bug fix: compiler bug triggered by a (non-standard) VALUES
     declaration in a LET* was fixed. (reported by Kaersten Poeck)
   * bug fix: file compiler no longer confuses validated and already
@@ -26,6 +189,17 @@ changes in sbcl-0.9.19 (1.0.0?) relative to sbcl-0.9.18:
     for sequences" or "The value 1 is not of type FIXNUM")
   * bug fix: version components are handled correctly in TRANSLATE-PATHNAME
     (reported by Josip Gracin)
+  * bug fix: an error is signaled for attempts to displace arrays with
+    incompatible element types (thanks to Mario Mommer)
+  * bug fix: more correct handling of wide characters in debug info
+    (bug reported by Attila Lendvai and fixed by Juho Snellman)
+  * optimization: method calls with &OPTIONAL or &KEY arguments are faster
+    and don't cause extra consing
+  * optimization: MAP and MAP-INTO are significantly faster on vectors
+    whose elements types have been declared.
+  * Improvements to SB-SPROF:
+    ** Support for allocation profiling
+    ** Reduced profiling overhead, especially for long profiling runs
   * Improvements to the Windows port:
     ** floating point exceptions are now reported correctly.
     ** stack exhaustion detection works partially.