-
v0.2.0 — new drop 🔥
Stablereleased this
2026-02-22 10:15:10 +00:00 | 19 commits to main since this releasethe webhook era — yeet logs to Matrix chat AND a security glow up 🪝🔒🔥
the biggest drop yet no cap. whole new package for webhook logging, two new CLI commands, security hardening that would make a boomer guru cry tears of joy, and a live hookshot integration demo. 213 tests all passing. we cooked HARD this release bestie 🏆
added —
LittyLogs.Webhookspackage 🪝- whole new NuGet package for yeeting logs to Matrix chat via hookshot webhooks
AddLittyMatrixLogs()one-liner extension method — same energy as the other litty-logs setups- async batching engine using
Channel<T>— groups messages by interval (2s default) or count (10 default), your app thread NEVER blocks 👑 - Polly resilience via
Microsoft.Extensions.Http.Resilience— retry with exponential backoff, circuit breaker, per-request timeout. if the webhook is bricked we drop the batch and keep vibing, never crashes your app 🔒 IHttpClientFactorywith named client"LittyWebhooks"— proper socket management no socket exhaustion- min level filtering — default
Warningso your group chat dont get spammed with trace logs 💀 - custom username support — show up in chat as
LittyBot9000or whatever you want - exceptions wrapped in markdown code blocks so they render nice in chat
- Matrix hookshot format with full emoji support because JSON is UTF-8 native
added —
dotnet litty packCLI command 📦- wraps
dotnet packand rewrites the boring nupkg output into gen alpha slang Successfully created packagelines show the filename with "cooked and ready to yeet to NuGet" energyPack succeeded/Pack FAILEDget the full litty treatment- falls back to build rewriter for restore, compile, warnings, errors, timing
just litty-packrecipe added to justfile
added —
dotnet litty publishCLI command 📤- wraps
dotnet publishwith transforms for publish-specific output - self-contained, trimming, ReadyToRun, native code gen, compressing — all litty-fied
- publish artifact paths get "packed and ready to ship" energy
- falls back to build rewriter for all the standard MSBuild lines
added — security hardening 🔒
- SSRF prevention — webhook URLs validated at registration time with scheme restriction to
http/httpsonly.file://,ftp://,gopher://and other sketchy schemes get yeeted withArgumentException. fail at startup not at 3am bestie - log injection prevention — newlines in text format messages (
\r\n,\n,\r) sanitized to spaces. blocks fake log entry injection. JSON format already safe viaUtf8JsonWriter - markdown injection prevention — webhook messages backslash-escape markdown syntax (
[]()!*_etc) so tracking pixels and phishing links render as literal text in chat, not as clickable/renderable markdown - HTTP category filtering —
System.Net.Http,Microsoft.Extensions.Http, andPollycategories routed toNullLogger.Instancein the webhook provider. prevents infinite recursion (webhook POST → HTTP log → webhook POST → ...) AND accidental webhook URL token exposure in logs docs/security.md— full security documentation covering trust model, whats protected, and security reporting
added — webhook example with live hookshot support 🪝🔥
examples/LittyLogs.Example.Webhooks— seventh example project- mock mode (default) — spins up local
HttpListener, captures payloads, displays raw JSON and chat preview - live mode — set
HOOKSHOT_URLenv var to hit a real Matrix hookshot. logs actually land in your room no cap - two demos: default Warning+ config and custom Trace+ with LittyBot9000 username
added —
just re-releaserecipe 🔄- one command to un-brick a release when you forgot the changelog or need a do-over
- nukes old releases on forgejo + github, deletes tags everywhere, re-does the gitflow release
- non-fatal errors on cleanup steps so it keeps vibing even if some stuff is already gone
- requires
.envwithFORGEJO_PATandGH_PAT
changed — test count 🧪
- 213 tests all passing (up from ~150 in the expansion pack era)
- webhook tests cover formatter, options, logger, provider, writer, integration, URL validation, markdown sanitization
- pack rewriter tests cover all transforms + build fallback
- publish rewriter tests cover all transforms + edge cases
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
LittyLogs.0.2.0.nupkg
0 downloads ·
2026-02-22 10:16:29 +00:00 · 17 KiB -
LittyLogs.File.0.2.0.nupkg
0 downloads ·
2026-02-22 10:16:29 +00:00 · 18 KiB -
LittyLogs.Tool.0.2.0.nupkg
0 downloads ·
2026-02-22 10:16:29 +00:00 · 363 KiB -
LittyLogs.Webhooks.0.2.0.nupkg
0 downloads ·
2026-02-22 10:16:29 +00:00 · 20 KiB -
LittyLogs.Xunit.0.2.0.nupkg
0 downloads ·
2026-02-22 10:16:29 +00:00 · 12 KiB