Repository navigation
0.27.0 - 2026-10-02
Release Notes
- Support virtual-directory format for
--advice-policiesand--advice-datain live-check. (#1760 by @lmolkova) - 馃挜 BREAKING CHANGE 馃挜
registry live-check --output http:POST /stopno longer returns the report. It stops the run and returns once the report is ready. Read the report with the newGET /report, then end the process with the newPOST /shutdown. Reading the report is no longer tied to the process exiting, so large reports are never truncated. In this mode--inactivity-timeoutis ignored: the client owns the run. Fixes #1657. (#1770 by @jerbly) - Live-check reports now retain OTLP context on their samples, including span and log trace IDs, timestamps, span-event and link context, and metric data-point timing. OTLP finding logs are correlated with their source spans. (#1749 by @clarsen)
- Live-check matchers (#1721 by @jerbly)
- Added
[[live-check.matchers]]. A matcher uses a CEL expression to select samples, and names the v2 signal and attribute groups they are checked against. v2 registries only. - A matcher's
attribute_groupslists the attribute groups allowed on a sample. Their definitions are used for the attribute checks, but an attribute missing from the sample is not reported. To enforce a group's requirement levels, name it in the newstrict_attribute_groups. A signal's own attributes are always enforced. - A
span_eventmatcher cannot name asignal. A semantic convention event is a log-based event, and a span event has a different data model, so the two are not comparable. A span event's attributes are checked withattribute_groupsorstrict_attribute_groups, or with a Rego policy, and span events do not count toward event coverage. (#1793 by @jerbly) - New findings:
kind_mismatchandunexpected_attribute. A v2 metric or log raisesunexpected_attributeagainst the signal its name resolves to, or against the matcher's signal when a matcher setssignal. - By default, a v2 registry compares an attribute with the signal and attribute groups of its match. With
search_all_attributes, it also searches the whole registry and its dependencies. v1 is unchanged. - Every sample's result holds a
match_infowith the signal, the attribute groups, and what each applied matcher contributed. - Statistics count the samples each matcher matched and errored on. A matcher that matched nothing is reported as a warning.
- Added
-D/--paramand--paramsto pass parameters to the output template. The ansi format readsshow_finding_id, which labels a finding with its id instead of its level. - Added Matchers, a guide with a worked example for each sample type. Corrected the config section in the live-check and config READMEs from
[live_check]to[live-check]. The underscore form was silently ignored.
- Added
- 馃挜 BREAKING CHANGE 馃挜 Fix live-check treating any key that starts with a template's name as an instance of it:
http.request.headers.hostno longer matches the templatehttp.request.header, and now raisesmissing_attribute. A dot must follow the template name. The namespace separator is a fixed.throughout, soregistry mcp --namespace-separatorand its[mcp] namespace_separatorconfig key are removed. Fixes #1743 - (#1775 by @jerbly) - Config sections are checked when they are read. A command section in
.weaver.tomlthat does not deserialize, or an unknown key under[live-check], now stops the run instead of being ignored. (#1721 by @jerbly) - 馃挜 BREAKING CHANGE 馃挜 Fixes #1741
registry inferrenames--grpc-addressand--grpc-portto--otlp-grpc-addressand--otlp-grpc-portto matchregistry live-check. Its listener settings move from[infer]to[infer.otlp](grpc_address,grpc_port,admin_port,inactivity_timeout), the same shape as[live-check.otlp], and an unknown key under[infer]now stops the run. (#1780 by @jerbly) - Fix findings on resource samples being emitted without the resource's attributes. (#1612 by @fabiovincenzi)
- Fix: a
refto an attribute of a published (packaged) dependency resolving asrequiredwhen it sets norequirement_level. It now takes the default,recommended, as it already did when the dependency is resolved from source. A new signal, an attribute group, or a refinement adding an attribute its parent does not carry were all affected. (#1789 by @jerbly) - Fix signals imported from a published (packaged) dependency adding their attributes to the importing registry's
registry.attributes, as if it defined them. A dependent registry could thenrefthose attributes through it, reaching past the dependencies it declares. An imported span, metric, event, entity or attribute group now records each attribute as a reference to the registry that defines it, as it already did when the dependency is resolved from source. (#1790 by @jerbly) - Fix an attribute group imported from a published (packaged) dependency being left out of the resolved v2 registry. A published registry holds only public groups, so an imported group is now public and kept, with its requirement levels, as it already was when the dependency is resolved from source. (#1791 by @jerbly)
Install weaver 0.27.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/open-telemetry/weaver/releases/download/v0.27.0/weaver-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/open-telemetry/weaver/releases/download/v0.27.0/weaver-installer.ps1 | iex"Download weaver 0.27.0
| File | Platform | Checksum |
|---|---|---|
| weaver-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| weaver-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| weaver-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| weaver-x86_64-pc-windows-msvc.msi | x64 Windows | checksum |
| weaver-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| weaver-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
| weaver-aarch64-unknown-linux-musl.tar.xz | ARM64 MUSL Linux | checksum |
| weaver-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo open-telemetry/weaverYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>