1.0.0.22: Extensible sequences. (EXPERIMENTAL: Do Not Use As Food)
[sbcl.git] / NEWS
diff --git a/NEWS b/NEWS
index ba9c047..395535b 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,125 @@
 ;;;; -*- coding: utf-8; -*-
+changes in sbcl-1.0.1 relative to sbcl-1.0:
+  * 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
+  * 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 foreing 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
+    core, and restored on startup.
+  * improvement: GET-INTERNAL-REAL-TIME now reports the time since
+    startup, not time since first call to GET-INTERNAL-REAL-TIME.
+  * improvement: SAVE-LISP-AND-DIE explicitly checks that multiple
+    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 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
+    dumped structurres. (reported by Kaersten Poeck)
+  * bug fix: ADJUST-ARRAY :FILL-POINTER T on an array without a
+    fill-pointer signals a type-error as required. (thanks to
+    Lars Brinkhoff)
+  * bug fix: disassemly of funcallable instances works.
+  * bug fix: single stepping on PPC.
+  * bug fix: fix thread-safety problems in the type system (generally 
+    manifesting as nonsensical errors like "STRING is a bad type specifier 
+    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.
+    ** more accurate GET-INTERNAL-REAL-TIME.
+    ** better RUN-PROGRAM behaviour in case of errors in the child
+       process.
+    ** PROBE-FILE now simplifies pathnames correctly.
+    ** DIRECTORY now works correctly with :WILD-INFERIORS.
+    ** DECODE-UNIVERSAL-TIME works on times before 00:00:00 January
+       1st 1970 (although time timezone data will be unreliable).
+    ** Hyperbolic functions TANH, ASINH, ACOSH, and ATANH work.
+
+changes in sbcl-0.9.18 (1.0.beta?) relative to sbcl-0.9.17:
+  * enhancement: SB-POSIX now supports cfsetispeed(3), cfsetospeed(3),
+    cfgetispeed(3), cfgetospeed(3), and related constants. (thanks to
+    Max-Gerd Retzlaff)
+  * bug fix: two potential GC deadlocks affecting threaded builds.
+  * bug fix: (TYPEP #\A '(NOT (MEMBER #\" #\{ #\:))) now correctly
+    returns T (reported by Anton Kazennikov)
+  * bug fix: the STORE-VALUE restart of CHECK-TYPE works correctly
+    with non-variable places
+  * bug fix: remove a race condition in the setting of
+    funcallable-instance functions, this should make threaded CLOS
+    code more stable against memory faults.
+  * bug fix: corruption of specials when unbinding is interrupted by an
+    asynchronous unwind (reported by Hannu Koivisto)
+  * improvement: the debugger will now also display local variables that
+    are only used once, for code compiled with a DEBUG optimization quality
+    of 2 or higher.
+
 changes in sbcl-0.9.17 (0.9.99?) relative to sbcl-0.9.16:
   * feature: weak hash tables, see MAKE-HASH-TABLE documentation
   * incompatible change: External-format support for FFI calls.  The
@@ -21,6 +142,9 @@ changes in sbcl-0.9.17 (0.9.99?) relative to sbcl-0.9.16:
     class-precedence-lists of GENERIC-FUNCTION and
     STANDARD-GENERIC-FUNCTION comply with the requirement of ANSI
     1.4.4.5.
+  * minor incompatible change: the default stream external format on
+    non-unicode SBCL is no longer detected from the locale, but is always
+    ISO-8859-1
   * new feature: Add a version of evaluator that uses an interpreter instead
     of the compiler. EVAL still uses the compiler by default, to switch it
     to use the interpreter, set the value of the variable 
@@ -50,9 +174,9 @@ changes in sbcl-0.9.17 (0.9.99?) relative to sbcl-0.9.16:
   * bug fix: SLOT-VALUE optimizations are no longer done on method parameters
     whose bindings are modified
   * improvements to the win32 port (thanks to Yaroslav Kavenchuk):
-    * bug fix: arguments to RUN-PROGRAM are escaped correctly
-    * replace dummy implementations of CL:MACHINE-INSTANCE and 
-      CL:SOFTWARE-VERSION with proper version
+    ** bug fix: arguments to RUN-PROGRAM are escaped correctly
+    ** replace dummy implementations of CL:MACHINE-INSTANCE and 
+       CL:SOFTWARE-VERSION with proper version
 
 changes in sbcl-0.9.16 relative to sbcl-0.9.15:
   * feature: implemented the READER-METHOD-CLASS and