This page will provide a list of all the "old" contrib library namespaces from the 1.2 monolithic contrib, along with a brief explanation of its status and how to migrate code that depends on functions in each namespace. This page is a work in progress and will need input from all maintainers of the "new" contrib modules as well as folks with historical knowledge of the contrib library. If you have suggestions, updates, or comments on this page, feel free to email sean@worldsingles.com so that we can make this into the best possible migration resource!

If a clojure.contrib namespace is listed here but has no migration details, that means no one has volunteered to maintain that namespace. Part of the rationale for modular contrib is that there should be an active maintainer going forward so that the library can be kept compatible with new versions of Clojure. All the new modular contrib libraries are compatible with both Clojure 1.2 and Clojure 1.3 (and are mostly being automatically tested with Clojure 1.4 as it is being developed - as well as being tested with a number of different JDKs!).

If a clojure.contrib namespace is not listed here, it is most likely an old namespace that was either migrated somewhere else or deprecated as part of Clojure 1.2 (e.g., clojure.contrib.duck-streams mostly migrated to clojure.java.io, clojure.contrib.pprint migrated to clojure.pprint, clojure.contrib.shell and clojure.contrib.shell-out migrated to clojure.java.shell, clojure.contrib.string migrated to clojure.string).

If you can't yet switch to the Modular Contrib but you want to migrate to Clojure 1.3, you might want to look at Allen Rohner's unofficial version of Contrib 1.2 compiled against Clojure 1.3 to get you started.

Clojure.Contrib Namespaces

This section aims to document how to migrate from "old" contrib to "new" contrib.