silent non-toplevel DEFSTRUCT
[sbcl.git] / NEWS
diff --git a/NEWS b/NEWS
index 5906f33..99a266b 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,20 +1,53 @@
 ;;;; -*- coding: utf-8; fill-column: 78 -*-
-changes relative to sbcl-1.0.53:
+changes relative to sbcl-1.0.54:
+  * enhancements to building SBCL using make.sh:
+    ** --fancy can be specified to enable all supported feature enhancements.
+    ** --with-<feature> and --without-<feature> can be used to specify
+       which features to build with.
+    ** --arch option can be used to specify the architecture to build for.
+       (Mainly useful for building 32-bit SBCL's on x86-64 hosts, not
+       full-blows cross-compilation.)
+  * enhancement: MAKE-ALIEN signals a storage-condition instead of returning a
+    null alien when malloc() fails. (lp#891268)
+  * optimization: the compiler is smarter about representation selection for
+    floating point constants used in full calls.
+  * bug fix: deadlock detection could report the same deadlock twice, for
+    two different threads. Now a single deadlock is reported exactly once.
+  * bug fix: interval-arithmetic division during type derivation did not
+    account for signed zeros.
+  * bug fix: compiler error when typechecking a call to a function with
+    non-constant keyword arguments.
+  * bug fix: misoptimization of TRUNCATE causing erratic behaviour.
+  * bug fix: condition slot accessors no longer cause undefined function
+    style-warnings when used in the :REPORT clause of the DEFINE-CONDITION
+    form that defines them. (lp#896379)
+  * bug fix: DEFGENERIC warns about unsupported declarations, as specified
+    by ANSI. (lp#894202)
+  * bug fix: SUBTYPEP tests involving forward-referenced classes no longer
+    bogusly report NIL, T.
+  * bug fix: bogus style-warnings for DEFMETHOD forms that both declared some
+    required arguments ignored and performed assignments to others.
+    (lp#898331)
+  * bug fix: *EVALUATOR-MODE* :COMPILE treated (LET () ...) identically
+    to (LOCALLY ...) leading to internally inconsistent toplevel-formness.
+  * bug fix: non-toplevel DEFSTRUCT signaled a style warning for unknown type.
+
+changes in sbcl-1.0.54 relative to sbcl-1.0.53:
   * minor incompatible changes:
-    ** RENAME-FILE on a symbolic links used to rename the linked-to file instead
-       of the link.
+    ** RENAME-FILE on a symbolic links used to rename the linked-to file
+       instead of the link.
     ** DELETE-DIRECTORY on symbolic link to a directory used to delete the
-       directory, but now signal an error instead. Use TRUENAME to resolve
-       the pathname if you wish to delete the linked directory, and DELETE-FILE
-       if you wish to delete the
+       directory, but now signal an error instead. Use TRUENAME to resolve the
+       pathname if you wish to delete the linked directory, and DELETE-FILE if
+       you wish to delete the
     ** The internal SB-THREAD::SPINLOCK API has been deprecated, and using
        symbols associated with it will trigger a compile-time warning.
   * thread-related enhancements:
     (This work has been funded by the SBCL Threading 2011 IndieGoGo campaign.
      Many thanks to generous donors!)
-    ** Threading is now more reliable on non-Linux platforms. We still
-       don't consider threads on non-Linux platforms good enough to
-       enable them by default, but they're in a clearly better shape now.
+    ** Threading is now more reliable on non-Linux platforms. We still don't
+       consider threads on non-Linux platforms good enough to enable them by
+       default, but they're in a clearly better shape now.
     ** Deadlines supported now on all platforms.
     ** All blocking functions in the threading API now have a :TIMEOUT
        argument.
@@ -27,7 +60,7 @@ changes relative to sbcl-1.0.53:
   * GC-related enhancements and bug fixes:
     ** --dynamic-space-size and --control-stack-size now understand Kb, Mb,
          and Gb suffixes. Default is megabytes as before.
-    ** Default dynamic space size on all GENCGC platforms is now 512Mb for
+    ** on GENCGC targets, the default dynamic space size is now 512Mb for
        32-bit systems, and 1Gb for 64-bit systems. (OpenBSD/x86-64 is the only
        exception, defaulting to mere 444Mb to fit under default ulimits.) The
        new defaults are in place to prevent hitting swap on low-end systems.
@@ -35,23 +68,27 @@ changes relative to sbcl-1.0.53:
        another default, or the runtime option to adjust the size at startup: a
        good size is at most equal to the amount of physical memory the system
        has.
-    ** on GENCGC systems nursery and generation sizes now default to 5% of
+    ** on GENCGC targets, nursery and generation sizes now default to 5% of
        dynamic-space size.
-    ** on 64-bit systems setting the nursery size above 4Gb now
-       works. (lp#870868)
-    ** SB-KERNEL:MAKE-LISP-OBJ on GENCGC no longer categorically refuses to
-       create SIMPLE-FUN objects.
+    ** on GENCGC targets, SB-KERNEL:MAKE-LISP-OBJ no longer categorically
+       refuses to create SIMPLE-FUN objects.
+    ** on 64-bit GENCGC targets, setting the nursery size above 4Gb now works.
+       (lp#870868)
+    ** on CHENEYGC targets, SB-KERNEL:MAKE-LISP-OBJ now does the same
+       validation of pointer objects as GENCGC does, instead of a
+       comparatively weak bounds-check against the heap spaces.
   * SB-BSD-SOCKETS bug fixes:
     ** GET-PROTOCOL-BY-NAME had a significant memory leak.
     ** GET-HOST-BY-NAME and GET-HOST-BY-ADDRESS small amounts of memory on
        systems with getaddrinfo().
     ** GET-HOST-BY-NAME and GET-HOST-BY-ADDRESS weren't thread or interrupt
        safe outside systems with getaddrinfo().
+  * enhancement: ASDF has been updated 2.019.
+  * enhancement: special-case TCO prevention for functions which never return
+    extended to untrusted types, keeping one more frame's worth of debug
+    information around in many cases.
   * enhancement: debug-names of anonymous and local function are more
     descriptive. Affects backtraces and SB-SPROF results. (lp#805100)
-  * enhancement: on CHENEYGC targets, SB-KERNEL:MAKE-LISP-OBJ now does
-    the same validation of pointer objects as GENCGC does, instead of a
-    comparatively weak bounds-check against the heap spaces.
   * enhancement: on win32, ABS of complex floats guards better against
     overflows. (lp#888410)
   * enhancement: RUN-PROGRAM now distinguishes exec() failing from child
@@ -59,18 +96,22 @@ changes relative to sbcl-1.0.53:
   * enhancement: convenience function SET-SBCL-SOURCE-LOCATION for informing
     the system where on the filesystem the SBCL sources themselves are
     located.  (Thanks to Zach Beane)
+  * enhancement: the compiler is now able to derive tighter bounds for
+    floating point numbers in some cases. (Thanks to Lutz Euler, lp#894498)
   * bug fix: on 64-bit targets, atomic-incf/aref does index computation
     correctly, even on wide-fixnum builds. (lp#887220)
-  * bug fix: (directory "foo/*/*.*") did not follow symlinks in foo/ that
+  * bug fix: (DIRECTORY "foo/*/*.*") did not follow symlinks in foo/ that
     resolved to directories.
   * bug fix: type mismatch when assigning to lexical variables no longer
     result in fasl-dumping internal type objects. (lp#890750)
-  * bug fix: type mismatch on (setf aref) and function return values no
+  * bug fix: type mismatch on (SETF AREF) and function return values no
     longer result in fasl-dumping internal type objects.
   * bug fix: With several combinations of argument types, for example (EXPT
     <integer> <(complex double)>), EXPT now uses double-precision throughout
     instead of partially calculating only to single-precision.  (lp#741564;
     thanks to Lutz Euler)
+  * bug fix: SYMBOL-VALUE-IN-THREAD is no longer able to construct bogus
+    objects when interrupted by GC on PPC.
 
 changes in sbcl-1.0.53 relative to sbcl-1.0.52:
   * enhancement: on 64-bit targets, in src/compiler/generic/early-vm.lisp,