stabilized/ClojureScript
stabilized/ClojureScript (or "s/cljs") is a distribution (not a fork) of ClojureScript with an emphasis on stability. Release versions of s/cljs have semantic meaning.
Dependency information
Releases are deployed to Clojars
Latest stable release: 1.0.0 (based on ClojureScript 0.0-2843)
Leiningen and Boot dependency information:
[stabilized/clojurescript "1.0.0"]
Maven dependency information:
<dependency>
<groupId>stabilized</groupId>
<artifactId>clojurescript</artifactId>
<version>1.0.0</version>
</dependency>
Rationale
We are grateful for ClojureScript and happy with how it works and is developed. We are less than happy with the breakneck pace of its releases. Our applications are particularly sensitive to our tools, and our tools are particularly sensitive to ClojureScript's implementation. We have been unable to comfortably both use and maintain our tools while also developing our applications in the face of sometimes-weekly, sometimes-breaking ClojureScript releases.
This distribution is our effort to mediate for ourselves the pace of upstream development as close to the root as possible, instead of trying to do so across all of our tools and applications. We tried, but just don't have the time.
We invite you to use s/cljs, but also encourage you to keep using ClojureScript proper if its quicker pace is more to your liking. We're all on the same team!
Release Methodology
Given a version number MAJOR.MINOR.PATCH, we will increment the:
- MAJOR version when there are user facing, incompatible language changes,
- MINOR version when there are tool-author facing, incompatible API changes (such as to the compiler API),
- PATCH version when there are backwards-compatible bug fixes or enhancements.
- Users are those end-users using ClojureScript indirectly through some number of tools to write applications.
- Tool-authors are those developers who depend on internal ClojureScript APIs in order to develop and maintain tools that adapt ClojureScript to a particular development scenario, style, or environment.
We will regularly and selectively:
- Merge enhancements and bug fixes from upstream and increment the version number accordingly, and
- tag and deploy these new release versions to Clojars.
We will make every effort to avoid divergent changes because we are a distribution, not a fork. All development on s/cljs should happen indirectly, upstream, in mainline ClojureScript.
Helping and Contributing
We are happy to receive feedback and questions particular to s/cljs as Issues in this repository. Otherwise, you may consider:
- Contacting the maintainers, Alan Dipert and Micha Niskin directly, or
- interacting with other s/cljs users in the
#hoplon
channel on freenode IRC.
If you are interested in contributing code, or to report bugs applicable also to ClojureScript, please consult the ClojureScript README.
License
This distribution is licensed the same ClojureScript -- EPL -- and does not and will not ever include contributions from anyone who has not submitted a Clojure project Contributor Agreement (CA).
Code in this repository originally from ClojureScript is (c) Rich Hickey.