π¦ Dependencies
Available on Clojars:
- Telemere - main dep for most users
- Shell API - alternative minimal dep for library authors, etc.
- SLF4J provider - additional dep for users that want to interop with Java logging
This project uses Break Versioning.
Release notes
This is the first official v1 release candidate. If no unexpected issues come up, this will become v1 stable.
As always, please report any unexpected problems on GitHub or the Slack channel, thank you! π
Recent changes
Since v1.0.0-beta25
(2024-09-25)
- No API changes
Earlier
- [mod] Update
pr-signal-fn
to useclean-signal-fn
[f703630] (beta 23) - [mod] Rename
taoensso.telemere.api
->taoensso.telemere.shell
[a9005e7] (beta 23) - [mod] Move dep:
com.taoensso/slf4j-telemere
-> com.taoensso/telemere-slf4j [77ed27c] (beta 22) - [mod] Generalize "intake", rename -> "interop" [ef678bc] (beta 20)
- [mod] Make
:host
output opt-in for default signal handlers [88eb521] (beta 20) - [mod] OpenTelemetry handler: rename (generalize) [064ef32] (beta 19)
- [mod] OpenTelemetry handler: revert #10 [599236f] (beta 18)
- [mod] Decrease level of :on-init signals [4d2b5d4] (beta 18)
- [mod] Removed
*auto-stop-handlers?*
var (beta 15) - [mod] Removed
:needs-stopping?
handler dispatch opt (beta 15) - [mod] Cljs handlers MUST now include stop (0) arity (beta 15)
- [mod] Users MUST now manually call
stop-handlers!
(beta 15) - [mod] SLF4J and
tools.logging
signals now have a custom:kind
and no:id
(beta 14) - [mod] Renamed
get-min-level
->get-min-levels
(beta 13) - [mod] Renamed
shut-down-handlers!
->stop-handlers!
(beta 13) - [mod] Changed default handler back-pressure mechanism from
:dropping
to:blocking
(eaiser for most users to understand and detect; override when callingadd-handler!
) (beta 11) - [mod]
pr-signal-fn
now takes only a single opts map (beta 10) - [mod] User-level kvs are no longer included by default in handler output.
:incl-kvs?
option has been added toformat-signal-fn
andpr-signal-fn
(beta 7) - [mod] Middleware must now be a single fn, use
comp-middleware
to create one fn from many (beta 7) - [mod] OpenTelemetry handler is no longer auto added (beta 1)
- [mod] Various API improvements to included handlers and utils
Recent additions
Since v1.0.0-beta25
(2024-09-25)
- [new] Add
:ctx+
,:middleware+
signal options [5a8c407] (RC1) - [new] OpenTelemetry handler: try print map vals as EDN [c1e1c1e] (RC1)
- [new] [#28] OpenTelemetry handler: support custom signal attrs [5ef4f12] (RC1)
- [new] Simplify default OpenTelemetry providers code, expose SDK [19548d3] (RC1)
- [new] Add
dispatch-signal!
util [5ac8725] (RC1) - [new]
writeable-file!
: resolve sym links, etc. [9965450] (RC1) - [new] Extend IIFE-wrap to Clj [d0ad99d] (RC1)
- [new] Numerous improvements to docs and examples (RC1)
Earlier
- [new] Add
:rate-limit-by
option to all signal creators [d9c3583] (beta 23) - [new] Add
clean-signal-fn
util [be55f44] (beta 23) - [new] Add
signal-allowed?
util [d12b0b1] (beta 23) - [new] Allow compile-time config of uid kind [965c227] (beta 23)
- [new] Avoid duplicated trace bodies [c9e84e8] (beta 23)
- [new] Cap length of displayed run-form when tracing [85772f7] (beta 23)
- [new] Added experimental shell API for library authors [ece51b2] (beta 22)
- [new] Auto stop existing handler when replacing it (beta 22)
- [new] Added
"(.*)"
wildcard syntax to kind/ns/id filters (beta 22) - [new] Internal and doc improvements: [8066776], [b4b06f3], [3068ccf] (beta 21)
- [new] OpenTelemetry handler: improve span interop [84957c6] (beta 20)
- [new] OpenTelemetry handler: add experimental trace output [67cb494] (beta 18)
- [new] Improve uid control, switch to nano-style by default [5ab2736] (beta 18)
- [new] Add host info to signal content [1cef195] (beta 18)
- [new] Add extra tracing info to signal content [d635318] (beta 18)
- [new] Ongoing API and wiki doc improvements (beta 15)
- [new] [#5] Added comparison to Mulog (beta 15)
- [new] SLF4J and
tools.logging
signals now have a namespace (from logger name) (beta 14) - [new] Added
get-handlers-stats
(beta 13) - [new]
add-handler!
can now specify per-handler:drain-msecs
(beta 13) - [new] Added
*auto-stop-handlers?*
(beta 13) - [new]
remove-handler!
now auto stops relevant handlers after removal (beta 13) - [new]
with-handler
andwith-handler+
now auto stops relevant handlers after use (beta 12) - [new] (Advanced) Handler fns can now include
:dispatch-opts
metadata, useful for handler authors that want to set defaults for use byadd-handler!
(beta 8) - [new] Added Slack handler (beta 8)
- [new] Added TCP and UDP socket handlers (beta 7)
- [new] Clj signal content now includes
:thread {:keys [group name id]}
key (beta 7) - [new] Added postal (email) handler (beta 5)
- [new] Handlers now block to try drain their signal queues on shutdown (beta 3)
- [new] Rate limiter performance improvements (via Encore) (beta 3)
Recent fixes
Since v1.0.0-beta25
(2024-09-25)
- [fix]
signal-opts
: allow map forms as intended [f7a5663] (RC1) - [fix]
uncaught->error!
wasn't working (@benalbrecht) [7f52cb1] (RC1)
Earlier
- [fix] Regression affecting deprecated
rate-limiter*
(beta 25) - [fix] Don't try count non-list tracing bodies [88f7a3c] (beta 24)
- [fix] [#21] Work around issue with use in Cljs
core.async/go
bodies [cbab57b] (beta 23) - [fix] [#20] Wrong :arglists meta on
spy!
[568906c] (beta 23) - [fix] [#18] Support
{:uid :auto}
for non-tracing signal creators [f52a04b] (beta 23) - [fix] Runtime Clj env config now works correctly in uberjars (beta 23)
- [fix] Signal
:line
info missing for some wrapped-macro cases [0f09b79] (beta 22) - [fix] OpenTelemetry handler: use signal callsite Context as root span parent [a8e9230] (beta 19)
- [fix] [#16] OpenTelemetry handler: coerce line attrs (@flyingmachine) [17349a0] (beta 19)
- [fix] Decrease min Java version (11->8) (@flyingmachine) [a1c50f1] (beta 19)
- [fix] Broken handler ns and kind filters [2319423] (beta 16)
- [fix] [#10] OpenTelemetry handler: render keywords as plain strings [6e94215] (beta 15)
- [fix] [#11] OpenTelemetry handler: signals without message fail [863cea1] (beta 15)
- [fix] [#14] File handler: Don't truncate gzip output [2d4b049] (beta 15)
- [fix] Don't drop signals while draining async buffer during shutdown, add tests (via Encore) (beta 12, beta 13)
- [fix]
pr-signal-fn
wasn't realizing delayed messages, add tests [cf72017] (beta 11) - [fix]
pr-signal-fn
broken custom pr-fn support, add tests [e7cce0c] (beta 10) - [fix] [#6] Missing root stack trace, add tests [213c647] (beta 9)
- [fix] Broken AOT support, add tests [ffea1a3] (beta 1)
- [fix] SLF4J broken timestamps, add tests [e222297] (beta 1)