diff --git a/asdf.asd b/asdf.asd
index 5baa6d7747977505a20a4279f7ca3be312a134f2..31a2225c6e2ffc0a88597e1b741caf67cb03730c 100644
--- a/asdf.asd
+++ b/asdf.asd
@@ -74,7 +74,7 @@
   :licence "MIT"
   :description "Another System Definition Facility"
   :long-description "ASDF builds Common Lisp software organized into defined systems."
-  :version "2.30.7" ;; to be automatically updated by make bump-version
+  :version "2.30.8" ;; to be automatically updated by make bump-version
   :depends-on ()
   #+asdf3 :encoding #+asdf3 :utf-8
   ;; For most purposes, asdf itself specially counts as a builtin system.
diff --git a/bundle.lisp b/bundle.lisp
index b1536a250a33c7dd597a2ab2464347fa3fc1229c..d811530b25242514b77519ac40f7d0a96743e2dc 100644
--- a/bundle.lisp
+++ b/bundle.lisp
@@ -9,7 +9,7 @@
   (:export
    #:bundle-op #:bundle-op-build-args #:bundle-type #:bundle-system #:bundle-pathname-type
    #:fasl-op #:load-fasl-op #:lib-op #:dll-op #:binary-op
-   #:monolithic-op #:monolithic-bundle-op #:direct-dependency-files
+   #:monolithic-op #:monolithic-bundle-op #:bundlable-file-p #:direct-dependency-files
    #:monolithic-binary-op #:monolithic-fasl-op #:monolithic-lib-op #:monolithic-dll-op
    #:program-op
    #:compiled-file #:precompiled-system #:prebuilt-system
@@ -168,10 +168,10 @@
   (defun bundlable-file-p (pathname)
     (let ((type (pathname-type pathname)))
       (declare (ignorable type))
-      (or #+ecl (or (equal type (compile-file-type :type :object))
-                    (equal type (compile-file-type :type :static-library)))
-          #+mkcl (equal type (compile-file-type :fasl-p nil))
-          #+(or allegro clisp clozure cmu lispworks sbcl scl xcl) (equal type (compile-file-type)))))
+      (or #+ecl (or (equalp type (compile-file-type :type :object))
+                    (equalp type (compile-file-type :type :static-library)))
+          #+mkcl (equalp type (compile-file-type :fasl-p nil))
+          #+(or allegro clisp clozure cmu lispworks sbcl scl xcl) (equalp type (compile-file-type)))))
 
   (defgeneric* (trivial-system-p) (component))
 
@@ -398,8 +398,8 @@
   #-(or ecl mkcl)
   (defmethod perform ((o fasl-op) (c system))
     (let* ((input-files (input-files o c))
-           (fasl-files (remove (compile-file-type) input-files :key #'pathname-type :test-not #'string=))
-           (non-fasl-files (remove (compile-file-type) input-files :key #'pathname-type :test #'string=))
+           (fasl-files (remove (compile-file-type) input-files :key #'pathname-type :test-not #'equalp))
+           (non-fasl-files (remove (compile-file-type) input-files :key #'pathname-type :test #'equalp))
            (output-files (output-files o c))
            (output-file (first output-files)))
       (unless input-files (format t "WTF no input-files for ~S on ~S !???" o c))
@@ -419,6 +419,9 @@
     (declare (ignorable o))
     (bundle-output-files (find-operation o 'fasl-op) s))
 
+  (defmethod perform ((o load-op) (s precompiled-system))
+    (perform-lisp-load-fasl o s))
+
   (defmethod component-depends-on ((o load-fasl-op) (s precompiled-system))
     (declare (ignorable o))
     `((load-op ,s) ,@(call-next-method))))
diff --git a/find-system.lisp b/find-system.lisp
index b7bdb35cc72ee5e3eae81411ce9bdeedf8f2d174..c224a3a7413ce9634350e9b27ac2f8f02663aa67 100644
--- a/find-system.lisp
+++ b/find-system.lisp
@@ -234,13 +234,16 @@ Going forward, we recommend new users should be using the source-registry.
 
   (defvar *preloaded-systems* (make-hash-table :test 'equal))
 
+  (defun make-preloaded-system (name keys)
+    (apply 'make-instance (getf keys :class 'system)
+           :name name :source-file (getf keys :source-file)
+           (remove-plist-keys '(:class :name :source-file) keys)))
+
   (defun sysdef-preloaded-system-search (requested)
     (let ((name (coerce-name requested)))
       (multiple-value-bind (keys foundp) (gethash name *preloaded-systems*)
         (when foundp
-          (apply 'make-instance (getf keys :class 'system)
-                 :name name :source-file (getf keys :source-file)
-                 (remove-plist-keys '(:class :name :source-file) keys))))))
+          (make-preloaded-system name keys)))))
 
   (defun register-preloaded-system (system-name &rest keys)
     (setf (gethash (coerce-name system-name) *preloaded-systems*) keys))
diff --git a/header.lisp b/header.lisp
index 1bf28297c1a1c93a976a0ed988115eaf375950db..fdc3004c62719d25fbcbba0c4707a1239abb8f6e 100644
--- a/header.lisp
+++ b/header.lisp
@@ -1,5 +1,5 @@
 ;;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp -*-
-;;; This is ASDF 2.30.7: Another System Definition Facility.
+;;; This is ASDF 2.30.8: Another System Definition Facility.
 ;;;
 ;;; Feedback, bug reports, and patches are all welcome:
 ;;; please mail to <asdf-devel@common-lisp.net>.
diff --git a/lisp-action.lisp b/lisp-action.lisp
index 77c449ae2d567a1d2a885401ad36818a7c74c44a..453451ba4081d1e7d441851ae758fb70718ba9b2 100644
--- a/lisp-action.lisp
+++ b/lisp-action.lisp
@@ -106,7 +106,7 @@
                                     "~/asdf-action::format-action/" (list (cons o c))))))
 
   (defun report-file-p (f)
-    (equal (pathname-type f) "build-report"))
+    (equalp (pathname-type f) "build-report"))
   (defun perform-lisp-warnings-check (o c)
     (let* ((expected-warnings-files (remove-if-not #'warnings-file-p (input-files o c)))
            (actual-warnings-files (loop :for w :in expected-warnings-files
diff --git a/upgrade.lisp b/upgrade.lisp
index 35448b2f2a40970f3c5bf5e37b7a767e4e487e35..723d04e285c347870bf5b45bb23bfb2915a9b577 100644
--- a/upgrade.lisp
+++ b/upgrade.lisp
@@ -52,7 +52,7 @@ You can compare this string with e.g.: (ASDF:VERSION-SATISFIES (ASDF:ASDF-VERSIO
          ;; "3.4.5.67" would be a development version in the official upstream 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 "2.30.7")
+         (asdf-version "2.30.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 c742e6b4b2ba16592b450bd9fcd38e597c79a9be..2511bdf391ab34119ad0dd4a89571a56ec4cdd25 100644
--- a/version.lisp-expr
+++ b/version.lisp-expr
@@ -1 +1 @@
-"2.30.7"
+"2.30.8"