Skip to content

chore: release - #4

Merged
vitalics merged 1 commit into
mainfrom
changeset-release/main
Jul 21, 2026
Merged

chore: release#4
vitalics merged 1 commit into
mainfrom
changeset-release/main

Conversation

@github-actions

@github-actions github-actions Bot commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@youneed/cli-plugin-otel@0.2.0

Minor Changes

  • d16e110: New packages: OpenTelemetry integration (real OTel SDK) across all framework levels. @youneed/otel is the shared core — env-aware config (OTEL_* env vars), Node (startNodeOtel) and Web (startWebOtel) SDK wiring with OTLP/HTTP trace + metric export, W3C traceparent propagation helpers and an instrumentedFetch for client spans (plugs straight into @youneed/http-client). On top of it: @youneed/server-plugin-otel (SERVER span per request with remote-parent extraction, http.server.* metrics, ctx.state.span facade for logger correlation), @youneed/cli-plugin-otel (span + metrics per command, flushed before exit), @youneed/dom-provider-otel (render/effect/event spans in the browser, flush on pagehide), @youneed/test-plugin-otel (a span per test with steps and failure status, test.* metrics) and @youneed/logger-plugin-otel (trace_id/span_id/trace_flags stamped on every log record). The zero-dep @youneed/server-middleware-trace + @youneed/server-plugin-otlp remain as the SDK-free alternative.
  • d16e110: Provider-level OTEL on every framework level. @youneed/otel gains createOtelApi() — the shared contributed surface (span/spanAsync child spans + counter/histogram delegating to the process-wide global metrics). New integrations: server otelProvider() (a ControllerProvider giving controllers a typed this.otel with per-request traceId/spanId read from the ambient request, working for HTTP handlers and WS JSON-RPC alike), test OtelFixture (@Test.use(OtelFixture) or otel = OtelFixture.get() — child spans nesting under the test span, process-wide metrics shared across all tests), and the new package @youneed/ssr-plugin-otel (otelModule() — an SsrModule producing ssr.render <url> spans + ssr.render.* metrics for static page renders, nesting under @youneed/server-plugin-otel when present). The cli (otelCommand) and dom (otelProvider) contributed apis also gain counter(name)/histogram(name) — additive, no breaking changes.

Patch Changes

  • Updated dependencies [d16e110]
  • Updated dependencies [d16e110]
  • Updated dependencies [d16e110]
    • @youneed/otel@0.2.0

@youneed/dom-provider-otel@0.2.0

Minor Changes

  • d16e110: New packages: OpenTelemetry integration (real OTel SDK) across all framework levels. @youneed/otel is the shared core — env-aware config (OTEL_* env vars), Node (startNodeOtel) and Web (startWebOtel) SDK wiring with OTLP/HTTP trace + metric export, W3C traceparent propagation helpers and an instrumentedFetch for client spans (plugs straight into @youneed/http-client). On top of it: @youneed/server-plugin-otel (SERVER span per request with remote-parent extraction, http.server.* metrics, ctx.state.span facade for logger correlation), @youneed/cli-plugin-otel (span + metrics per command, flushed before exit), @youneed/dom-provider-otel (render/effect/event spans in the browser, flush on pagehide), @youneed/test-plugin-otel (a span per test with steps and failure status, test.* metrics) and @youneed/logger-plugin-otel (trace_id/span_id/trace_flags stamped on every log record). The zero-dep @youneed/server-middleware-trace + @youneed/server-plugin-otlp remain as the SDK-free alternative.
  • d16e110: Provider-level OTEL on every framework level. @youneed/otel gains createOtelApi() — the shared contributed surface (span/spanAsync child spans + counter/histogram delegating to the process-wide global metrics). New integrations: server otelProvider() (a ControllerProvider giving controllers a typed this.otel with per-request traceId/spanId read from the ambient request, working for HTTP handlers and WS JSON-RPC alike), test OtelFixture (@Test.use(OtelFixture) or otel = OtelFixture.get() — child spans nesting under the test span, process-wide metrics shared across all tests), and the new package @youneed/ssr-plugin-otel (otelModule() — an SsrModule producing ssr.render <url> spans + ssr.render.* metrics for static page renders, nesting under @youneed/server-plugin-otel when present). The cli (otelCommand) and dom (otelProvider) contributed apis also gain counter(name)/histogram(name) — additive, no breaking changes.

