(During the 1.9 series, we will keep an incremental NEWS for the latest
prerelease, and a full NEWS corresponding to 1.8 -> 2.0.)
-Changes in 1.9.8 (since the 1.9.7 prerelease):
-
-** Struct optimizations
-
-Structs underly many types in Guile, including records and objects. This
-release speeds up struct access and creation.
-
-** Add libffi dependency
-
-Libffi is now required, to build the foreign function interface. See
-http://sourceware.org/libffi/, for more information on libffi.
-
-We are not aware of a platform that Guile runs on for which libffi is
-unavailable.
-
-** Foreign function interface
-
-This release comes with a new `(system foreign)' module. Currently it
-provides a low level "foreign function interface" (FFI), which allows
-users to write Scheme code to invoke C code, without writing a single
-line of C code.
-
-The `dynamic-link' and `dynamic-func' procedures, which have been
-available for a long time, can be used to get the address of a C
-function as a "foreign" object at the Scheme level; using libffi, Guile
-can construct calls to these functions.
-
-The arguments to a C function may be integers, floating point numbers,
-pointers, and structs. Numbers are passed using their normal Scheme
-representations, and pointers and structs are represented as foreign
-objects. Foreign objects can be converted back and forth to/from a
-bytevector. They can have an associated foreign finalizer (e.g., a
-procedure that will reclaim any associated resources when the object
-becomes unreachable); alternatively, they can be finalized using a
-guardian.
-
-The `(system foreign)' API is currently low-level and possibly
-inconvenient. It will be extended to provide higher-level constructs.
-
-** Incompatible changes to the foreign value interface introduced in 1.9.7
-
-The API in <libguile/foreign.h> changed since 1.9.7. C extensions need
-recompilation.
-
-** `dynamic-wind' compilation
-
-`dynamic-wind' now has special support from the compiler and VM. The
-compiler is able to inline the body of a `dynamic-wind', making it more
-efficient. The run-time support is provided by the `wind' and `unwind'
-VM instructions.
-
-** New module: `(ice-9 vlist)'
-
-This module provides an implementation of Bagwell's VLists and
-VList-based hash lists ("VHashes"). VLists are a list data structure
-that provides constant-time random access and length computation
-logarithmic in the number of elements. VLists also use less storage
-space than standard Scheme linked lists.
-
-VHashes are a functional dictionary type similar to association lists.
-However, unlike association lists, accessing a value given its key is
-typically a constant-time operation. VHashes are now used in a few
-places of the compiler.
-
-** New procedures: `getaddrinfo' and family
-
-Bindings for the POSIX getaddrinfo(3) host name and service lookup
-function are available. This function is now recommended over
-`gethostname' and friends as it's more expressive and can return a
-sorted list of addresses, as opposed to a single address.
-
-** Tutorial deleted
-
-The tutorial was removed. It was incomplete, outdated, and contained C
-examples that were no longer valid. The reference manual, on the other
-hand, contains up-to-date examples and documentation.
+Changes in 1.9.9 (since the 1.9.8 prerelease):
** And of course, the usual collection of bugfixes