releases

tony.kay 2026-05-21T10:59:14.295909Z

https://github.com/fulcrologic/fulcro-spec 3.2.10. • Bugfix in babashka support

tony.kay 2026-05-21T11:26:28.874899Z

https://github.com/fulcrologic/statecharts5 • Removed direct dependency on promesa for async charts (added new shim which auto-morphs to promesa if on classpath) • The above allows babashka to now run charts that leverage the statechart async features

borkdude 2026-05-21T11:28:20.966069Z

FWIW bb support for promesa was merged a year ago. not sure if there's been a release since (cc @niwinz)

tony.kay 2026-05-21T11:30:53.793569Z

What I could find didn’t work, but that would be awesome if it does. That said, it was a thin shim and it removes a downstream dep, so I’m not that concerned.

👍 1
tony.kay 2026-05-21T11:34:30.997189Z

From what I saw the tests in that library use bb to RUN the tests, but the support requires stuff that SCI can’t do yet (was what Claude told me):

Summarize why promesa does not work in bb

⏺ Why promesa doesn't load in babashka

  Babashka runs Clojure via SCI (Small Clojure Interpreter), not the JVM Clojure compiler. SCI implements most of Clojure, but it deliberately doesn't
  reach all the way into the JVM compiler's extension surface. Promesa hits two of those gaps during its own load:

  1. extend-protocol clojure.core/Inst (promesa.util, v10+)

  Promesa extends the clojure.core/Inst protocol to its promise types so it can interoperate with date/time and "instant-like" values. The problem: in
  SCI, Inst isn't exposed as an extendable protocol — it's known about, but you can't pass it to extend-protocol. Loading promesa.util aborts at
  macroexpand time.

  2. defrecord against java.util.function.Supplier (promesa.exec, v6+)

  promesa.exec defines a defrecord that implements the Java interface java.util.function.Supplier so it can hand promesa values to executors that expect
  Supplier. SCI's defrecord only knows how to implement Clojure protocols — it doesn't synthesize bytecode for arbitrary Java interfaces. The form fails
  to expand.

  Either failure is enough to prevent the whole library from loading. They've held across promesa 7.x through 12.x-RC because both are part of how promesa
   integrates with the JVM ecosystem — it would take a (likely conditional) rewrite upstream to remove them.

borkdude 2026-05-21T11:34:59.706249Z

the master version works, it has a bb.edn with a test runner

borkdude 2026-05-21T11:35:11.934299Z

I think promesa might just not have a release for a very long time

tony.kay 2026-05-21T11:35:27.069669Z

ah…that’s entirely possible

tony.kay 2026-05-21T11:35:54.044159Z

Like I said, not heartbroken by removing an upstream dep

niwinz 2026-05-21T11:35:59.685439Z

I can try to bump a release to clojars, I guess the last RC was only on github

🙏 1
fogus (Clojure Team) 2026-05-21T15:08:02.249199Z

https://github.com/clojure/core.unify - Release 0.7.3 • UNIFY-3: Documentation cleanup • UNIFY-12: Fixed dropped occurs flag on recursive calls • UNIFY-13: Fixed CLJ-specific test

🎉 2