github evloghq/evlog evlog@2.33.0

What's Changed

Features ๐Ÿš€

  • Add evlog/effect for Effect 4, in beta by @JustYannicc in #855
  • feat(cli): offer loki and clickhouse in evlog init by @evlogai[bot] in #882
  • feat(sazabi): list the sazabi adapter across docs and offer it in evlog init by @evlogai[bot] in #881
  • Warn at runtime when a removed v2 API is used by @evlogai[bot] in #872
  • Add issues to the Sentry drain by @JustYannicc in #856

Bug Fixes ๐Ÿž

  • log.set() no longer exposes fields hidden by a toJSON method when the same key is set twice by @evlogai[bot] in #898
  • The published packages no longer ship .map files by @evlogai[bot] in #895
  • HTTP drains now retry a 408 Request Timeout response, with the same backoff and attempt limit as 429 and 5xx by @HugoRCD in #893
  • evlog/eve reports ai.model and ai.provider again on eve 0.76, which moved the model id from session.started to step.started by @HugoRCD in #892
  • Fix the Nuxt client ingest endpoint (/api/_evlog/ingest) answering 500 to a request whose Origin is null, as sandboxed iframes send, or whose Referer is not a URL by @HugoRCD in #890
  • Fix the local stream server (startStreamServer, stream: true in Nuxt and Next.js) accepting browser pages from other sites when no token is set by @HugoRCD in #889
  • A wide event no longer gets lost when the same plain object is logged as a field and then thrown as an error's data, for example log.warn('failed', { error: payload }) followed by throw createError({ data: payload }) by @nathanchase in #884
  • Fix the built-in email and jwt redaction patterns, which took quadratic time on long strings by @HugoRCD in #867
  • In the browser, errors are serialized the way the server logger does it by @HugoRCD in #877
  • The Sentry drain's issues option now reads an error's status before its legacy statusCode when it decides whether an event is a 4xx by @evlogai[bot] in #880
  • In the browser, an Error inside an event field is now serialized the same way as log.error(err), with name, message, stack, cause and fields such as status and statusCode, instead of being sent as {} by @vasilistotskas in #875
  • A logged error no longer carries the data or internal fields that its own toJSON leaves out, on the server and in the browser, whether passed as log.error(err) or inside an event by @vasilistotskas in #875
  • Send the evlog SDK identity to Sentry by @evlogai[bot] in #866
  • Send Datadog log batches gzip-compressed by @evlogai[bot] in #865
  • Split Datadog log batches into requests of at most 1000 entries by @evlogai[bot] in #863
  • Split Sentry log batches into envelopes of at most 100 logs by @evlogai[bot] in #864

Documentation ๐Ÿ“š

  • docs: fix the datadog gzip changeset, document datadog request splitting and cover sentry issues in e2e by @HugoRCD in #876

Tests ๐Ÿงช

  • test(core): cover a proto key merged into an existing event field by @HugoRCD in #888
  • test(bench): record benchmark baseline and add report-only CI comparison by @evlogai[bot] in #873

Refactoring ๐Ÿ› 

  • refactor: clear pre-existing typecheck errors in nitro, nuxt and runtime by @evlogai[bot] in #871

Performance Improvements โšก๏ธ

  • perf: upgrade to nuxt 4.6, drop nuxt studio and trim the docs bundle by @HugoRCD in #853

Changelog: https://github.com/evloghq/evlog/blob/evlog@2.33.0/packages/evlog/CHANGELOG.md#2330
Full Changelog: https://github.com/evloghq/evlog/compare/evlog@2.32.0...evlog@2.33.0

Don't miss a new evlog release

NewReleases is sending notifications on new releases.