Skip to content

stabilized/clojurescript

Repository files navigation

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:

  1. MAJOR version when there are user facing, incompatible language changes,
  2. MINOR version when there are tool-author facing, incompatible API changes (such as to the compiler API),
  3. 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:

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.

About

A distribution of ClojureScript with an emphasis on stability

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 102