You don’t know where you’re going until you know where you’ve been.

CIDER started its life as an effort to replace a hacked version of SLIME with a proper environment for Clojure development on Emacs. The work on it was fueled mostly by the advent of nREPL which was the first project that aimed to provide a common tool-agnostic foundation for Clojure development tools.

The project was started in April 2012 by Phil Hagelberg (of Leiningen fame), who hacked a prototype of an nREPL client in Emacs Lisp on a flight to San Francisco. He got a bit stuck on the socket-based bencode functionality and dropped it after the flight, but not before pushing the code out and mentioning it on the Clojure mailing list.

Fortunately Tim King picked it back up, and it quickly became a respectable competitor to SLIME. The project evolved at rapid pace and eventually superseded SLIME in August 2012.[1] Unfortunately in early 2013 Tim ran out of time for nrepl.el and after a period of stagnation, eventually handed it over to Bozhidar, who has been the steward ever since. Bozhidar renamed nrepl.el to CIDER in version 0.3 to avoid the common case of confusion between the nREPL server and the nrepl package for Emacs.[2]

Eventually CIDER became one of the most popular development environments in the Clojure community and it spawned many important projects like cider-nrepl, cljs-tooling and orchard, that were widely used by other development tools. Over the years a big ecosystem of packages grew around CIDER and nREPL. Today CIDER faces a lot of competition, but it’s still evolving at a steady pace and it’s still one of the more innovative Clojure development environments, that serves as inspiration for many others.

Notable Milestones

  • 17 Apr 2012 - Initial commit by Phil Hagelberg.

  • 24 Apr 2012 - Tim King picks up Phil’s prototype.

  • 10 Jul 2012 - Tim releases version 0.1.0.

  • 21 Aug 2012 - Phil announces that swank-clojure is officially deprecated in favour of nrepl.el.

  • Autumn 2012 - Bozhidar starts contributing to nrepl.el.

  • Summer 2013 - Bozhidar takes over the maintenance of nrepl.el.

  • 08 Aug 2013 - First release (0.1.8) under Bozhidar’s stewardship.

  • 28 Oct 2013 - Bozhidar renames nrepl.el to CIDER and releases version 0.3.

  • Winter 2013 - Work starts on cider-nrepl and ClojureScript support for CIDER.

  • 05 Aug 2014 - CIDER 0.7 leverages cider-nrepl for most of its functionality.

  • 16 Jun 2015 - CIDER 0.9 introduces its interactive debugger.

  • 03 Mar 2016 - CIDER 0.11 starts auto-injecting its dependencies on cider-jack-in.

  • 02 Sep 2018 - CIDER 0.18 introduces new connection management based on sesman.

  • Spring 2018 - Bozhidar assumes the maintenance of nREPL.

  • 04 May 2018 - Orchard 0.1 is released.

  • 19 Feb 2019 - CIDER 0.21 becomes the first editor to support nREPL 0.6 streamed values and improved pretty-printing.

  • 03 Aug 2020 - CIDER 0.26 adds support for new nREPL 0.8 ops like lookup and completions.

  • 28 Dec 2020 - CIDER 1.0 is released.

To be continued…​