Since ASDF 2,
it should always be a good time to upgrade to a recent version of ASDF.
You may consult with the maintainer for which specific version they recommend,
but the latest
release should be correct.
Though we do try to test ASDF releases against all implementations that we can,
we may not be testing against all variants of your implementation,
and we may not be running enough tests;
we trust you to thoroughly test it with your own implementation
before you release it.
If there are any issues with the current release,
it’s a bug that you should report upstream and that we will fix ASAP.
As to how to include ASDF, we recommend the following:
(require "asdf")should load the version of ASDF that is bundled with your system. If possible so should
(require "ASDF"). You may have it load some other version configured by the user, if you allow such configuration.
cl:require, then it would be nice to add ASDF to this hook the same way that ABCL, CCL, CLISP, CMUCL, ECL, SBCL and SCL do it. Please send us appropriate code to this end.
cl:requirethese modules that are provided by your Lisp distribution; if you do, you should add these modules in the beginning of both
asdf-ecland asdf-ecl.asd, or
sb-asdfand sb-asdf.asd. Indeed, if you made asdf.asd a magic system, then users would no longer be able to upgrade ASDF using ASDF itself to some version of their preference that they maintain independently from your Lisp distribution.
wrapping-source-registry, and you are welcome to include asdf.asd amongst them. Non-magic systems should be at the back of the
wrapping-source-registrywhile magic systems are at the front. If they are precompiled, they should also be in the
(require "uiop")and not load ASDF, or one may
(require "asdf")which would implicitly require and load the former.