X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=NEWS;h=3a152a47e7a9428187f4320b4f04d2d446e28f79;hb=990728854b8ba017888811d1b0453b15dfa8a581;hp=4b9ed18f611554f6484f2340a5f9e62089231f64;hpb=df06965814a879aa8ccd9367f2b1c450daccc601;p=sbcl.git diff --git a/NEWS b/NEWS index 4b9ed18..3a152a4 100644 --- a/NEWS +++ b/NEWS @@ -1,11 +1,160 @@ ;;;; -*- coding: utf-8; -*- +changes in sbcl-1.0.7 relative to sbcl-1.0.6: + * MOP improvement: support for user-defined subclasses of + SB-MOP:SPECIALIZER has been enhanced. The experimental interface + function SB-PCL:MAKE-METHOD-SPECIALIZERS-FORM, called as part of + the expansion of DEFMETHOD, is responsible for generating a form + which creates a list of specializers when evaluated. Additional + functions SB-PCL:[UN]PARSE-SPECIALIZER-USING-CLASS provide + debugging and introspective support. + * minor incompatible change: the (unsupported) spinlock interface + has changed: free spinlock now has the value NIL, and a held spinlock + has the owning thread as its value. + * 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. + * bug fix: generic function dispatch function updating is now thread + and interrupt safe (in the sense that the known issues have been + fixed). + +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. - * bug fix: >= and <= gave wrong results when used with NaNs. + * 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 @@ -13,6 +162,12 @@ changes in sbcl-1.0.4 relative to sbcl-1.0.3: 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)