It is with great pleasure that we announce the release of ASDF 3.2.0,
a new milestone in the development of ASDF. This change in minor
version number advertises how much ASDF has evolved since we released
3.1 in 2014, and at the same time how stable the API has been since we
release 3.0 in 2013. Note that we already have significant changes in
the pipeline and are intending to release a 3.3.0 in a couple of
months.
We urge implementations that are currently bundling previous versions
of ASDF to adopt 3.2.0 at their earliest convenience. Release 3.2.0
contains significant bug fixes on multiple platforms and
implementations, and does not introduce any incompatibilities on
public APIs. It does however introducing cleanups and refactorings
that break some undocumented (and sometimes explicitly deprecated)
internals. Those systems in Quicklisp that abused these internals have
been fixed (notably including slime, asdf-system-connections, cffi,
iolib, prove, cl-protobufs). Details on bugfixes can be found at
https://launchpad.net/asdf and in the discussions in merged branches
of https://gitlab.common-lisp.net/asdf/asdf
Notable credits go to Robert Goldman for his relentless testing and
push for quality, to Elias Pipping for his contribution of the new
launch-program infrastructure and upping the standards for code, to
François-René Rideau for general coding and fixing a few more bugs
than he put in, to Dave Cooper for lending access to a Windows test
server, and to Anton Vodonosov for repeatedly testing with
cl-test-grid.
Here is the changelog entry for 3.2.0, compared to 3.1.7:
New milestone:
* launch-program: new UIOP API for asynchronous subprocesses, now available
on: abcl allegro clozure cmucl ecl (and lispworks os-unix) mkcl sbcl scl.
Big thanks to Elias Pipping for this significant contribution!
* parameter-error, not-implemented-error: new UIOP functions to better signal
abuse of parameters in function calls, or lack of function implementation.
* with-deprecation macro in UIOP signals style-warnings, then warnings,
then errors when deprecated functions are used. This macro is now used
for all deprecated functions in ASDF.
* require-system, component-loaded-p fixed to not reload .asd files,
and to work in presence of preloaded-systems, that are now eagerly loaded.
* registered-system added as an abstraction for internals and extensions.
* make-operation is now the only supported way to create an operation;
calling make-instance directly will raise an error. Update your software!
* Removal of several obsolete backward-compatible internals:
if-component-dep-fails, operation-forced. Update SLIME!
* Robustness and portability fixes all around uiop, notably dealing with
directory access, bundles on ECL and MKCL or with cffi-toolchain,
dealing with a fatal-condition, surviving use of "logical" pathnames, etc.
* Tests improved and extensively run on Linux, macOS and, notably, Windows,
with recent versions of all the maintained CL implementations.
* Internals of ASDF systematically cleaned up and documented.
* Build, test, release infrastructure improved, both classic and asdf-tools.
* Documentation updated.
-- Francois-Rene Rideau <fare(a)tunes.org> Sun, 08 Jan 2017 20:45:29 -0500