A Clojure library providing facilities for async programming and communication.
Latest release: 0.6.532
deps.edn dependency information:
org.clojure/core.async {:mvn/version "0.6.532"}
Leiningen dependency information:
[org.clojure/core.async "0.6.532"]
Maven dependency information:
<dependency>
<groupId>org.clojure</groupId>
<artifactId>core.async</artifactId>
<version>0.6.532</version>
</dependency>
Contributing to Clojure projects requires a signed Contributor Agreement. Pull requests and GitHub issues are not accepted; please use the core.async JIRA project to report problems or enhancements.
To run the ClojureScript tests:
- lein cljsbuild once
- open script/runtests.html
- View JavaScript console for test results
Copyright © 2017-2019 Rich Hickey and contributors
Distributed under the Eclipse Public License, the same as Clojure.
- next release
- ASYNC-198 Fix exception rewriting in go can replace return value
- ASYNC-220 Fix exception in go finally swallows exception of outer try
- ASYNC-229 Fix go finally block executed twice
- ASYNC-212 Fix go fails to compile expressions with literal nil as let value
- ASYNC-145 Fix mix throws error when many channels added
- ASYNC-170 Fix binding in go block throws assertion error
- ASYNC-127 Fix mult to work as doc'ed with all taps accepting before next
- ASYNC-210 Fix puts allowed when buffer still full from expanding transducer
- Release 0.6.532 on 2019.12.02
- Bump tools.analyzer.jvm dep to 0.7.3
- Release 0.5.527 on 2019.11.12
- Add system property clojure.core.async.go-checking that will throw if core.async blocking ops (>!!, <!!, alts!!, alt!!) are used in a go block
- Fix use of blocking op and thread constraints in
pipeline
- will now match pipeline-blocking
in using N cached threads.
- Release 0.4.500 on 2019.06.11
- Release 0.4.490 on 2018.11.19
- Release 0.4.474 on 2018.01.08
- Fix typo in error message
- Remove Java code, depend on Java 1.7+
- Add deps.edn, can now be used as a git dependency
- Release 0.3.465 on 2017.11.17
- ASYNC-119 Move macros to cljs.core.async ns (CLJS)
- ASYNC-201 Out-of-bounds index values passed in timers (CLJS)
- Release 0.3.443 on 2017.05.26
- ASYNC-159 - promise-chan in ClojureScript is broken
- Release 0.3.442 on 2017.03.14
- Fix bad
:refer-clojure
clause that violates new spec in Clojure 1.9.0-alpha15
- Release 0.3.441 on 2017.02.23
- ASYNC-187 - Tag metadata is lost in local closed over by a loop
- ASYNC-185 -
thread
prevents clearing of body locals - ASYNC-186 - NPE when
go
closes over a local variable bound to nil
- Release 0.3.426 on 2017.02.22
- Release 0.2.395 on 2016.10.12
- Add async version of transduce
- Release 0.2.391 on 2016.09.09
- Fix redefinition warning for bounded-count (added in Clojure 1.9)
- Add :deprecated meta to the deprecated functions
- Release 0.2.385 on 2016.06.17
- Updated tools.analyzer.jvm version
- Release 0.2.382 on 2016.06.13
- Important: Change default dispatch thread pool size to 8.
- Add Java system property
clojure.core.async.pool-size
to set the dispatch thread pool size - ASYNC-152 - disable t.a.jvm's warn-on-reflection pass
- Release 0.2.374 on 2015.11.11
- ASYNC-149 - fix error compiling recur inside case in a go block
- Updated tools.analyzer.jvm version (and other upstream deps)
- Updated to latest clojurescript and cljsbuild versions
- Release 0.2.371 on 2015.10.28
- ASYNC-124 - dispatch multiple pending takers from expanding transducer
- ASYNC-103 - NEW promise-chan
- ASYNC-104 - NEW non-blocking offer!, poll!
- ASYNC-101 - async/reduce now respects reduced
- ASYNC-112 - replace "transformer" with "transducer" in deprecation messages
- ASYNC-6 - alts! docs updated to explicitly state ports is a vector
- Support (try (catch :default)) in CLJS exception handling
- Use cljs.test
- Updated tools.analyzer.jvm version (and other upstream deps)
- Release 0.1.346.0-17112a-alpha on 2014.09.22
- cljs nextTick relies on goog.async.nextTick
- Updated docstring for put! re result on closed channel
- Release 0.1.338.0-5c5012-alpha on 2014.08.19
- Add cljs transducers support
- Release 0.1.319.0-6b1aca-alpha on 2014.08.06
- Add transducers support
- NEW pipeline
- Release 0.1.303.0-886421-alpha on 2014.05.08
- Release 0.1.301.0-deb34a-alpha on 2014.04.29
- Release 0.1.298.0-2a82a1-alpha on 2014.04.25
- Release 0.1.278.0-76b25b-alpha on 2014.02.07
- Release 0.1.267.0-0d7780-alpha on 2013.12.11
- Release 0.1.262.0-151b23-alpha on 2013.12.10
- Release 0.1.256.0-1bf8cf-alpha on 2013.11.07
- Release 0.1.242.0-44b1e3-alpha on 2013.09.27
- Release 0.1.222.0-83d0c2-alpha on 2013.09.12
Can you improve this documentation? These fine people already did:
Alex Miller, puredanger, Timothy Baldridge, Brenton Ashworth, Rich Hickey & Ghadi ShaybanEdit on GitHub