diff --git a/Makefile b/Makefile
index eb262562b1e8661461d66cc23573965ddccb7e5a..69f5a00d1881a1232c0e44e3301b987bd4b0388a 100644
--- a/Makefile
+++ b/Makefile
@@ -206,7 +206,7 @@ release: TODO test-all test-on-other-machines-too debian-changelog debian-packag
 
 # RELEASE checklist:
 # make test-all
-# ./bin/bump-version 2.27
+# ./bin/bump-version 3.0
 # edit debian/changelog
 # make release-push archive-copy website debian-package
 # dput mentors ../*.changes
diff --git a/asdf.asd b/asdf.asd
index 822ea95549da8a87a6d1a72e9a87bef078ea2089..342202a245b28acc0756f5c7e1d7c2488381650e 100644
--- a/asdf.asd
+++ b/asdf.asd
@@ -60,14 +60,12 @@
   :licence "MIT"
   :description "Another System Definition Facility"
   :long-description "ASDF builds Common Lisp software organized into defined systems."
-  :version "2.26.149" ;; to be automatically updated by make bump-version
+  :version "2.26.150" ;; to be automatically updated by make bump-version
   :depends-on ()
   :components
   ((:module "build"
     :components
     (#-gcl2.6
      (:file "asdf"
-      #-asdf3 :do-first #-asdf3 ((compile-op (load-source-op "asdf")))
-      ))))
-  :in-order-to
-  (#+asdf3 (compile-op (monolithic-load-concatenated-source-op asdf/defsystem))))
+      #-asdf3 :do-first #+asdf3 :in-order-to ((compile-op (load-source-op "asdf")))))))
+  :in-order-to (#+asdf3 (prepare-source-op (monolithic-concatenate-source-op :asdf/defsystem))))
diff --git a/backward-internals.lisp b/backward-internals.lisp
index 5846de8cbf96c5a9fe4e66a06b8703173621e9c6..79e31e5edb73ce37cfd301eab25aacfab4742458 100644
--- a/backward-internals.lisp
+++ b/backward-internals.lisp
@@ -55,7 +55,7 @@
 (defun* %resolve-if-component-dep-fails (if-component-dep-fails component)
   (asdf-message "The system definition for ~S uses deprecated ~
                  ASDF option :IF-COMPONENT-DEP-DAILS. ~
-                 Starting with ASDF 2.27, please use :IF-FEATURE instead"
+                 Starting with ASDF 3, please use :IF-FEATURE instead"
                 (coerce-name (component-system component)))
   ;; This only supports the pattern of use of the "feature" seen in the wild
   (check-type component parent-component)
diff --git a/bin/asdf-builder b/bin/asdf-builder
index e6861a030c5e4d0f53b7179b139fbc45e70fb170..3240d1d565e55e5c60fdf592ee9ab8a4825ed5de 100755
--- a/bin/asdf-builder
+++ b/bin/asdf-builder
@@ -4,14 +4,13 @@
 (load (make-pathname :name "prelude" :type "lisp" :defaults *load-pathname*)
   :verbose nil :print nil)
 
-(defpackage :asdf-builder (:use :cl :asdf/driver :asdf :fare-utils :inferior-shell))
+(defpackage :asdf-builder (:use :cl :asdf/driver :asdf/operate :asdf :fare-utils :inferior-shell))
 (in-package :asdf-builder)
 
 (asdf-debug)
 
 (defun build-asdf ()
-  ;; Make sure asdf.lisp is built.
-  (build-system :asdf/defsystem)
+  "Make sure asdf.lisp is built"
   (load-system :asdf)
   (values))
 
diff --git a/component.lisp b/component.lisp
index 2be5b3c958557be8e3be6e66c2f31bf70c79cb3c..663b31b206d1d79d44ae8ba4c18e07ab4b5892e8 100644
--- a/component.lisp
+++ b/component.lisp
@@ -99,6 +99,7 @@ another pathname in a degenerate way."))
    (operation-times :initform (make-hash-table)
                     :accessor component-operation-times)
    (around-compile :initarg :around-compile)
+   (properties) ;; Only for backward-compatibility during upgrades from ASDF2. DO NOT USE.
    (%encoding :accessor %component-encoding :initform nil :initarg :encoding)
    ;; For backward-compatibility, this slot is part of component rather than child-component. ASDF4: don't.
    (parent :initarg :parent :initform nil :reader component-parent)
diff --git a/defsystem.lisp b/defsystem.lisp
index ac1934476b58aa28c1669a9bfb8b1eea0ab1e4ad..cd70baed7b5cc3c32bd036232f2c4bf307a1c0ed 100644
--- a/defsystem.lisp
+++ b/defsystem.lisp
@@ -117,7 +117,7 @@
                 (typep (find-component parent name)
                        (class-for-type parent type))))
       (error 'duplicate-names :name name))
-    (when do-first (error "DO-FIRST is not supported anymore as of ASDF 2.27"))
+    (when do-first (error "DO-FIRST is not supported anymore as of ASDF 3"))
     (let* ((args `(:name ,(coerce-name name)
                    :pathname ,pathname
                    ,@(when parent `(:parent ,parent))
diff --git a/header.lisp b/header.lisp
index a62b8ff649e4181806ffedb1cd2f65eab8027896..ae0db98dca84848f15cc2fe5fec3636c03c9352f 100644
--- a/header.lisp
+++ b/header.lisp
@@ -1,5 +1,5 @@
-;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp -*-
-;;; This is ASDF 2.26.149: Another System Definition Facility.
+;;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp -*-
+;;; This is ASDF 2.26.150: Another System Definition Facility.
 ;;;
 ;;; Feedback, bug reports, and patches are all welcome:
 ;;; please mail to <asdf-devel@common-lisp.net>.
diff --git a/package.lisp b/package.lisp
index 6855651a799b2cb743c96e30349dcc63187d357f..1069e8dbf1aa2b1dbd971e23f88fac49aa7378ac 100644
--- a/package.lisp
+++ b/package.lisp
@@ -4,7 +4,7 @@
 ;; See https://bugs.launchpad.net/asdf/+bug/485687
 ;;
 ;; CAUTION: we must handle the first few packages specially for hot-upgrade.
-;; asdf/package will be frozen as of 2.27
+;; asdf/package will be frozen as of ASDF 3
 ;; to forever export the same exact symbols.
 ;; Any other symbol must be import-from'ed
 ;; and reexported in a different package
diff --git a/upgrade.lisp b/upgrade.lisp
index 1924d470f14aff25eef95646655a57af23e12c23..f7e7a24ca764c9a0f90a876dd0b4b42182d32a14 100644
--- a/upgrade.lisp
+++ b/upgrade.lisp
@@ -35,7 +35,7 @@
          ;; "2.345.6" would be a development version in the official upstream
          ;; "2.345.0.7" would be your seventh local modification of official release 2.345
          ;; "2.345.6.7" would be your seventh local modification of development version 2.345.6
-         (asdf-version "2.26.149")
+         (asdf-version "2.26.150")
          (existing-asdf (find-class (find-symbol* :component :asdf nil) nil))
          (existing-version *asdf-version*)
          (already-there (equal asdf-version existing-version))
diff --git a/version.lisp-expr b/version.lisp-expr
index 9f49a5ba22ac458f33161adb571ceeb84e8e2d97..cbc7e67817f0181fe7cf9a07f46db0efe2abe767 100644
--- a/version.lisp-expr
+++ b/version.lisp-expr
@@ -1 +1 @@
-"2.26.149"
+"2.26.150"