Patch Changes

  • Updated dependencies [d16e110]
  • Updated dependencies [d16e110]
  • Updated dependencies [d16e110]
    • @youneed/otel@0.2.0

@youneed/logger-plugin-otel@0.2.0

Minor Changes

  • d16e110: New packages: OpenTelemetry integration (real OTel SDK) across all framework levels. @youneed/otel is the shared core — env-aware config (OTEL_* env vars), Node (startNodeOtel) and Web (startWebOtel) SDK wiring with OTLP/HTTP trace + metric export, W3C traceparent propagation helpers and an instrumentedFetch for client spans (plugs straight into @youneed/http-client). On top of it: @youneed/server-plugin-otel (SERVER span per request with remote-parent extraction, http.server.* metrics, ctx.state.span facade for logger correlation), @youneed/cli-plugin-otel (span + metrics per command, flushed before exit), @youneed/dom-provider-otel (render/effect/event spans in the browser, flush on pagehide), @youneed/test-plugin-otel (a span per test with steps and failure status, test.* metrics) and @youneed/logger-plugin-otel (trace_id/span_id/trace_flags stamped on every log record). The zero-dep @youneed/server-middleware-trace + @youneed/server-plugin-otlp remain as the SDK-free alternative.

Patch Changes

  • Updated dependencies [d16e110]
  • Updated dependencies [d16e110]
  • Updated dependencies [d16e110]
    • @youneed/otel@0.2.0

@youneed/otel@0.2.0

Minor Changes

  • d16e110: New global-metrics API on both metrics stacks: useGlobalCounter(name, opts?) and useGlobalHistogram(name, opts?) return process-wide shared instruments — the same name always yields the same underlying metric, so a metric like url_calls can be declared once (e.g. at the top of a test file) and reused by app code, middleware and every test instead of being re-created per test. In @youneed/otel the OTEL instrument is created lazily on first use after startNodeOtel/startWebOtel (the metrics api has no late binding) and stays a no-op without an SDK; in @youneed/server-middleware-metrics the series render in every GET /metrics exposition next to the built-ins. Also fixes a pre-existing double-counting bug in the Prometheus histogram buckets (per-bucket counts were stored cumulatively AND rendered cumulatively, inflating every le above the first) — http_request_duration_seconds_bucket values are now correct.
  • d16e110: New packages: OpenTelemetry integration (real OTel SDK) across all framework levels. @youneed/otel is the shared core — env-aware config (OTEL_* env vars), Node (startNodeOtel) and Web (startWebOtel) SDK wiring with OTLP/HTTP trace + metric export, W3C traceparent propagation helpers and an instrumentedFetch for client spans (plugs straight into @youneed/http-client). On top of it: @youneed/server-plugin-otel (SERVER span per request with remote-parent extraction, http.server.* metrics, ctx.state.span facade for logger correlation), @youneed/cli-plugin-otel (span + metrics per command, flushed before exit), @youneed/dom-provider-otel (render/effect/event spans in the browser, flush on pagehide), @youneed/test-plugin-otel (a span per test with steps and failure status, test.* metrics) and @youneed/logger-plugin-otel (trace_id/span_id/trace_flags stamped on every log record). The zero-dep @youneed/server-middleware-trace + @youneed/server-plugin-otlp remain as the SDK-free alternative.
  • d16e110: Provider-level OTEL on every framework level. @youneed/otel gains createOtelApi() — the shared contributed surface (span/spanAsync child spans + counter/histogram delegating to the process-wide global metrics). New integrations: server otelProvider() (a ControllerProvider giving controllers a typed this.otel with per-request traceId/spanId read from the ambient request, working for HTTP handlers and WS JSON-RPC alike), test OtelFixture (@Test.use(OtelFixture) or otel = OtelFixture.get() — child spans nesting under the test span, process-wide metrics shared across all tests), and the new package @youneed/ssr-plugin-otel (otelModule() — an SsrModule producing ssr.render <url> spans + ssr.render.* metrics for static page renders, nesting under @youneed/server-plugin-otel when present). The cli (otelCommand) and dom (otelProvider) contributed apis also gain counter(name)/histogram(name) — additive, no breaking changes.

