We are humbled to announce GNU Guile release 3.0.7, the latest in the 3.0 stable release series.
This is a fix-up release. Compared to Guile 3.0.6, Guile 3.0.7 fixes a number of bugs, many of which were introduced in the 3.0 series. Compared to the previous stable series (2.2.x), Guile 3.0 adds support for just-in-time native code generation, speeding up all Guile programs. See the NEWS extract at the end of the mail for full details. The Guile web page is located at http://gnu.org/software/guile/, and among other things, it contains a copy of the Guile manual and pointers to more resources. Guile is an implementation of the Scheme programming language, packaged for use in a wide variety of environments. In addition to implementing the R5RS, R6RS, and R7RS Scheme standards, Guile includes full access to POSIX system calls, networking support, multiple threads, dynamic linking, a foreign function call interface, powerful string processing, and HTTP client and server implementations. Guile can run interactively, as a script interpreter, and as a Scheme compiler to VM bytecode. It is also packaged as a library so that applications can easily incorporate a complete Scheme interpreter/VM. An application can use Guile as an extension language, a clean and powerful configuration language, or as multi-purpose "glue" to connect primitives provided by the application. It is easy to call Scheme code from C code and vice versa. Applications can add new functions, data types, control structures, and even syntax to Guile, to create a domain-specific language tailored to the task at hand. Guile 3.0.7 can be installed in parallel with Guile 2.2.x; see http://www.gnu.org/software/guile/manual/html_node/Parallel-Installations.html. A more detailed NEWS summary follows these details on how to get the Guile sources. Here are the compressed sources: http://ftp.gnu.org/gnu/guile/guile-3.0.7.tar.lz (10MB) http://ftp.gnu.org/gnu/guile/guile-3.0.7.tar.xz (13MB) http://ftp.gnu.org/gnu/guile/guile-3.0.7.tar.gz (21MB) Here are the GPG detached signatures[*]: http://ftp.gnu.org/gnu/guile/guile-3.0.7.tar.lz.sig http://ftp.gnu.org/gnu/guile/guile-3.0.7.tar.xz.sig http://ftp.gnu.org/gnu/guile/guile-3.0.7.tar.gz.sig Use a mirror for higher download bandwidth: http://www.gnu.org/order/ftp.html Here are the SHA256 checksums: f02166205ced31651d27bd037f947e199a442545ca73f913907c69469ddd7b54 guile-3.0.7.tar.lz f57d86c70620271bfceb7a9be0c81744a033f08adc7ceba832c9917ab3e691b7 guile-3.0.7.tar.xz c7935b7a29e42443f6a35d35cf20ffa7d028c399303f872cd1219598a83656ae guile-3.0.7.tar.gz [*] Use a .sig file to verify that the corresponding file (without the .sig suffix) is intact. First, be sure to download both the .sig file and the corresponding tarball. Then, run a command like this: gpg --verify guile-3.0.7.tar.gz.sig If that command fails because you don't have the required public key, then run this command to import it: gpg --keyserver keys.gnupg.net --recv-keys 4FD4D288D445934E0A14F9A5A8803732E4436885 and rerun the 'gpg --verify' command. This release was bootstrapped with the following tools: Autoconf 2.71 Automake 1.16.2 Libtool 2.4.6 Gnulib v0.1-4551-ga3a946f670 Makeinfo 6.7 An extract from NEWS follows. Changes in 3.0.7 (since 3.0.6) * New interfaces and functionality ** More O_* POSIX constants are now defined in Scheme Guile now defines constants such as `O_NOFOLLOW', `O_CLOEXEC', `O_TMPFILE', and more on platforms that support them. These may be passed as arguments to procedures such as `open' and `open-fdes'. * Bug fixes ** Fix bugs introduced in 3.0.6 with Scheme `read` re-write ** Fix deadlock after `primitive-fork' (#41948) ** Fix duplicates handlers for interfaces that use interfaces (#43025) ** Fix compile-psyntax.scm for (language tree-il canonicalize) removal ** Fix prompt compilation bug (#48098) ** Fix R7RS include-library-declarations, cond-expand (#40252) ** Fix --enable-mini-gmp on FreeBSD and other targets ** Fix excessive compile times for vectors >16k elements long ** Fix use of literal tree-il as source language (#45131) ** Fix SRFI-64 test-end to not remove globally-installed test runner