1.0.0.22: Extensible sequences. (EXPERIMENTAL: Do Not Use As Food)
[sbcl.git] / NEWS
diff --git a/NEWS b/NEWS
index 2b7fcc9..395535b 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,12 +1,96 @@
 ;;;; -*- coding: utf-8; -*-
-changes in sbcl-0.9.19 (1.0.0?) relative to sbcl-0.9.18:
+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.
-  * improvements to the Windows port:
+    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.
@@ -14,6 +98,9 @@ changes in sbcl-0.9.19 (1.0.0?) relative to sbcl-0.9.18:
        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),