Per https://github.com/clojure/clojure-site/issues/348 the decision about a 1.0.0 release of a Contrib Library has passed directly to the library maintainer.
The first release of a contributed library with a major version number of "1" requires approval by Clojure/core.
In order to be approved for a 1.0.0 release, a contrib library must satisfy the following criteria (work in progress, original list by Stuart Halloway):
- Time and number of installations both factor in here - wide usage seems important to me (Sean).
- In particular: Library Coding Standards.
- Current discussion on ML about 'foo' function / macro delegating to 'foo*' implementation and whether that is idiomatic.
- Consensus from previous discussions seems to be:
- Dependence on core is fine.
- Dependence on new contrib is OK if really necessary.
- Dependence on anything else is subject to intense review and challenge.
- This is a bit wooly and will need refinement to help contrib library developers.
- Composability seems a common theme in discussions:
- Prefer functions over macros.
- Prefer explicit arguments over bindings.
- On macros, the Library Coding Standards says to expose a function first and add a macro only where it provides ease-of-use.
The decision for version choices is up to the library maintainer.