logixlysia@6.11.0
Minor Changes
- 6a63c83: The error line now carries
error.causefor an error thrown with{ cause }, normalized the same way as the error itself and cut at three levels.HttpErroracceptscausein its init object; likeinternal, it is logged and never serialized into the response. - 0d64086: The OTLP and HyperDX adapters now set the log record’s native
traceId,spanIdandflagsfromcontext.trace_id,context.span_idandcontext.trace_flags, so backends join logs to their traces; the attributes are kept too.logixlysia/otelgainsotelEnricher(), so active-span ids can be attached throughconfig.enrichersinstead of a hand-writtenonRequesthook.
Patch Changes
- ffd2a30: An awaited adapter
flush()orclose()now keeps the retry backoff timer alive, so a process whose only pending work is that call no longer exits in the middle of a retry and loses the batch. A background retry still lets the process exit. An error response body is now read to 1 KB at most instead of in full. - 98b7487:
mergeAIMetricsnow keeps a running total per request: token counts,msToFinishandcallsare summed across calls, andmodel,providerandfinishReasonkeep the last call’s values. Before, each call replaced the previous one on the access line. - 7f2ce8d: A tail-sampling glob with more than two single
*wildcards in one path segment is now rejected at startup, and path rules skip pathnames longer than 2048 characters, so a crafted URL can no longer pin the event loop in the matcher.userAgentEnricherparses at most the first 512 characters of the header. - cf52f7b: Transports now receive the request URL without its query string unless
logQueryParamsistrue, the same rule the console and file sinks already follow. Before, query parameters such as OAuth codes and signed-URL tokens reached every adapter even with the option off. - 2a4d281: With
aot: false, an error that a lateronErrorhook maps to another status (for example 418 with a body) now logs that status and level, the same as theaot: truepath. Before, the line carried the thrown error’s own status, usually 500. - 0ad5167:
withRedactionno longer waits for the wrapped transport to send its batch before redacting the next record, so wrapping a batching adapter no longer caps throughput at one batch per round trip and no longer drops records as “queue full” during a slow send.flush()andclose()still wait for every delivery that was handed over.