@youneed/server-middleware-metrics@0.2.0

Minor Changes

  • d16e110: New global-metrics API on both metrics stacks: useGlobalCounter(name, opts?) and useGlobalHistogram(name, opts?) return process-wide shared instruments — the same name always yields the same underlying metric, so a metric like url_calls can be declared once (e.g. at the top of a test file) and reused by app code, middleware and every test instead of being re-created per test. In @youneed/otel the OTEL instrument is created lazily on first use after startNodeOtel/startWebOtel (the metrics api has no late binding) and stays a no-op without an SDK; in @youneed/server-middleware-metrics the series render in every GET /metrics exposition next to the built-ins. Also fixes a pre-existing double-counting bug in the Prometheus histogram buckets (per-bucket counts were stored cumulatively AND rendered cumulatively, inflating every le above the first) — http_request_duration_seconds_bucket values are now correct.

@youneed/server-middleware-rate-limit@0.2.0

Minor Changes

  • 8bd5bb6: New LeakyBucket rate-limit strategy (+ "leaky-bucket" shorthand): requests pour into a bucket that drains at leakPerSec — an instant burst up to capacity, then a strict one-per-interval pace. Implemented in the GCRA form (theoretical arrival time with burst tolerance (capacity - 1) · interval), the classic Nginx limit_req model — stable rejection boundaries where a naive water-level check flaps. The full built-in set is now: FixedWindow ("fixed"), SlidingWindowLog ("sliding"), TokenBucket ("token-bucket"), LeakyBucket ("leaky-bucket"), ExponentialBackoff ("exponential").

    Also new: factory functions for every strategy — fixedWindow(), slidingWindow(), tokenBucket(), leakyBucket(), exponentialBackoff(), kvFixedWindow(kv) — matching the middleware-family convention (cors(), helmet(), metrics(), tracing()). rateLimit({ strategy: tokenBucket({ capacity: 50, refillPerSec: 5 }) }) is now the primary documented form; the classes (for subclassing) and the string shorthands keep working unchanged.

    Per-strategy deep imports — @youneed/server-middleware-rate-limit/strategies/fixedWindow.js (plus slidingWindow.js, tokenBucket.js, leakyBucket.js, exponentialBackoff.js, kvFixedWindow.js) — each subpath exports the class, the factory and the config type.

    And the provider form: rateLimitProvider() — a ControllerProvider injecting this.rateLimit so controllers can drive the limiter themselves: check(key?) (verdict + X-RateLimit-* headers) and enforce(key?) (+ Retry-After and a 429 HttpError when limited), keyed off the ambient request like the middleware. For per-endpoint limits, conditional limiting, and multiple checks per request.

@youneed/server-plugin-otel@0.2.0

Minor Changes

  • d16e110: New packages: OpenTelemetry integration (real OTel SDK) across all framework levels. @youneed/otel is the shared core — env-aware config (OTEL_* env vars), Node (startNodeOtel) and Web (startWebOtel) SDK wiring with OTLP/HTTP trace + metric export, W3C traceparent propagation helpers and an instrumentedFetch for client spans (plugs straight into @youneed/http-client). On top of it: @youneed/server-plugin-otel (SERVER span per request with remote-parent extraction, http.server.* metrics, ctx.state.span facade for logger correlation), @youneed/cli-plugin-otel (span + metrics per command, flushed before exit), @youneed/dom-provider-otel (render/effect/event spans in the browser, flush on pagehide), @youneed/test-plugin-otel (a span per test with steps and failure status, test.* metrics) and @youneed/logger-plugin-otel (trace_id/span_id/trace_flags stamped on every log record). The zero-dep @youneed/server-middleware-trace + @youneed/server-plugin-otlp remain as the SDK-free alternative.
  • d16e110: Provider-level OTEL on every framework level. @youneed/otel gains createOtelApi() — the shared contributed surface (span/spanAsync child spans + counter/histogram delegating to the process-wide global metrics). New integrations: server otelProvider() (a ControllerProvider giving controllers a typed this.otel with per-request traceId/spanId read from the ambient request, working for HTTP handlers and WS JSON-RPC alike), test OtelFixture (@Test.use(OtelFixture) or otel = OtelFixture.get() — child spans nesting under the test span, process-wide metrics shared across all tests), and the new package @youneed/ssr-plugin-otel (otelModule() — an SsrModule producing ssr.render <url> spans + ssr.render.* metrics for static page renders, nesting under @youneed/server-plugin-otel when present). The cli (otelCommand) and dom (otelProvider) contributed apis also gain counter(name)/histogram(name) — additive, no breaking changes.

