Retro is a protocol for implementing revisioned transactions in Clojure. It is used internally by Jiraph and Masai. Installation Add the following to the :dependencies key in your project.clj: [org.flatland/retro "0.8.0"]