Repository navigation
0.26.0 - 2026-09-02
Release Notes
- 馃挜 BREAKING CHANGE 馃挜
registry live-checkandregistry infernow bind their OTLP and HTTP admin listeners to127.0.0.1instead of0.0.0.0, so they no longer listen on every local address by default. Pass--otlp-grpc-address(live-check) or--grpc-address(infer) to bind a specific interface, or0.0.0.0for all of them. The admin listener now binds to the same address as the OTLP listener rather than always to0.0.0.0. (#1740 by @lmolkova) - Add selectable Rustls crypto providers (
crypto-ring,crypto-aws-lc,crypto-openssl,crypto-openssl-vendored,crypto-symcrypt), withcrypto-ringas the default. (#1712 by @lquerel) - Add resolve configuration to allow overriding schema URLs for dependencies in
weaver.yamland.weaver.toml. (#1693 by @jsuereth) - Add
entity_refsandlookup_entityto thesemconvRego library, so anafter_resolutionpolicy can read the entity definition that anentity_associationsleaf names, including one a dependency defines.entity_refswalks theone_ofandall_oflevels of an association. (#1719 by @jerbly) - Add a
lookup_entityJinja function, which turns anentity_associationsleaf into the entity definition it names, forweaver registry generateon a v2 registry. (#1718 by @jerbly) - Live-check now follows a v2
entity_associationsreference into a dependency, or to an entity refinement, neither of which the checker could see before: those entities went unchecked, so a resource missing their required attributes passed clean. A Rego advice policy can read the same v2 definitions, asdata.entities. (#1716 by @jerbly) - 馃挜 BREAKING CHANGE 馃挜 An
entity_associationsleaf in the materialized schema now says which registry defines the entity, as the published schema already did. A leaf that was the bare namehostis now{ type: host, provenance: { source: <schema url> } }, and a leaf with no provenance means this registry defines it. A template, jq filter or Rego policy that read the leaf as a string reads.typeinstead, and theserveUI and its API are updated too. (#1710 by @jerbly) dependenciesin the materialized (forge) schema is now a map keyed by schema url holding each registry once, and thedependency_graphgives the direct dependencies of each. (#1730 by @jerbly)- Fix a legacy
type: resourcegroup converting to a v2 entity whose type carried the group-id prefix. The entity type now comes from the group'sname, as it always did for imports, and falls back to the id when the group has none. Everyresourcegroup of semconv v1.33.0 has this shape, soresource.hostbecame the entityresource.hostrather thanhost, and anentity_associationsentry naminghostmatched nothing. (#1704 by @jerbly) - 馃挜 BREAKING CHANGE 馃挜 (v2 only) The resolution no longer strips a leading
entity.orspan.prefix from the type. I.e. an entity authored astype: entity.testnow keeps the typeentity.testinstead oftest. (#1704 by @jerbly) - Report two groups whose ids differ but that take one id in the v2 output, as a warning. A v2 signal id drops the group-type prefix, so the groups
entity.hostandhostboth become the entityhostand the second silently replaced the first. (#1704 by @jerbly) - 馃挜 BREAKING CHANGE 馃挜 Resolve every
entity_associationsentry, and record which registry defines the entity it names. A name that nothing in scope defines now fails resolution, as does one that two dependencies each declare an unrelated entity under. A private entity (dependency_resolution.exclude) satisfies an association only for a signal that is private too. In the v2 resolved schema an association leaf is now an object ({ type, provenance }) instead of a bare entity type;provenance.sourceindexesdependenciesand is absent for an entity of this registry. (#1704 by @jerbly) - Disallow
stabilityanddeprecatedon v2 attribute references. (#1720 by @lmolkova) - Report an
importspattern that matched nothing in any dependency, as a warning. A typo or a stale name was previously dropped in silence. (#1701 by @jerbly) - Fix a span imported from a v2 dependency losing the
sampling_relevantsetting on its attributes. This is per-span state, held on the span's attribute reference rather than on the catalog attribute, so the import path never read it. Refining such a span was unaffected. (#1694 by @jerbly) - Fix
importsnever matching a legacytype: resourceentity in a dependency. Such a group sets nonameand holds its entity type in the group id, so the matcher now matches the group id as well as the name. (#1694 by @jerbly) - Fix a definition reached by two paths through the dependency graph being imported twice, which produced duplicate groups and misleading duplicate-declaration warnings. Imported groups are now deduplicated as the per-dependency results are joined. (#1694 by @jerbly)
- Restore support for dependencies declared by
name+registry_pathin legacy (v1) manifests. (#1696 by @lmolkova) - Fix the v2 conversion dropping an attribute that has no
stabilityfrom the signal that declares it. The catalog lookup required the field to be present, so an entity could be published with an emptyidentity. A missing stability now converts todevelopment, the documented default, instead ofalpha. (#1695 by @jerbly) - Fix elements inherited from a transitive dependency being reported as locally defined. A resolved schema's
dependenciesset is the table thatDependencyRefprovenance indexes into, but it listed only direct dependencies, so anything reaching the registry through a dependency-of-a-dependency had no entry to point at. It now records the full closure. (#1655 by @jerbly) - Fix provenance and resolution of attributes inherited from dependencies. (#1669 by @lmolkova)
- Drop signal refinements from the forge v1 schema representation. (#1676 by @lmolkova)
- Refactor semantic convention v1 and v2 models and schemas into dedicated modules. (#1732 by @jsuereth)
- Live-check: preserve instrumentation scope through OTLP ingestion, expose it to Rego policies, and render it in standard output. (#1605 by @McGluut)
- Live-check: add support for OTel Profiles (#1698 by @flehner)
Install weaver 0.26.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/open-telemetry/weaver/releases/download/v0.26.0/weaver-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/open-telemetry/weaver/releases/download/v0.26.0/weaver-installer.ps1 | iex"Download weaver 0.26.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>