Releases · evloghq/evlog · GitHub
Skip to content

Releases: evloghq/evlog

evlog@2.34.0

Choose a tag to compare

@github-actions github-actions released this 26 Oct 18:54
785279e

What's Changed

Features 🚀

  • The evlog/vite plugin now reads evlog.config.ts from the Vite root, the same file the CLI, Nuxt and Nitro read, so Vite-based apps (TanStack Start, React Router, SvelteKit, Astro) can keep their settings in the shared file by @evlogai[bot] in #918

Bug Fixes 🐞

  • pnpm dlx evlog <command> and pnpm dlx @evlog/cli <command> work on pnpm 11 instead of hanging by @evlogai[bot] in #946
  • The Nitro plugin and the client ingest route no longer throw Cannot read properties of undefined (reading 'catch') on every request under Nitro 3 by @nathanchase in #927

Continuous Integration 🔄

  • ci: add a sandbox job for the loki and clickhouse e2e by @evlogai[bot] in #939

Documentation 📚

  • docs: use npx evlog for one-off evlog and skills commands by @HugoRCD in #950
  • 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(deps): update all non-major dependencies by @renovate[bot] in #957
  • chore(deps): update all non-major dependencies by @renovate[bot] in #955

Changelog: https://github.com/evloghq/evlog/blob/evlog@2.34.0/packages/evlog/CHANGELOG.md#2340
Full Changelog: https://github.com/evloghq/evlog/compare/evlog@2.33.1...evlog@2.34.0

@evlog/signals@0.2.2

Choose a tag to compare

@github-actions github-actions released this 26 Oct 18:54
785279e

What's Changed

Dependency Updates 📦

  • chore(deps): update all non-major dependencies by @renovate[bot] in #957
  • EvaluationQuestion and EvaluationAnswer cover only the boolean, choice and score types a signal asks by @renovate[bot] in #955

Changelog: https://github.com/evloghq/evlog/blob/@evlog/signals@0.2.2/packages/signals/CHANGELOG.md#022
Full Changelog: https://github.com/evloghq/evlog/compare/@evlog/signals@0.2.1...@evlog/signals@0.2.2

@evlog/cli@0.11.1

Choose a tag to compare

@github-actions github-actions released this 26 Oct 18:54
785279e

What's Changed

Bug Fixes 🐞

  • evlog logs and the NuxtHub log viewer now show the HTTP status of an error from error.status, falling back to error.statusCode for files written before v3 by @evlogai[bot] in #949
  • evlog init now writes evlog.config.ts with process.env.NODE_ENV in place of import.meta.dev for Nuxt, Nitro and TanStack Start, the same condition Next, Hono, Express and Fastify already used by @evlogai[bot] in #945

Documentation 📚

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

Dependency Updates 📦

  • chore(deps): update all non-major dependencies by @renovate[bot] in #957
  • chore(deps): update all non-major dependencies by @renovate[bot] in #955

Changelog: https://github.com/evloghq/evlog/blob/@evlog/cli@0.11.1/packages/cli/CHANGELOG.md#0111
Full Changelog: https://github.com/evloghq/evlog/compare/@evlog/cli@0.11.0...@evlog/cli@0.11.1

evlog@3.0.0-beta.1

evlog@3.0.0-beta.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 26 Oct 19:40
25177b4

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

@evlog/cli@1.0.0-beta.1

Pre-release

Choose a tag to compare

@github-actions github-actions released this 26 Oct 19:40
25177b4

What's Changed

Features 🚀

  • evlog upgrade moves createLoggerStorage imports and re-exports from evlog/toolkit to evlog/toolkit/storage by @HugoRCD in #954
  • evlog upgrade renames the removed credential options to apiKey by @HugoRCD in #953
  • evlog upgrade rewrites createPostHogEventsDrain(options) to createPostHogDrain({ mode: 'events', ...options }) and PostHogEventsConfig to PostHogConfig by @HugoRCD in #953
  • Add evlog upgrade, which migrates a project to evlog 3 by @evlogai[bot] in #870
  • evlog init writes the Nitro import for the evlog major installed in the project by @HugoRCD in #936

Bug Fixes 🐞

  • @evlog/cli now installs next to evlog 2.31 and later as well as 3.0 betas by @evlogai[bot] in #920

Documentation 📚

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

Other Changes 🔨

  • chore: merge main into v3 by @HugoRCD in #960
  • feat(cli): rename the axiom and better stack credential options in evlog upgrade by @HugoRCD in #952
  • docs: group the v3 migration guide and match its anchors to the upgrade findings by @HugoRCD in #948
  • docs: document link wherever why and fix are by @HugoRCD in #934

Changelog: https://github.com/evloghq/evlog/blob/@evlog/cli@1.0.0-beta.1/packages/cli/CHANGELOG.md#100-beta1
Full Changelog: https://github.com/evloghq/evlog/compare/@evlog/cli@1.0.0-beta.0...@evlog/cli@1.0.0-beta.1

evlog@2.33.1

Choose a tag to compare

@github-actions github-actions released this 18 Oct 21:21
ef7e9ad

What's Changed

Bug Fixes 🐞

  • createEvlogHooks().handleError and evlogHandleError() now accept SvelteKit 3's handleError input (kind, error, event) and type-check as Kit 3's HandleServerError by @HugoRCD in #913
  • The bearer redaction built-in now runs before every other built-in, so a Bearer token is masked whole by @HugoRCD in #906
  • 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 #906
  • 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 #906
  • log.set() only merges plain objects by @HugoRCD in #906

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

evlog@2.33.0

Choose a tag to compare

@github-actions github-actions released this 17 Oct 15:04
0f50684

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

@evlog/telemetry@0.3.5

Choose a tag to compare

@github-actions github-actions released this 17 Oct 15:03
0f50684

@evlog/signals@0.2.1

Choose a tag to compare

@github-actions github-actions released this 17 Oct 15:07
0f50684

What's Changed

Bug Fixes 🐞

  • The published packages no longer ship .map files by @evlogai[bot] in #895
  • fix: serialize RegExp redact patterns across the nuxt and nitro config bridges by @evlogai[bot] in #794

Dependency Updates 📦

  • chore(deps): update all non-major dependencies by @renovate[bot] in #769

Changelog: https://github.com/evloghq/evlog/blob/@evlog/signals@0.2.1/packages/signals/CHANGELOG.md#021
Full Changelog: https://github.com/evloghq/evlog/compare/@evlog/signals@0.2.0...@evlog/signals@0.2.1

@evlog/cli@0.11.0

Choose a tag to compare

@github-actions github-actions released this 17 Oct 15:03
0f50684

What's Changed

Features 🚀

  • evlog init offers Grafana Loki and ClickHouse as production destinations by @evlogai[bot] in #882
  • evlog init offers Sazabi as a production destination by @evlogai[bot] in #881

Bug Fixes 🐞

  • The published packages no longer ship .map files by @evlogai[bot] in #895
  • evlog doctor and evlog init now recognise an app that reaches evlog only through a wrapper package, such as a shared @acme/logger that calls createEvlog, the same way evlog map already does by @evlogai[bot] in #887
  • evlog map recognises evlog helpers imported from a package that wraps evlog, such as a shared @acme/logger that calls createEvlog in a workspace by @HugoRCD in #869

Changelog: https://github.com/evloghq/evlog/blob/@evlog/cli@0.11.0/packages/cli/CHANGELOG.md#0110
Full Changelog: https://github.com/evloghq/evlog/compare/@evlog/cli@0.10.0...@evlog/cli@0.11.0