ClojureScript will use a release strategy based on Git tags and a monotonically-increasing release number.

ClojureScript Release Tags

The tag "v0.0" points to the first commit in the ClojureScript Git repository

Releases are tagged like "r999" where 999 is the number of commits on master since v0.0

This number can be obtained by running git describe --match v0.0

ClojureScript Maven Releases

One big JAR containing GClosure library & compiler

GClosure is not published to a Maven repository

GClosure is released under the Apache License 2.0

No obligations other than inclusion of license

Version numbers...?

Something like "0.0-r999" where 999 is the tag described above

Version comparison tests in different versions of Maven:

Is this...

older than...?

Maven2.0.9

Maven2.2.1

Maven3.0.3

0.0-r1

0.0-r2

yes

yes

yes

0.0-r123

0.0-r456

yes

yes

yes

0.0-r20

0.0-r123

NO

NO

yes

0.0-1

0.0-2

yes

yes

yes

0.0-123

0.0-456

yes

yes

yes

0.0-20

0.0-123

yes

yes

yes

Maven 2.x will treat any version string component containing non-numeric characters as an opaque string, sorted lexicographically. Maven 3.x correctly splits version strings at letter-number boundaries. Both 2.x and 3.x behave correctly when the version string does not mix numbers and letters.