diff --git a/CHANGES.md b/CHANGES.md index 20f7a604..d2fbbf1e 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,9 @@ +### 0.4.4 + +* manifold now requires Clojure 1.10 or later due to use of `requiring-resolve` + +Contributions by Allen Rohner + ### 0.4.3 * Improved clj-kondo exports @@ -71,7 +77,7 @@ Contributions by Matthew Davidson, Ryan Smith Contributions by Matthew Davidson, Ryan Smith * Add `go-off`, a `core-async`-style macro with a manifold flavor. Big thanks to Ryan Smith and Yummly for contributing this! -* Switch to `bound-fn` in `let-flow` to fix bug where dynamic vars were incorrect for other threads +* Switch to `bound-fn` in `let-flow` to fix bug where dynamic vars were incorrect for other threads * Modernized indentation to match current Clojure styles and fix misalignments ### 0.1.9 diff --git a/README.md b/README.md index 896b7d7c..a785614b 100644 --- a/README.md +++ b/README.md @@ -122,6 +122,12 @@ Manifold can use any transducer, which are applied via `transform`. It also pro A Clojurescript implementation of Manifold can be found here: [dm3/manifold-cljs](https://github.com/dm3/manifold-cljs). +### Breaking Changes + +### 0.4.4 +- manifold now requires Clojure 1.10 or later due to use of `requiring-resolve` + + ### License Copyright © 2014-2024 Zach Tellman. diff --git a/src/manifold/stream.clj b/src/manifold/stream.clj index 3a3d0978..5d54de4a 100644 --- a/src/manifold/stream.clj +++ b/src/manifold/stream.clj @@ -297,10 +297,6 @@ ([^IEventSource source default-val ^double timeout timeout-val] (.take source default-val false timeout timeout-val))) -;;; - -(require '[manifold.stream.graph]) - (defn connect "Connects a source to a sink, propagating all messages from the former into the latter. @@ -331,7 +327,7 @@ connector (.connector ^IEventSource source sink)] (if connector (connector source sink options) - (manifold.stream.graph/connect source sink options)) + ((requiring-resolve 'manifold.stream.graph/connect) source sink options)) nil))) ;;; @@ -866,7 +862,7 @@ (isSynchronous [_] false) (downstream [this] - (manifold.stream.graph/downstream this)) + ((requiring-resolve 'manifold.stream.graph/downstream) this)) (close [_] (.close ^IEventStream buf)) (description [_] diff --git a/src/manifold/stream/core.clj b/src/manifold/stream/core.clj index a5d0fbc9..40238374 100644 --- a/src/manifold/stream/core.clj +++ b/src/manifold/stream/core.clj @@ -86,7 +86,7 @@ (alterMeta [_ f# args#] (manifold.utils/with-lock* ~'lock (set! ~'__mta (apply f# ~'__mta args#)))) - (~'downstream [this#] (manifold.stream.graph/downstream this#)) + (~'downstream [this#] ((requiring-resolve 'manifold.stream.graph/downstream) this#)) (~'weakHandle [this# ref-queue#] (manifold.utils/with-lock ~'lock (or ~'__weakHandle diff --git a/src/manifold/stream/queue.clj b/src/manifold/stream/queue.clj index 15a307cf..c8fa3d7f 100644 --- a/src/manifold/stream/queue.clj +++ b/src/manifold/stream/queue.clj @@ -2,7 +2,6 @@ {:no-doc true} (:require [clj-commons.primitive-math :as p] - [manifold.stream.graph :as g] [manifold.deferred :as d] [manifold.stream.core :as s] [manifold.utils :as utils]) @@ -11,7 +10,6 @@ AtomicReference] [java.util.concurrent BlockingQueue - LinkedBlockingQueue TimeUnit])) (s/def-source BlockingQueueSource