tailthemesbuy this theme · $39
Skip to content

Changelog

Every release here was written by the engineer who shipped it

If it changed how sgl behaves it is on this page, with a version you can pin.

latest v2.4.0updated 6 Aug 2026

showing 8 of 8 releases

v2.4.0

Deploy correlation for monorepos

One repository can now emit a deploy event per service, so a forty-package monorepo stops blaming every regression on the same commit.

  • addedmark-deploy@v2 takes a service matrix and fans out one event per changed package.
  • addedsgl trace --deploy <sha> scopes a trace search to a single release window.
  • improvedAttribution weights onset distance: a deploy 24s before onset now outranks one 9m before.
  • fixedRe-running a workflow no longer duplicates the deploy annotation.
v2.3.2

Sampling budget drift on long-lived workers

Processes that never restart drifted above their configured baseline rate, up to 4x on workers older than a week. Thanks to @tvoss for the reproduction.

  • fixedThe baseline sampler refills its token bucket on the hour instead of on process start.
  • fixedsgl doctor reports the effective sample rate, not the configured one.
v2.3.0

Trace-linked alerts

An alert now arrives carrying the three slowest traces that triggered it, so the notification is the first step of the investigation rather than a reason to go find one.

  • addednotify targets accept templates, including trace_url and deploy_url.
  • addedConditions can hold for up to 24h, for slow-burn error budgets.
  • improvedEvaluation moved into the collector: median notification latency 41s to 6s.
v2.2.1

Faster cold queries

Long windows no longer scan raw spans when a rollup will do.

  • improvedQueries spanning more than 7d hit columnar rollups; p95 query time down 71%.
  • fixedGrouping by route dropped routes containing an encoded slash.
v2.2.0

Self-hosted collector (beta)

Run the ingest path inside your own network. Raw spans never leave the VPC; only aggregates are forwarded, and only if you ask them to be.

  • addedSingle static binary for linux/amd64, linux/arm64 and darwin/arm64. No queue, no cluster.
  • addedsgl collector verify checks disk headroom, clock skew and OTLP reachability before cutover.
  • improvedIngest memory ceiling is configurable per pipeline.
v2.1.0

sgl diff

Compare two windows, or two deploys, without building a dashboard for a question you will ask once.

  • addedsgl diff <a> <b> across latency, error rate and throughput, per route.
  • added--format json, for piping into incident notes.
v2.0.0

Signal 2.0

The CLI, the query language and the storage engine, rebuilt around one idea: a deploy is an event like any other, and it belongs on the same timeline as the latency it changed.

  • addedDeploy timeline on every chart and every alert.
  • addedNew query syntax: by, where, since, compare.
  • improvedIngest throughput per collector core up 3.4x.
  • breakingsignal.yaml is replaced by signal.config.ts. sgl migrate config converts it in place.
~/payments — sgl migrate config
$ sgl migrate config

  ▲ breaking     signal.yaml → signal.config.ts
    converted    14 alerts · 3 pipelines
    written      signal.config.ts · signal.yaml.bak
    unchanged    ingest keys, service names

  → sgl doctor --config signal.config.ts
v1.9.4

Housekeeping

Small edges, filed down.

  • fixedShell completions no longer emit a stray carriage return on Windows.
  • fixedsgl login honours HTTPS_PROXY.

Release cadence

216

releases since 2024

median between minors
6 days
breaking changes
1 since 2.0

Every release back to 1.0 stays installable: sgl upgrade --to 2.1.0

Your next regression already has a commit

Install the CLI, point one service at the collector, and the next deploy annotates itself.

sgl init --service payments-worker
  • $0.42 per ingested GB after sampling
  • Free under 5 GB a month, 30-day retention
  • No credit card, no sales call
  • Self-host the collector whenever you want