diff --git a/Makefile b/Makefile
index fb76b2d271ed7191fac854ddcc5bc396eefd74aa..60380ad5847b8a2b047dedfd856835c51e69aab1 100644
--- a/Makefile
+++ b/Makefile
@@ -140,7 +140,7 @@ test-lisp: build/asdf.lisp
 	@cd test; ./run-tests.sh ${l} ${t}
 t: test-lisp
 
-test: test-lisp test-clean-load test-load-systems doc
+test: doc test-lisp test-clean-load test-load-systems
 
 test-load-systems: build/asdf.lisp
 	./test/run-tests.sh -l ${l} ${s}
diff --git a/asdf.asd b/asdf.asd
index 93bab366f7e158dbcc4c7894760ab638ee4f1762..5999e9c1c17ade9ab5136449c49ad9421b01e549 100644
--- a/asdf.asd
+++ b/asdf.asd
@@ -75,7 +75,7 @@
   :licence "MIT"
   :description "Another System Definition Facility"
   :long-description "ASDF builds Common Lisp software organized into defined systems."
-  :version "3.1.2.7" ;; to be automatically updated by make bump-version
+  :version "3.1.2.8" ;; to be automatically updated by make bump-version
   :depends-on ()
   #+asdf3 :encoding #+asdf3 :utf-8
   :class #.(if (find-class 'package-inferred-system nil) 'package-inferred-system 'system)
diff --git a/header.lisp b/header.lisp
index 41815e5ab4167ac718fb2a2c202bb7f73c67bc01..53839676c610281d649566ced87ccad18955dafd 100644
--- a/header.lisp
+++ b/header.lisp
@@ -1,5 +1,5 @@
 ;;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp ; buffer-read-only: t; -*-
-;;; This is ASDF 3.1.2.7: Another System Definition Facility.
+;;; This is ASDF 3.1.2.8: Another System Definition Facility.
 ;;;
 ;;; Feedback, bug reports, and patches are all welcome:
 ;;; please mail to <asdf-devel@common-lisp.net>.
diff --git a/uiop/configuration.lisp b/uiop/configuration.lisp
index 5e1b87886f1a553314fa86b13ade9d86df30ec4b..07e90e626a1c97d14f0ed33bd66ced92c19bce21 100644
--- a/uiop/configuration.lisp
+++ b/uiop/configuration.lisp
@@ -148,7 +148,7 @@ this function tries to locate the Windows FOLDER for one of
     "Map the VALIDATOR across the .conf files in DIRECTORY, the TAG will
 be applied to the results to yield a configuration form.  Current
 values of TAG include :source-registry and :output-translations."
-    (let ((files (sort (ignore-errors
+    (let ((files (sort (ignore-errors ;; SORT w/o COPY-LIST is OK: DIRECTORY returns a fresh list
                         (remove-if
                          'hidden-pathname-p
                          (directory* (make-pathname :name *wild* :type "conf" :defaults directory))))
diff --git a/uiop/package.lisp b/uiop/package.lisp
index 77ff4101a614179b8a8f0119d55da863e4ac1e78..1d928a326571241a03d536ac5877333107b0f3a0 100644
--- a/uiop/package.lisp
+++ b/uiop/package.lisp
@@ -317,7 +317,7 @@ or when loading the package is optional."
                        (imported)
                        (t (push name intern)))))))
         (labels ((sort-names (names)
-                   (sort names #'string<))
+                   (sort (copy-list names) #'string<))
                  (table-keys (table)
                    (loop :for k :being :the :hash-keys :of table :collect k))
                  (when-relevant (key value)
diff --git a/upgrade.lisp b/upgrade.lisp
index f92beab30589a9f2bbd1647cbe2f557b74ed258a..ce86d02f2ae97838391d58bfb1b3fdb24703a97a 100644
--- a/upgrade.lisp
+++ b/upgrade.lisp
@@ -67,7 +67,7 @@ previously-loaded version of ASDF."
          ;; "3.4.5.67" would be a development version in the official branch, on top of 3.4.5.
          ;; "3.4.5.0.8" would be your eighth local modification of official release 3.4.5
          ;; "3.4.5.67.8" would be your eighth local modification of development version 3.4.5.67
-         (asdf-version "3.1.2.7")
+         (asdf-version "3.1.2.8")
          (existing-version (asdf-version)))
     (setf *asdf-version* asdf-version)
     (when (and existing-version (not (equal asdf-version existing-version)))
diff --git a/version.lisp-expr b/version.lisp-expr
index cd994407792cf403374fa34cbeefc579c7590172..374c7f334e4f3027cb49cdd3e9ed52725d7427c1 100644
--- a/version.lisp-expr
+++ b/version.lisp-expr
@@ -1,2 +1,2 @@
-"3.1.2.7"
+"3.1.2.8"