X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=NEWS;h=6fed3ba9fd8cbd802d90bb4b61f4eea9e1d1ce8d;hb=562e48a2bd3467121e24214110e535c841fbb622;hp=f30350f810de3bfae56b73786ee611502edf43cc;hpb=13deb21bc0d8e9d68b3f449ca971c3c7fd332f4b;p=sbcl.git diff --git a/NEWS b/NEWS index f30350f..6fed3ba 100644 --- a/NEWS +++ b/NEWS @@ -1,12 +1,227 @@ ;;;; -*- coding: utf-8; -*- +changes in sbcl-1.0.7 relative to sbcl-1.0.6: + * enhancement: name of a socket-stream is now "a socket" instead of + "a constant string". + * bug fix: the cache used by the CLOS to store precomputed effective + methods, slot offsets, and constant return values is now thread and + interrupt safe. + +changes in sbcl-1.0.6 relative to sbcl-1.0.5: + * new contrib: sb-cover, an experimental code coverage tool, is included + as a contrib module. + * optimization: STRING-TO-OCTETS for unibyte encodings and UTF-8 is + significantly faster. + * optimization: calls of the form (AREF FOO (+ INDEX )) now + produce more efficient code on x86-64 if the compiler can determine + that (+ INDEX ) does not require a bounds check and FOO + has an element type at least 8 bits wide. + * enhancement: a new, experimental synchronous timeout facility is + provided. Refer to SB-SYS:WITH-DEADLINE for details. + * enhancement: when a symbol name conflict error arises, the + conflicting symbols are always printed with a package prefix. + (thanks to Kevin Reid) + * enhancement: stepping is now once again supported on the SPARC and + MIPS platforms. (It is also now more likely to work on CheneyGC + builds on the PPC.) + * enhancement: sb-sprof can now also track and report accurate call + counts. + * bug fixes: the treatment of non-standard subclasses of + SB-MOP:SPECIALIZER is more correct. + * incompatible change: PURIFY no longer copies the data from the + dynamic space into the static and read-only spaces on platforms + that use the generational garbage collector + * bug fix: GETHASH, (SETF GETHASH), CLRHASH and REMHASH are now + interrupt safe. + * bug fix: GC race condition occasionally resulting in crashes with + the error message "SIG_STOP_FOR_GC blocked at a bad place" has been + fixed. + * bug fix: &ENVIRONMENT variables in macro lambda lists can now be + declared ignored. + * bug fix: DEFSETF lambda lists without &ENVIRONMENT no longer cause + a STYLE-WARNING to be signalled (regression from 1.0.4.) + * bug fix: an asynchronous interrupt could previously leave the + system running with GC inhibited. + * bug fix: a DECLARE form evaluated at top-level now causes an error + rather than silently (or verbosely) returning NIL. + * bug fix: trying to dissassemble functions compiled at high DEBUG could + result in a error being signalled due to source form lookup errors. + (reported by Peter Graves) + +changes in sbcl-1.0.5 relative to sbcl-1.0.4: + * incompatible change: removed writer methods for host-ent-name, + host-ent-addresses -- changing the values did not update the DNS + information anyway. + * minor incompatible change: changed experimental JOIN-THREAD interface + * documentation: the manual now lists reader and writer methods + in class slot documentation sections. (thanks to Richard M Kreuter) + * documentation: unwinding from asyncronous events has been + documented as unsafe. + * documentation: SB-SYS:WITHOUT-GCING has been documented as unsafe + in multithreaded application code. + * optimization: GET-INTERNAL-REAL-TIME has been optimized on POSIX + platforms. (thanks to James Anderson for the optimization hint) + * optimization: REPLACE, SUBSEQ, and COPY-SEQ are now optimized in + more cases. + * optimization: STRING-{EQUAL,LESSP,GREATER-P} and their NOT- + variants no longer cons. + * optimization: Direct calls to CHAR-{EQUAL,LESSP,GREATERP} and + their NOT- variants no longer cons. + * optimization: EQUAL hash tables no longer use SXHASH for objects + of all data types, but instead use an EQL hash for types for which + EQUAL is the same as EQL. + * optimization: the non-inlined generic versions of AREF and (SETF AREF) + are significantly faster. + * optimization: new STRING-OUTPUT-STREAM implementation is much + faster for large outputs and conses 30% less on average. + * enhancement: XREF information is now collected for references made + to global variables using SYMBOL-VALUE and a constant argument. + * enhancement: SIGINT now causes a specific condition + SB-SYS:INTERACTIVE-INTERRUPT to be signalled. + * bug fix: FILE-POSITION used to signal an error in some cases where + ANSI requires it to return NIL. + * bug fix: ADJUST-ARRAY is now interrupt-safe. + * bug fix: adding and removing fd-handlers is now interrupt-safe. + * bug fix: inlined calls to C now ensure 16byte stack alignment on + x86/Darwin. + * bug fix: bad type declaration in the CLOS implementation has + been fixed. (reported by James Anderson) + * bug fix: incorrect ROOM reporting on x86-64 has been fixed. + (thanks to Lutz Euler) + * bug fix: DEFSETF now allows &ENVIRONMENT and disallows &AUX as + required by the CLHS. (reported by Samium Gromoff) + * bug fix: dead unbound variable references now signal an error. + (reported by Marco Monteiro) + * bug fix: / with an unused value was being deleted in safe code. + (thanks to Marco Monteiro and Kevin Reid) + * bug fix: number of characters that can be written onto a single + line in a file is unlimited. + * bug fix: some GC deadlocks caused by asynchronous interrupts have + been fixed by inhibiting interrupts for when GC is disbled. + * bug fix: some interrupt safety issues with GETHASH, (SETF + GETHASH), CLRHASH and REMHASH have been fixed. + * bug fix: binding *BREAK-ON-SIGNALS* to a value that is not a type + specifier no longer causes infinite recursion. + * bug fix: SB-EXT:MUFFLE-CONDITIONS declarations no longer trigger a + bogus warning in DEFMETHOD bodies. (reported by Kevin Reid) + * bug fix: an &environment argument with the correct variable information + is passed to macros that are expanded during byte compilation. + (reported by Samium Gromoff) + * bug fix: a logic error was causing the hash function for bignums to + have excessive amounts of collisions. (reported by Faré Rideau) + * bug fix: modifying the contents of an array could change the return + value of SXHASH on that array, which is only allowed for strings + and bit vectors. (bug introduced in 0.9.16) + * improvement: the x86-64/darwin port now passes all tests (except + for the debugger tests) but should still be considered + experimental until this is fixed. + * improvement: a style-warning is signaled for CASE (etc) clauses with + duplicate keys. (thanks to Kevin Reid) + * improvement: macos/x86 and macos/x86-64 now use mach exception + handlers for dealing with illegal instructions (for trapping and + error handling) and memory protection violations (for GC). + +changes in sbcl-1.0.4 relative to sbcl-1.0.3: + * new platform: experimental support for x86-64/darwin (MacOS). + * incompatible change: the thread-safe (on most platforms) getaddrinfo + and getnameinfo sockets functions are used instead of gethostbyaddr + and gethostbyname, on platforms where the newer functions are available. + As a result, the ALIASES field of HOST-ENT will always be NIL on these + platforms. + * change: runtimes with embedded cores (i.e. saved with :EXECUTABLE T) + don't print the startup banner, but behave as if --noinform was passed + as a command line argument. (thanks to Kevin Reid) + * new experimental feature: added JOIN-THREAD (by NIIMI Satoshi) + * optimization: code using alien values with undeclared types is much faster. + * optimization: the compiler is now able to open code SEARCH in more cases. + * optimization: more compact typechecks on x86-64 (thanks to Lutz Euler) + * bug fix: using standardized COMMON-LISP special variables as loop + variables no longer signals bogus package lock violations. (reported + by Eric Marsden) + * bug fix: declaring local loop variables to be of a range-limited type + such as (SINGLE-FLOAT 1.0 2.0) no longer causes a compile-time error. + (reported by Andras Simon) + * bug fix: >= and <= gave wrong results when used with NaNs. (Some NaN + bugs remain on x86-64.) + * bug fix: the #= and ## reader macros now interact reasonably with + funcallable instances. + * bug fix: type-checks for function arguments were compiled using the + compiler policy settings of the wrong lexical environment (in 1.0.2 + and 1.0.3). + * bug fix: SHADOW accepts characters as string designators, as required + by the spec (thanks to Eric Marsden) + * bug fix: fixed GC safety issues when foreign functions are called with + non-base strings as arguments + * bug fix: more consistent error output for fatal-compiler-warnings, like + reader errors + * bug fix: functions with proper names were showing up as NIL in + backtraces (reported by Edi Weitz, regression in 1.0.2) + +changes in sbcl-1.0.3 relative to sbcl-1.0.2: + * new platform: NetBSD/PPC. (thanks to Aymeric Vincent) + * optimization: calls of the form (AREF FOO (+ INDEX )) now + produce more efficient code on the x86 if the compiler can determine + that (+ INDEX ) does not require a bounds check and FOO + has an element type at least 8 bits wide. + * bug fix: references to undefined variables are handled the same way + in toplevel forms as in the normal compiler + * bug fix: the build scripts again work with non-bash /bin/sh (thanks + to Magnus Henoch) + * bug fix: use "gtar" as the asdf-install *TAR-PROGRAM* on NetBSD + (thanks to Jon Buller) + * improvement: faster compilation times for complex functions + * improvement: added readlink support to SB-POSIX (thanks to Richard + M Kreuter) + +changes in sbcl-1.0.2 relative to sbcl-1.0.1: + * improvement: experimental support for mach exception handling on + x86/macos. requires building with :MACH-EXCEPTION-HANDLER feature + to use. + * improvement: support for GBK external format. + (thanks to Chun Tian (binghe)) + * improvement: the debugger now displays variables that have been closed + over, in code compiled with (DEBUG 2) or higher + * improvement: support for executable cores on NetBSD (thanks to + Richard Kreuter) + * new feature: added a RESTART-FRAME debugger command + * new feature: new generic function SB-GRAY:STREAM-FILE-POSITION can + be used to provide an implementation for FILE-POSITION on Gray streams + (thanks to Eric Marsden) + * new feature: add syslog, openlog and closelog support to SB-POSIX + (thanks to Richard Kreuter) + * optimization: the function call overhead in code compiled with + a high DEBUG optimization setting is significantly + * bug fix: an error is signaled for attempts to use READ-SEQUENCE + for a (SIGNED-BYTE 8) stream and (UNSIGNED-BYTE 8) vector, or vice versa. + (thanks to Tony Martinez) + * bug fix: the initforms for DEFMETHOD &AUX parameters are only + evaluated once (reported by Kevin Reid) + * bug fix: the :SHOW-PROGRESS keyword parameter to SB-SPROF:WITH-PROFILING + works again (thanks to Kilian Sprotte) + * bug fix: an error is signaled for tagbodies with duplicate tags + (thanks to Stephen Wilson) + * bug fix: NIL can be used as a tagbody tag (thanks to Stephen Wilson) + * bug fix: Win32 port can now handle foreign code unwinding Lisp + stack frames from alien callbacks. + * bug fix: ATANH returned incorrect results on win32 (thanks to Pierre Mai) + * bug fix: SBCL works on Linux/ppc systems with a kernel configured to use + 65k pages (thanks to David Woodhouse) + * bug fix: fix SB-POSIX dirent and socket on NetBSD (thanks to Richard Kreuter) + changes in sbcl-1.0.1 relative to sbcl-1.0: + * new platform: FreeBSD/x86-64, including support for threading. * 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 + * improvement: another pthread back-end of mutex "pthread-futex". * 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 @@ -34,7 +249,7 @@ changes in sbcl-1.0.1 relative to sbcl-1.0: to Alastair Bridgewater) ** TRACE :ENCAPSULATE NIL (and function end breakpoints) work on Windows. - ** Lisp is able to unwind foreing exception frames from alien + ** Lisp is able to unwind foreign exception frames from alien callbacks. (thanks to Alastair Bridgewater) changes in sbcl-1.0 relative to sbcl-0.9.18: