1.0.37.33: Add SB-THREAD:GRAB-MUTEX.
[sbcl.git] / NEWS
diff --git a/NEWS b/NEWS
index 2d74cd5..19e4cde 100644 (file)
--- a/NEWS
+++ b/NEWS
 ;;;; -*- coding: utf-8; fill-column: 78 -*-
 changes relative to sbcl-1.0.36:
+  * DEPRECIATION: the SB-QUEUE contrib was merged into the SB-CONCURRENCY
+    contrib module. New code should depend on SB-CONCURRENCY, not SB-QUEUE.
+  * DEPRECIATION: SB-THEAD:GET-MUTEX was deprecated in favor of
+    SB-THREAD:GRAB-MUTEX.
+  * new contrib: SB-CONCURRENCY is a new contrib; it's supposed to contain
+    additional data structures and tools for concurrent programming; at the
+    moment it contains a lock-free queue, and a lock-free mailbox
+    implementation.
+  * new feature: added SB-THREAD:GRAB-MUTEX; it's like the now deprecated
+    GET-MUTEX but takes &key rather than &optional parameters.  Also added
+    :TIMEOUT argument to GRAB-MUTEX on non-sb-lutex platforms like Linux and
+    BSD.
+  * new feature: added SB-THREAD:TRY-SEMAPHORE, a non-blocking variant of
+    SB-THREAD:WAIT-ON-SEMAPHORE.
+  * new feature: SB-EXT:ATOMIC-DECF has been added as a companion to
+    SB-EXT:ATOMIC-INCF.
+  * new feature: a CANCEL-DEADLINE is associated with DEADLINE-TIMEOUT
+    conditions to defer the deadline for forever.
+  * enhancement: *STANDARD-OUTPUT*, *STANDARD-INPUT*, and *ERROR-OUTPUT* are
+    now bivalent.
+  * enhancement: errors from NO-APPLICABLE-METHOD and
+    NO-PRIMARY-METHOD now have a RETRY restart available to retry the
+    generic function call.
+  * enhancement: SB-BSD-SOCKET improvements
+    ** sockets and socket streams now have a more informative printed
+       representation based on the corresponding SOCKET-NAME and
+       SOCKET-PEERNAME.
+    ** SOCKET-MAKE-STREAM once more supports the :AUTO-CLOSE option.
+       (lp#540413)
+  * improvements to the instrumenting profiler
+    ** new feature: report per-function GC overhead. (thanks to John Fremlin)
+    ** optimization: counters no longer use locks for the overflow mode.
+    ** bug fix: whenever a profiling counter wrapped into overflow mode, it
+       incurred an off-by-one miscount.
+  * bug fix: correct restart text for the continuable error in MAKE-PACKAGE.
+  * bug fix: a rare case of startup-time page table corruption.
+  * bug fix: a semaphore with multiple waiters and some of them unwinding due
+    to timeouts could be left in an inconsistent state.
+  * bug fix: fix typo in "Reporting Bugs" section of the manual (lp#520366)
+  * bug fix: misoptimization of multiplication by one in
+    (SB-C::FLOAT-ACCURACY 0) policies.
+  * bug fix: miscounts in SB-PROFILE.
+
+changes in sbcl-1.0.37 relative to sbcl-1.0.36:
   * enhancement: Backtrace from THROW to uncaught tag on x86oids now shows
     stack frame thrown from.
+  * enhancement: WITH-COMPILATION-UNIT :POLICY allows restricting changes to
+    compiler optimization qualities inside dynamic extent of its body.
+  * enhancement: LOAD-LOGICAL-PATHNAME-TRANSLATIONS can be used to load
+    translations from SYS:SITE;<HOST>.TRANSLATIONS.NEWEST (thanks to Michael
+    Weber)
+  * optimization: SLOT-VALUE and (SETF SLOT-VALUE) take advantage of
+    constraint propgation, allowing better compilation eg. when used to
+    access structures with WITH-SLOTS. (lp#520366)
+  * optimization: the compiler is now more aware of the type of the underlying
+    storage vector for multidimensional simple arrays resulting in better code
+    for accessing such arrays.
+  * optimization: passing NIL as the environment argument to TYPEP no longer
+    inhibits optimizing it. (lp#309788)
+  * optimization: more efficient register usage when handling single-float
+    arguments on x86-64. (thanks to Lutz Euler)
+  * optimization: ADJUST-ARRAY and STABLE-SORT on vectors no longer use
+    pre-allocated temporary vectors. (lp#496249)
   * bug fix: Fix compiler error involving MAKE-ARRAY and IF forms
     in :INITIAL-CONTENTS. (lp#523612)
   * bug fix: FUNCTION-LAMBDA-EXPRESSION lost declarations from interpreted
     functions. (lp#524707)
   * bug fix: bogus style warnings from certain (SETF SLOT-VALUE) and
     WITH-SLOTS usages during compilation.
+  * bug fix: SB-C::CLASS-INFO now prints correctly. (lp#514762)
+  * enhancement: Can now build with ud2 instead of int3 as trap instruction on
+    all x86oid platforms with :UD2-BREAKPOINTS target feature.
+  * bug fix: Breakpoints now work when using ud2 instead of int3 as trap
+    instruction (tested on x86oid linux with ud2-breakpoints).
+  * bug fix: slam.sh now works on win32.
+  * bug fix: better differences of numeric types. (lp#309124)
+  * bug fix: arrays declared intersection and union types can have their
+    upgraded element type derived. (lp#316078)
+  * bug fix: SB-SPROF allocation profiling for all threads failed to profile
+    threads started during profiling. (lp#472499)
+  * bug fix: SB-INTROSPECT test failure when building without SB-EVAL feature.
+    (lp#535658)
+  * bug fix: SB-CLTL2:DECLARATION-INFORMATION did not take
+    SB-EXT:RESTRICT-COMPILER-POLICY into account. (lp#313337)
+  * bug fix: Comma inside a backquoted array or structure resulted in nonsense
+    values instead of signaling an error. (lp#309093)
+  * bug fix: Spurious unused variable warning in a DEFSTRUCT edge case.
+    (lp#528807)
+  * bug fix: More consistent warnings and notes for ignored DYNAMIC-EXTENT
+    declarations (lp#497321)
+  * bug fix: FIND and POSITION on lists did not check sequence bounds properly
+    and failed to detect circular lists (lp#452008)
+  * bug fix: leakage from ~/.asdf-install into the ASDf-INSTALL contrib build
+    (lp#538974)
+  * bug fix: LOOP OF-TYPE VECTOR compile-time error. (lp#540186)
+  * bug fix: SIGNAL SB-SYS:INTERACTIVE-INTERRUPT before entering the debugger
+    due to it, so that handlers can run.
+  * bug fix: reparsing undefined types if they have become defined since
+    parsing. (lp#309128)
+  * bug fix: missing &REST type in a proclamation for a function with both
+    &REST and &KEY in lambda-list caused miscompilation (lp#458354)
+  * bug fix: WHO-CALLS information for source-transformed and compiler-macro
+    expanded calls (lp#542174)
+  * bug fix: more accurate WHO-MACROEXPANDS information; point into rather
+    than just at toplevel form.
 
 changes in sbcl-1.0.36 relative to sbcl-1.0.35:
   * new feature: SB-EXT:TYPEXPAND-1, SB-EXT:TYPEXPAND, and