X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=NEWS;h=25969eecc9ebaf8d4b3792c0e2b33039e8b24d83;hb=0b9304783ffb07853927ec7ab67378602d4f39b4;hp=bf53f51ae7b4ecb29139b191f68742d329eb299f;hpb=7976926f8112b708d5927a69923cf7a3dd003c55;p=sbcl.git diff --git a/NEWS b/NEWS index bf53f51..25969ee 100644 --- a/NEWS +++ b/NEWS @@ -1,11 +1,143 @@ ;;;; -*- coding: utf-8; fill-column: 78 -*- -changes relative to sbcl-1.0.50: +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- and --without- 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.) + * 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. + +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. + ** 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 + ** 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. + ** Deadlines supported now on all platforms. + ** All blocking functions in the threading API now have a :TIMEOUT + argument. + ** Semaphore notification objects have been added to SB-THREAD. + ** SB-CONCURRENCY contrib now includes Allegro-style GATE objects. + ** SB-EXT:COMPARE-AND-SWAP has been extended to support SLOT-VALUE, + STANDARD-INSTANCE-ACCESS, and FUNCALLABLE-STANDARD-INSTANCE-ACCESS. + ** Users can now defined new places usable with SB-EXT:COMPARE-AND-SWAP + using an API anologous to defining new SETFable places. + * 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. + ** 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. + Use build-time option --dynamic-space-size to build an SBCL with + 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 targets, nursery and generation sizes now default to 5% of + dynamic-space size. + ** 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 win32, ABS of complex floats guards better against + overflows. (lp#888410) + * enhancement: RUN-PROGRAM now distinguishes exec() failing from child + process exiting with code 1. (lp#676987) + * 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 + 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 + longer result in fasl-dumping internal type objects. + * bug fix: With several combinations of argument types, for example (EXPT + <(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, + the parameter n-fixnum-tag-bits may now vary from 1 (fixnum = + (signed-byte 63)) to 3 (fixnum = (signed-byte 61)) at build-time. + * enhancement: SB-EXT:WAIT-FOR allows waiting for arbitrary events. + * minor(?) incompatible(?) change: The default fixnum width on 64-bit + targets is now 63 bits (up from 61). + * enhancement: DESCRIBE now reports a lambda-list and source location + for complext setf-expanders. + * bug fix: PUSH, PUSHNEW, POP, REMF, INCF, DECF, DEFINE-MODIFY-MACRO, + GETF, LOGBITP, LDB, and MASK-FIELD now arrange for non-primary values + of multiple-valued places to be set to NIL, instead of signalling an + error (per a careful reading of CLHS 5.1.2.3). + * bug fix: floating-point traps now work on darwin/x86 and /x86-64. + * bug fix: repair crash in x86oid darwin signal handling emulation + when built with certain compilers. + * bug fix: SB-ROTATE-BYTE misrotated to the right when using constant + rotation arguments on x86-64. (lp#882151) + * bug fix: low-level control flow optimisations could result in bogus + code in functions with tail and non-tail calls to local functions on + x86oids. (lp#883500) + * bug fix: on SPARC/:sb-unicode, avoid crashing the assembler by trying + to emit literal characters > (code-char 4095), for comparisons with + constant characters. + * bug fix: ROOM reported only the low 32 bits of dynamic space usage + on 64 bit platforms. (lp#881445) + * bug fix: DELETE-FILE did not MERGE-PATHNAMES, making it possible to + delete the wrong file when using relative pathnames. (lp#882877) + * bug fix: optimized SEARCH of vectors-on-vectors mishandled zero-length + sequences and :KEY NIL. + +changes in sbcl-1.0.52 relative to sbcl-1.0.51: * enhancement: ASDF has been updated to version 2.017. * enhancement: the --core command line option now accepts binaries with an embedded core. * enhancement: when built with :sb-core-compression, core files (regular or executable) can be compressed with zlib. Use the :COMPRESSION argument to SAVE-LISP-AND-DIE to specify a compression level. + * enhancement: --[no-]merge-core-pages determines whether the runtime + hints the operating system that identical core pages between SBCL + processes should share the same physical memory. Default is to only + enable this for compressed cores. * optimization: SLEEP no longer conses. * optimization: *PRINT-PRETTY* no longer slows down printing of strings or bit-vectors when using the standard pretty-print dispatch table. @@ -13,12 +145,19 @@ changes relative to sbcl-1.0.50: (lp#738464) * bug fix: compiler-errors causes by MEMBER types in conjunction with with AREF, CHAR, etc. (lp#826971) - * bug fix: compiler-errors causes by integer arguments with composed of multiple - ranges to ARRAY-IN-BOUNDS-P. (lp#826970) + * bug fix: compiler-errors causes by integer arguments with composed of + multiple ranges to ARRAY-IN-BOUNDS-P. (lp#826970) * bug fix: ,@ and ,. now signal a read-time error for certain non-list expressions. (lp#770184) * bug fix: complex single float literals are correctly aligned when used as arguments of arithmetic operators. + * bug fix: on 32-bit platforms, rounding of double floats larger than a + fixnum is correct. (reported by Peter Keller) + * bug fix: stray FD-HANDLERs are no longer left lying around after unwinds + from RUN-PROGRAM. (lp#840190, reported by Dominic Pearson; fix from Max + Mikhanosha) + * bug fix: redefining classes such that slots with custom allocation are + added or removed works again. changes in sbcl-1.0.51 relative to sbcl-1.0.50: * minor incompatible change: SB-BSD-SOCKET socket streams no longer