to-jdbc-uri 0.5.0 released

We just released to-jdbc-uri 0.5.0 with support for URL parameters. Courtesy of Joe Kutner.

I’d like to note, sometimes I hear that the Clojure community doesn’t care about testing, but to-jdbc-uri has a very complete testing suite and so far, this and other contributions came fully tested.

Prerenderer 0.2.0 released

We are proud to announce the release of version 0.2.0 of our ClojureScript library Prerenderer, a library to do server side pre-rendering of single page applications. In this release, we include:

The two first items in the changelog came hand in hand and they are the biggest changes to keep in mind if you are upgrading. We are very happy that we no longer need a fork of re-frame and we would like to extend our gratitude to Mike Thompson for working with us on having the appropriate API to make this happen.

The change in API means that your Prerenderer module now would look something like this:

(ns projectx.node
  (:require [prerenderer.core :as prerenderer]))

(defn render-and-send [page-path send-to-browser]
  (send-to-browser (render page-path)))

(set! *main-cli-fn* (prerenderer/create render-and-send "ProjectX"))

instead of:

(ns projectx.node
  (:require [cljs.nodejs :as nodejs]
            [prerenderer.core :as prerenderer]))

(defn render [req res]
  (let [page-path (.-path (.parse url (.-url (.-query req))))]
    (.send res (render page-path))))

(set! *main-cli-fn* (prerenderer/create render "ProjectX"))

Enjoy!

jar-copier version 0.3.0 released

We just released a new version of jar-copier, 0.3.0, that includes:

  • Better reporting of misconfiguration.
  • Thoroughly testing misconfiguration reporting.
  • Added the possibility to manually specify the jars (not java-agents).

The main change is the last item, which was planned but now it became clear that some people actually wanted it.

random_unique_id version 1.0.0 released

The core of random_unique_id was developed for Watu very early on, which means that it has been used in production for more than two years and a few thousands millions of records. It’s been released as a gem and we had a few iterations. It has 100% code coverage, code climate rating 4.0, 100% documentation coverage, a running continuous integration testing for many different versions of Ruby and Rails, up to date dependencies, it’s been downloaded more that 1700 times.

It’s time to release version 1.0.0. It’s ready for mass consumption. Get it while it’s hot!

Sharing my code

I’ve recently wrote several posts that contiained code to copy and paste:

I don’t like copying and pasting code and since I was already doing it between several of my projects, I took those pieces of code and package them as gems. If you want, you can use them too:

I find it really awesome how many times some of my gems were downloaded:

Update: fofof is actually useless.

Software Release Cycle

Introduction

I am writing this description to remember what to do when I reach the time to release one of my various projects1, that doesn’t happen often enough for me to remember the whole process and it is tedious enough to hate it when I forget a step. So, I decided to describe it.

First I will explain the version numbers I use. At one time I used the Linux version numbers but when I worked in KDE I’ve seen the beauty of their version numbers (if there’s place for beauty in such a thing).

Then I’ll explain how I create and maintain the various branches, tags and tarballs.
Continue reading