* modules.c (the_root_module): Moved before scm_current_module.
[bpt/guile.git] / NEWS
diff --git a/NEWS b/NEWS
index c9ae42f..9babe4d 100644 (file)
--- a/NEWS
+++ b/NEWS
 Guile NEWS --- history of user-visible changes.
-Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
 See the end for copying conditions.
 
 Please send Guile bug reports to bug-guile@gnu.org.  Note that you
 must be subscribed to this list first, in order to successfully send a
 report to it.
 
-Each release reports the NEWS in the following sections:
+\f
+Changes in 1.9.0:
+
+* New modules (see the manual for details)
+
+** The `(ice-9 i18n)' module provides internationalization support
 
 * Changes to the distribution
+
+** Guile now uses Gnulib as a portability aid
+
 * Changes to the stand-alone interpreter
 * Changes to Scheme functions and syntax
-* Changes to the C interface 
+
+** A new 'memoize-symbol evaluator trap has been added.  This trap can
+be used for efficiently implementing a Scheme code coverage.
+
+** Duplicate bindings among used modules are resolved lazily.
+This slightly improves program startup times.
+
+** New thread cancellation and thread cleanup API
+See `cancel-thread', `set-thread-cleanup!', and `thread-cleanup'.
+
+* Changes to the C interface
+
+** Functions for handling `scm_option' now no longer require an argument
+indicating length of the `scm_t_option' array.
+
 
 \f
-Changes in 1.9.XXXXXXXX:
+Changes in 1.8.4 (since 1.8.3)
+
+* Bugs fixed
+
+** CR (ASCII 0x0d) is (again) recognized as a token delimiter by the reader
+** Fixed a segmentation fault which occurred when displaying the
+backtrace of a stack with a promise object (made by `delay') in it.
+** Make `accept' leave guile mode while blocking
+** `scm_c_read ()' and `scm_c_write ()' now type-check their port argument
+** Fixed a build problem on AIX (use of func_data identifier)
+** Fixed a segmentation fault which occurred when hashx-ref or hashx-set! was
+called with an associator proc that returns neither a pair nor #f.
+** Secondary threads now always return a valid module for (current-module).
+
+* New modules (see the manual for details)
+
+** `(srfi srfi-69)'
 
 * Changes to the distribution
-* Changes to the stand-alone interpreter
-* Changes to Scheme functions and syntax
-* Changes to the C interface 
+
+** Corrected a few files that referred incorrectly to the old GPL + special exception licence
+
+In fact Guile since 1.8.0 has been licensed with the GNU Lesser
+General Public License, and the few incorrect files have now been
+fixed to agree with the rest of the Guile distribution.
+
+** Removed unnecessary extra copies of COPYING*
+
+The distribution now contains a single COPYING.LESSER at its top level.
+
+\f
+Changes in 1.8.3 (since 1.8.2)
+
+* New modules (see the manual for details)
+
+** `(srfi srfi-35)'
+** `(srfi srfi-37)'
+
+* Bugs fixed
+
+** The `(ice-9 slib)' module now works as expected
+** Expressions like "(set! 'x #t)" no longer yield a crash
+** Warnings about duplicate bindings now go to stderr
+** A memory leak in `make-socket-address' was fixed
+** Alignment issues (e.g., on SPARC) in network routines were fixed
+** A threading issue that showed up at least on NetBSD was fixed
+** Build problems on Solaris and IRIX fixed
+
+* Implementation improvements
+
+** The reader is now faster, which reduces startup time
+** Procedures returned by `record-accessor' and `record-modifier' are faster
+
+
+\f
+Changes in 1.8.2 (since 1.8.1):
+
+* New procedures (see the manual for details)
+
+** set-program-arguments
+** make-vtable
+
+* Bugs fixed
+
+** Fractions were not `equal?' if stored in unreduced form.
+(A subtle problem, since printing a value reduced it, making it work.)
+** srfi-60 `copy-bit' failed on 64-bit systems
+** "guile --use-srfi" option at the REPL can replace core functions
+(Programs run with that option were ok, but in the interactive REPL
+the core bindings got priority, preventing SRFI replacements or
+extensions.)
+** `regexp-exec' doesn't abort() on #\nul in the input or bad flags arg
+** `kill' on mingw throws an error for a PID other than oneself
+** Procedure names are attached to procedure-with-setters
+** Array read syntax works with negative lower bound
+** `array-in-bounds?' fix if an array has different lower bounds on each index
+** `*' returns exact 0 for "(* inexact 0)"
+This follows what it always did for "(* 0 inexact)".
+** SRFI-19: Value returned by `(current-time time-process)' was incorrect
+** SRFI-19: `date->julian-day' did not account for timezone offset
+** `ttyname' no longer crashes when passed a non-tty argument
+** `inet-ntop' no longer crashes on SPARC when passed an `AF_INET' address
+** Small memory leaks have been fixed in `make-fluid' and `add-history'
+** GOOPS: Fixed a bug in `method-more-specific?'
+** Build problems on Solaris fixed
+** Build problems on HP-UX IA64 fixed
+** Build problems on MinGW fixed
 
 \f
 Changes in 1.8.1 (since 1.8.0):
@@ -39,10 +142,14 @@ Changes in 1.8.1 (since 1.8.0):
 ** scm_exp - [C]
 ** scm_sqrt - [C]
 
+* New `(ice-9 i18n)' module (see the manual for details)
+
 * Bugs fixed
 
 ** Build problems have been fixed on MacOS, SunOS, and QNX.
 
+** `strftime' fix sign of %z timezone offset.
+
 ** A one-dimensional array can now be 'equal?' to a vector.
 
 ** Structures, records, and SRFI-9 records can now be compared with `equal?'.