X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=NEWS;h=7f67885e12a52504238abac75a25a45610847b15;hb=1a61f069111cb6f7263852b73eea1bd8cda9ef68;hp=783b9e90b403003f13c583cc06de6c0d73447203;hpb=ed066199124c46998798122cc776e615c9c50372;p=sbcl.git diff --git a/NEWS b/NEWS index 783b9e9..7f67885 100644 --- a/NEWS +++ b/NEWS @@ -1,9 +1,142 @@ ;;;; -*- coding: utf-8; fill-column: 78 -*- -changes relative to sbcl-1.0.50: +changes 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. + * enhancement: debug-names of anonymous and local function are more + descriptive. Affects backtraces and SB-SPROF results. (lp#805100) + * enhancement: on GENCGC systems nursery and generation sizes now default to + 5% of dynamic-space size. + * 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 + 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) + * 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: SB-KERNEL:MAKE-LISP-OBJ on GENCGC no longer categorically + refuses to create SIMPLE-FUN objects. + * 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: SB-BSD-SOCKETS issues + ** 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(). + * bug fix: on 64-bit systems setting the nursery size above 4Gb now works. + (lp#870868) + +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. + * bug fix: non-function FTYPE declarations no longer cause a compiler-error. + (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: ,@ 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 + participate in SERVE-EVENT by default: pass :SERVE-EVENTS T to + MAKE-SOCKET-STREAM if using SERVE-EVENT. * enhancement: added support for socket keepalive timeout intervals and probe counts on Linux. * enhancement: building 32-bit SBCL on Linux/x86-64 now works without a chroot. (Use "SBCL_ARCH=x86 sh make.sh" to build.) + * enhancement: added new toplevel options --quit and --non-interactive + (lp#822712). + * enhancement: the Windows port of SBCL now builds and runs on Wine + (thanks to Anton Kovalenko). + * enhancement: more, and more correct, SSE instruction definitions on + x86-64 (thanks to Alexander Gavrilov). + * enhancement: SB-EXT:SPIN-LOOP-HINT assembles to an instruction designed + to help the processor execute spin loops, when applicable. Currently + implemented for x86 and x86-64. * optimization: unsigned integer divisions by a constant are implemented using multiplication (affects CEILING, FLOOR, TRUNCATE, MOD, and REM.) * optimization: improved type-derivation for LOAD-TIME-VALUE. @@ -28,6 +161,16 @@ changes relative to sbcl-1.0.50: type information associated with the VALUES form. * bug fix: broken warnings/errors for type-errors involving LOAD-TIME-VALUE forms. (lp#823014) + * bug fix: OPEN :IF-EXISTS :APPEND now returns correct FILE-POSITION before + first write (lp#561642). + * bug fix: compiled closures from EVAL could not be DESCRIBEd. (lp#824974) + * bug fix: bound propagation involving conversion of large bignums to + floats no longer signals a SIMPLE-TYPE-ERROR, reported by Lutz Euler. + (lp#819269) + * bug fix: &REST to &MORE conversion still works in unsafe call to known + functions; reported by Lutz Euler (lp#826459). + * bug fix: bogus deadlocks from interrupts and GCs. (lp#807475, regression + since 1.0.48) changes in sbcl-1.0.50 relative to sbcl-1.0.49: * enhancement: errors from FD handlers now provide a restart to remove