Journal 12/21/2018 - Clojure 1.10, site, tools.deps

Clojure 1.10

Kicked the week off with a bang, releasing Clojure 1.10. We do small Clojure releases all the time and with every release there are a bunch of mundane tasks - the build (Stu usually kicks this off), writing up an announcement for the Clojure mailing list, Clojure subreddit, updating clojure.org Downloads and Devchangelog pages, and posting on Clojurians Slack and Twitter. I also typically update our build infrastructure to add the new release to our matrix builds of contrib libraries.

For a major release like Clojure 1.10, I also update a few extra pages on the Clojure site, officially mark the release on JIRA which updates a bunch of reports, update the API docs to make the new release the “official” docs, etc. Because I only update the doc like once a year, I also often forget how to do it and it takes a few stabs. There are definitely some downsides to the current approach which makes it harder than it should be and eventually I’d like to smooth some of those things out, but it’s hard to get too motivate to automate something that takes an hour a year.

I also updated the Mac/Linux clj installers to use 1.10 as the default version. Strictly speaking, this isn’t required - clj can be used with any Clojure version your project is using, so whatever version of clj you have installed now can already use Clojure 1.10 if you include it as a dep. But it’s nice to update the default. The brew installer particularly takes up to a day to work through the test and merge process, but that’s out there now too.

All that took about a day and then I spent another day-ish of time responding to questions from the release and writing up the previous post highlighting some of the error message changes. Still planning to write up a note on prepl, so ask me about that again next month if I haven’t gotten there yet.

Clojure site

In addition to all the release-related changes, I have also done a lot of misc stuff on the web site. I added a new community story from Cognician. That posted some prompts about how those are listed and presented so I took care of those updates. I also added a form (linked at the bottom of every story) for how to provide your own community story.

And I added a new success story for GO-JEK on the success stories page and a form (linked at the top) for providing your own.

Other stuff too, like enabling IPv6 and some other stuff.

tools.deps

Other than the stuff above, I have been trying to focus most on tools.deps and clj related stuff. In particular, I have pushed a fix for TDEPS-79 which can cause tools.deps to go into a loop while resolving the dependency graph. And I pushed a small fix for TDEPS-82 to ensure -Sdescribe doesn’t invoke the classpath resolution process (which is unnecessary). I haven’t released any of that yet as I am still looking at making the resolution code better with regards to handling Maven classifiers.

I know there are a couple other high priority things out there for tools.deps that people have worked on (proxy support, git, etc). Thank you for working on that stuff, I know it’s there and I will get to it, but not today. Other priorities have taken me away from tools.deps for much of this year but I’m going to try to at least make some progress on it on Fridays now that 1.10 is out.

2018 / 2019

We’ve changed our internal organization a bit this year around Clojure and other open source work and personally I felt we have been productive than we’ve ever been in 2018, with a ton of stuff in the pipeline. I am very happy to mention that Ghadi Shayban joined Cognitect this week! He has been a huge help on Clojure stuff for years and it’s great to have him “in house” now as a consultant and on Fridays assisting with open source work like REBL, Clojure, etc. I look forward to having his insight and more hands to help.

In 2019 I expect to dive fully back into spec work with Rich to realize some of the ideas he reported on at Conj (which continue to evolve), along with continued updates on Clojure, tools.deps, clj, and all of the other irons we have in the fire.

Non Clojure stuff I enjoyed this week…

In some accidental but excellent timing, I finished the really fine book Apollo 8 this week, which I mostly read while on the planes to/from the Conj. The timing is good, because right now is the 50 year anniversary of this mission, which was the first trip around the moon. If you like space stuff, the book is really well written, chock full of stories, technical bits, and great at putting you in the context of the times.

In music news, I was excited to see new/preorder releases by two of my favorite artists this week. Bob Mould released the first two songs off his upcoming album Sunshine Rock. I particularly love What Do You Want Me To Do. And a making of studio video too. If you get a chance to see Bob live, do so. Seeing Jon Wurster on drums was cathartic - one of my favorite rock drum performances ever. Such a great live combo.

Happy holidays!

I’ll be mostly taking a break over the holidays, so no journal next week. Thank you all for being part of the Clojure community and I hope you have a chance over the next week to connect with family and step away from the computer for a bit!