All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Types of changes:
IntoPromiseChan extension protocol and public ->promise-chan coercion so Future, CompletableFuture, and IBlockingDeref values can be used with async-style APIs.detach for starting background work that should intentionally outlive its current cancellation scope.async-generator and yield for creating cold, lossless, core.async-compatible async sources. Generators start on first consumption, are unbuffered by default, support bounded runahead through a positive :buffer-size, and cannot yield nil because a nil take signals completion.anext for manually consuming one source value and areturn for requesting early cleanup and waiting for generator finalization. Calling cancel! on an async generator requests the same cleanup without waiting.adoseq and afor for lifecycle-aware async iteration with destructuring, nested bindings, and :let, :when, and :while modifiers.areduce, atransduce, and ainto for lifecycle-aware async reductions and transductions.Iterable values. Generator cleanup and finally blocks complete on early exit, errors, and cancellation.async, blocking, or compute inside another execution becomes an owned child unless started inside detach; cancellation, failure, or normal completion of a parent cancels its unfinished children transitively.timeout, race, any, all, and all-settled observe borrowed inputs without cancelling them, and race and any do not cancel losing inputs. Work originally started inside the current parent remains owned by that parent.async, blocking, and compute now wait for one returned promise-like single-result value before settling their own result promise-chan. Nested async-style producers continue to compose, while ordinary channels and async-generator sources are preserved as channel values.await, wait, await*, wait*, and the promise combinators now accept values supported by IntoPromiseChan.Can you improve this documentation?Edit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |