From eeeec834b8294013884f297c8e27f356897284d3 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 23:02:19 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=A6=8B=20New=20version=20release?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .changeset/session-scoped-sampling.md | 12 ------------ packages/core/CHANGELOG.md | 12 ++++++++++++ packages/core/package.json | 2 +- 3 files changed, 13 insertions(+), 13 deletions(-) delete mode 100644 .changeset/session-scoped-sampling.md diff --git a/.changeset/session-scoped-sampling.md b/.changeset/session-scoped-sampling.md deleted file mode 100644 index bf53016..0000000 --- a/.changeset/session-scoped-sampling.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -'@smooai/observability': minor ---- - -SMOODEV-2698 (ADR-097 W1+W2): session-scoped browser log sampling, config-served telemetry settings, and the cross-language parity corpus. - -- `sampleDecision(id, ratio)` — deterministic FNV-1a 32-bit over the UTF-8 bytes of the session/trace id, so the decision is stable for a page's lifetime and reproducible byte-identically in the Rust/Python/Go/.NET SDKs. Ratio 0.0/1.0 are exact. -- `shouldEmitLog(...)` — one decision point: kill switch → minimum level → warnings/errors always 100% → trace decision inherited where a trace exists → otherwise the session decision. Sampling is per session, never per line, so any trace you can open has 100% of its log lines. -- `loadTelemetrySettings(provider)` / `resolveTelemetrySettings(raw)` — `@smooai/config` public-tier telemetry settings read through an injectable provider seam (the SDK never imports a config client, so it stays usable with no network). Unreachable, malformed, or out-of-range values fall back to the compiled-in ADR-010 defaults, never to "sample everything out". -- `parseTraceparent` / `formatTraceparent` — the first real W3C trace-context implementation in this SDK; strict, rejects all-zero ids. -- `normalizeLevel` — canonical UPPERCASE levels, because ADR-096's error-rate query is case-sensitive. -- `parity/sampling-corpus.json` — 170 committed golden vectors every language SDK asserts against in its own CI lane. diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index 3f49839..25b9b92 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -1,5 +1,17 @@ # @smooai/observability +## 0.12.0 + +### Minor Changes + +- a071796: SMOODEV-2698 (ADR-097 W1+W2): session-scoped browser log sampling, config-served telemetry settings, and the cross-language parity corpus. + - `sampleDecision(id, ratio)` — deterministic FNV-1a 32-bit over the UTF-8 bytes of the session/trace id, so the decision is stable for a page's lifetime and reproducible byte-identically in the Rust/Python/Go/.NET SDKs. Ratio 0.0/1.0 are exact. + - `shouldEmitLog(...)` — one decision point: kill switch → minimum level → warnings/errors always 100% → trace decision inherited where a trace exists → otherwise the session decision. Sampling is per session, never per line, so any trace you can open has 100% of its log lines. + - `loadTelemetrySettings(provider)` / `resolveTelemetrySettings(raw)` — `@smooai/config` public-tier telemetry settings read through an injectable provider seam (the SDK never imports a config client, so it stays usable with no network). Unreachable, malformed, or out-of-range values fall back to the compiled-in ADR-010 defaults, never to "sample everything out". + - `parseTraceparent` / `formatTraceparent` — the first real W3C trace-context implementation in this SDK; strict, rejects all-zero ids. + - `normalizeLevel` — canonical UPPERCASE levels, because ADR-096's error-rate query is case-sensitive. + - `parity/sampling-corpus.json` — 170 committed golden vectors every language SDK asserts against in its own CI lane. + ## 0.11.0 ### Minor Changes diff --git a/packages/core/package.json b/packages/core/package.json index 5b5e27b..c635dc1 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@smooai/observability", - "version": "0.11.0", + "version": "0.12.0", "description": "Smoo AI Observability SDK — OTel-first error capture, traces, metrics, and React/Next.js integrations in a single package with subpath exports", "license": "MIT", "repository": {