Liking cljdoc? Tell your friends :D

Changelog

3.0.0 (2026-10-04)

⚠ BREAKING CHANGES

  • acofx handlers yield the value to inject instead of the updated coeffects. reg-acofx-by-fx takes an options map instead of positional arguments. inject-acofxs takes one vector [id value opts] per acofx; its map form and the options of the whole injection are gone. set-global-error-dispatch! is replaced by set-global-on-failure-event, and :error-dispatch by :on-failure. Functions given at injection are no longer called by the library: a reg-acofx handler gets them unchanged as :value; only reg-acofx-by-fx calls one, with the coeffects, the event and the resolved :initial-args, and its result replaces the :initial-args instead of being merged over them. See "Migrating from 2.x" in the README.
  • An acofx handler is called as (handler coeffects injection) instead of (apply handler coeffects args); it reads its value under :value of the injection. An injection is [id value opts] per acofx, and inject-acofx takes id value opts instead of [id & args]. On failure, the event the handler names under ::on-failure takes precedence over the injection's :on-failure.
  • functions given at injection are no longer called for every acofx; only reg-acofx-by-fx computes them, and passes the resolved :initial-args as third argument.
  • the exception appended to the failure event is an ex-info with :code ::acofx-error and the acofx under ::acofx; the handler's exception is its cause.

Features

  • add a global on-failure event (7d648bc)
  • add acofx normalization and run functions (76887a1)
  • add error handling and draft the injection (0bcd380)
  • add the acofx registrar api (900d266)
  • implement inject-acofxs and complete the acofx error handling (d966a98)
  • keep a re-frame-tasks task running while acofxs run (6dd88e8)
  • let reg-acofx-by-fx compute its effect args (265b4b6)
  • make the tasks injections a single interceptor (f1c6a4d)
  • pass the injection to acofx handlers, with one value (c1166aa)

Refactoring

  • clean up parked results before the last interceptor (2342276)
  • clear the implementation to rewrite it for 3.0 (0228c8b)
  • improve the acofx-by-fx names (0810457)

Documentation

  • document migrating from 2.x and the tasks integration (5bbe6c0)
  • link the vars in docstrings and clarify reg-acofx-by-fx (c8ec134)
  • name every breaking change of 3.0 in the changelog (24ae0c5)
  • restructure the README like the other libraries (c3fd619)
  • update README and demo to the v3 API (aeecde4)

Can you improve this documentation?Edit on GitHub

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
←Move to previous article
→Move to next article
Ctrl+/Jump to the search field
× close