Commit graph

68 commits

Author SHA1 Message Date
Peter Taoussanis
4fdc55e9b8 [nop] Misc docs houskeeping 2025-03-03 11:01:39 +01:00
Peter Taoussanis
a60f5b8d7c [nop] Bump deps 2025-03-03 11:01:39 +01:00
Peter Taoussanis
dd9f4b2a33 v1.0.0-RC3 (2025-02-27) 2025-02-27 13:04:29 +01:00
Peter Taoussanis
b7d2b4a1ed [nop] Bump deps 2025-02-27 12:45:01 +01:00
Peter Taoussanis
4a6771a907 [doc] Update info on experimental vars 2025-02-27 12:45:01 +01:00
Peter Taoussanis
824f8e3d53 [doc] Rename "signal filters" -> "call filters", etc.
The new terminology hopefully makes the distinction clearer
between call filters and handler filters, etc.
2025-02-27 12:45:01 +01:00
Peter Taoussanis
fda22ce80c [mod] Signal options: drop :location, add :coords
This is the input-side change related to [1], and only
affects folks who've been providing custom callsite info to
Telemere signals (usually in the context of wrapper macros).

To provide custom callsite info BEFORE this commit:
  (tel/signal! {:location {:ns "my-ns", :line 10, :column 20}})

To provide custom callsite info AFTER this commit:
  (tel/signal! {:ns "my-ns", :coords [10 20]})

Motivation for the new override API:

  - It's shorter and cleaner.
  - It's less likely to cause confusion since it avoids the
    redundant signal keys (signals previously contained callsite
    info in 2 duplicate places).
  - The underlying implementation is simpler.
  - The util for manually getting coords is easier to use and doesn't
    require macro-time environment info, making it easier for folks
    to write wrapper macros that include line + column info.
  - When embedded, the new callsite info is shorter and easier for
    Cljs advanced compilation to de-duplicate (so helps reduce .js
    build size).

[1] Commit 1f99f7186b
2025-02-27 12:44:55 +01:00
Peter Taoussanis
1f99f7186b [mod] Signal content: drop :location, add :coords
This is a BREAKING change to get in before v1 final.

Signal keys BEFORE this commit:
  `:location` ---- ?{:keys [ns file line column]} signal creator callsite
  `:ns` ---------- ?str namespace of signal creator callsite, same as (:ns     location)
  `:line` -------- ?int line      of signal creator callsite, same as (:line   location)
  `:column` ------ ?int column    of signal creator callsite, same as (:column location)
  `:file` -------- ?str filename  of signal creator callsite, same as (:file   location)

Signal keys AFTER this commit:
  `:ns` ---------- ?str namespace of signal creator callsite
  `:coords` ------ ?[line column] of signal creator callsite

Motivation for the breaking change:

  The new callsite schema is simpler to use/override, reduces noise, and can reduce
  code expansion size (and so Cljs build size).

  - `:file` was rarely useful, but often added large embedded strings.
  - `:location` was redundant, and often difficult for Closure's
    advanced build to properly de-duplicate.

  This schema will be shared by Truss v2 and Tufte v3.
2025-02-27 12:44:30 +01:00
Peter Taoussanis
bb715fb206 [mod] OpenTelemetry: use standard attribute names when possible 2025-02-26 19:25:23 +01:00
Peter Taoussanis
2c5599c234 [nop] Update to Truss v2 2025-02-26 19:25:23 +01:00
Peter Taoussanis
2795a6cd52 [nop] Drop enc/pred pattern 2025-02-26 17:11:30 +01:00
Peter Taoussanis
94f13e44f9 [nop] Tweak macro hygiene 2025-02-24 21:56:38 +01:00
Peter Taoussanis
fc7e748ac8 [nop] Stop using optimised binding by default
The improved performance rarely matters in practice, and can
cause issues for folks using deep-walking macros.

Better solution would be to eventually get the optimisation
implemented upstream in Clojure core.
2025-02-24 10:28:24 +01:00
Peter Taoussanis
feb2f64f92 [nop] Drop codox docs 2025-02-20 22:56:30 +01:00
Peter Taoussanis
af14494637 [doc] Misc improvements 2025-02-12 09:18:44 +01:00
Peter Taoussanis
35606d971d [fix] [#45] spy! docstring typo (@rafd) 2025-01-22 14:52:38 +01:00
Peter Taoussanis
7d4aed60d8 [doc] Misc improvements 2025-01-22 14:52:38 +01:00
Peter Taoussanis
f984cdd213 [nop] Simplify dir structure 2025-01-14 10:35:25 +01:00