Patch Changes

  • Updated dependencies [d16e110]
  • Updated dependencies [d16e110]
  • Updated dependencies [d16e110]
    • @youneed/otel@0.2.0

@youneed/ssr-plugin-otel@0.2.0

Minor Changes

  • d16e110: Provider-level OTEL on every framework level. @youneed/otel gains createOtelApi() — the shared contributed surface (span/spanAsync child spans + counter/histogram delegating to the process-wide global metrics). New integrations: server otelProvider() (a ControllerProvider giving controllers a typed this.otel with per-request traceId/spanId read from the ambient request, working for HTTP handlers and WS JSON-RPC alike), test OtelFixture (@Test.use(OtelFixture) or otel = OtelFixture.get() — child spans nesting under the test span, process-wide metrics shared across all tests), and the new package @youneed/ssr-plugin-otel (otelModule() — an SsrModule producing ssr.render <url> spans + ssr.render.* metrics for static page renders, nesting under @youneed/server-plugin-otel when present). The cli (otelCommand) and dom (otelProvider) contributed apis also gain counter(name)/histogram(name) — additive, no breaking changes.

Patch Changes

  • Updated dependencies [d16e110]
  • Updated dependencies [d16e110]
  • Updated dependencies [d16e110]
    • @youneed/otel@0.2.0

@youneed/test-plugin-otel@0.2.0

Minor Changes

  • d16e110: New packages: OpenTelemetry integration (real OTel SDK) across all framework levels. @youneed/otel is the shared core — env-aware config (OTEL_* env vars), Node (startNodeOtel) and Web (startWebOtel) SDK wiring with OTLP/HTTP trace + metric export, W3C traceparent propagation helpers and an instrumentedFetch for client spans (plugs straight into @youneed/http-client). On top of it: @youneed/server-plugin-otel (SERVER span per request with remote-parent extraction, http.server.* metrics, ctx.state.span facade for logger correlation), @youneed/cli-plugin-otel (span + metrics per command, flushed before exit), @youneed/dom-provider-otel (render/effect/event spans in the browser, flush on pagehide), @youneed/test-plugin-otel (a span per test with steps and failure status, test.* metrics) and @youneed/logger-plugin-otel (trace_id/span_id/trace_flags stamped on every log record). The zero-dep @youneed/server-middleware-trace + @youneed/server-plugin-otlp remain as the SDK-free alternative.
  • d16e110: Provider-level OTEL on every framework level. @youneed/otel gains createOtelApi() — the shared contributed surface (span/spanAsync child spans + counter/histogram delegating to the process-wide global metrics). New integrations: server otelProvider() (a ControllerProvider giving controllers a typed this.otel with per-request traceId/spanId read from the ambient request, working for HTTP handlers and WS JSON-RPC alike), test OtelFixture (@Test.use(OtelFixture) or otel = OtelFixture.get() — child spans nesting under the test span, process-wide metrics shared across all tests), and the new package @youneed/ssr-plugin-otel (otelModule() — an SsrModule producing ssr.render <url> spans + ssr.render.* metrics for static page renders, nesting under @youneed/server-plugin-otel when present). The cli (otelCommand) and dom (otelProvider) contributed apis also gain counter(name)/histogram(name) — additive, no breaking changes.

Patch Changes

  • Updated dependencies [d16e110]
  • Updated dependencies [d16e110]
  • Updated dependencies [d16e110]
    • @youneed/otel@0.2.0

@vercel

vercel Bot commented Jul 20, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
youneed Ready Ready Preview, Comment Jul 21, 2026 10:39am

@github-actions
github-actions Bot force-pushed the changeset-release/main branch from cfc7a73 to 1eb400a Compare July 21, 2026 10:37
@vitalics
vitalics merged commit 788cbbc into main Jul 21, 2026
3 checks passed
@vitalics
vitalics deleted the changeset-release/main branch July 21, 2026 13:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant