github evloghq/evlog evlog@3.0.0-beta.1

latest release: @evlog/cli@1.0.0-beta.1
pre-release2 hours ago

What's Changed

Breaking Changes ๐Ÿ’ฅ

  • Two optional peer ranges change by @HugoRCD in #938
  • evlog/nitro is the Nitro 3 module, and the nitropack (Nitro 2) module moves to evlog/nitro/v2 by @HugoRCD in #936
  • The HTTP error body sent by the Nitro, Nuxt and SvelteKit error handlers carries the status in status and the text in message only by @HugoRCD in #937
  • EvlogError no longer has the statusCode, statusText and statusMessage getters, deprecated since 2.x by @HugoRCD in #935
  • A logged EvlogError carries code, why, fix and link once, at the top of error by @evlogai[bot] in #900
  • status is optional on EvlogError, on createError() options, and on error catalog entries (defineErrorCatalog, defineError) by @evlogai[bot] in #900
  • OTLP records default to the compact shape with OpenTelemetry semantic convention attributes by @HugoRCD in #933
  • Remove createPostHogEventsDrain() and the PostHogEventsConfig type from evlog/posthog by @HugoRCD in #931
  • Remove the deprecated credential aliases by @HugoRCD in #930
  • createLoggerStorage is no longer exported from evlog/toolkit by @HugoRCD in #932
  • Remove the evlog/browser entry by @HugoRCD in #929

Features ๐Ÿš€

  • HyperDX and Sazabi now accept semanticConventions, and HyperDX also accepts recordShape, so a 2.x user can keep the 2.x output with recordShape: 'json' and semanticConventions: false by @evlogai[bot] in #944
  • feat(vite): read evlog.config.ts in the vite plugin by @evlogai[bot] in #918

Bug Fixes ๐Ÿž

  • fix(nitro): accept an undefined callHook result when draining by @nathanchase in #927
  • log.set(), emit() and the redaction production turns on by default do less work per event by @HugoRCD in #905
  • The bearer redaction built-in now runs before every other built-in, so a Bearer token is masked whole by @HugoRCD in #910
  • The iban redaction built-in masks a spaced IBAN whole when creditCard is also on, as it is with the default redact: true by @HugoRCD in #907
  • A cycle in the context passed to createLogger() or createRequestLogger(), or in the fields passed to emit(), is logged as '[Circular]', as it already was for set() by @HugoRCD in #907
  • log.set() only merges plain objects by @HugoRCD in #907
  • Keep evlog 3's process-wide state apart from evlog 2 by @HugoRCD in #902

Documentation ๐Ÿ“š

  • docs: use pnpm dlx for one-off evlog and skills commands by @HugoRCD in #922

Tests ๐Ÿงช

  • test(effect): check a failed unit's Sentry issue shares the wide event trace id by @JustYannicc in #921

Dependency Updates ๐Ÿ“ฆ

  • chore: stop publishing source maps by @evlogai[bot] in #860
  • chore(repo): require node 22 or later by @evlogai[bot] in #861

Other Changes ๐Ÿ”จ

  • chore: merge main into v3 by @HugoRCD in #960
  • test(core): cover status-less EvlogError across integrations and tail sampling by @evlogai[bot] in #941
  • docs: document link wherever why and fix are by @HugoRCD in #934
  • test(bench): compare loggers on equivalent output, add LogTape and LogLayer by @HugoRCD in #909
  • chore(repo): drop 2.33 changesets left on v3 after 3.0.0-beta.0 by @evlogai[bot] in #904
  • fix(core): log errors with status only, drop statusCode, statusText and statusMessage by @evlogai[bot] in #894

Changelog: https://github.com/evloghq/evlog/blob/evlog@3.0.0-beta.1/packages/evlog/CHANGELOG.md#300-beta1
Full Changelog: https://github.com/evloghq/evlog/compare/evlog@2.33.1...evlog@3.0.0-beta.1

Don't miss a new evlog release

NewReleases is sending notifications on new releases.