All notable changes to this project will be documented in this file.
- 💥 BREAKING CHANGE 💥 Use
schema_urlto track registries consistently in lineage / provenance (#1298 by @jsuereth)
- Fix: Update release workflow for pnpm migration (use pnpm lockfile instead of npm lockfile). (#1289 by @jerbly)
- Add support for git references in the registry url (#182 by @sebasnabas)
- New feature (#1153) - Live-check now has a
/healthendpoint that can be used in long-running scenarios to confirm readiness and liveness of the live-check server. (#1193 by @jerbly) - New feature (#1100) - Set
--output=httpto have live-check send its report as the response to/stop. (#1193 by @jerbly) - Unified output handling across all registry subcommands. Builtin output formats (json, yaml, jsonl) are now available in
registry stats,registry diff, andregistry resolve.registry statsalso supports--templatesfor custom text output templates. (#1200 by @jerbly) - New feature (#1152) - Live-check with
--emit-otlp-logswill now include the attributes from the resource in the emitted log record, this helps to identify the source of the finding in a multi-source environment. (#1206 by @jerbly) - New Experimental feature:
weaver registry infercommand that listens for OTLP telemetry and infers a semantic convention registry file from the received data. Supports spans, metrics, events, and resource attributes. Includes configurable gRPC address/port, admin server for graceful shutdown, and inactivity timeout. (#1138 by @ArthurSens) - Fix: Include unit in inferred schema even if empty to prevent live-check failures. (#1284 by @ArthurSens)
- Use
schema_urlin registry manifest, dependencies, and resolved schema instead ofregistry_url. Parse registry name and version from it. (#1202 by @lmolkova) - Default to
manifest.yamlfor registry manifest file, deprecateregistry_manifest.yamland add warning when it's used. (#1202 by @lmolkova) - 💥 BREAKING CHANGE 💥 (Fixes #760) - Auto-escaping is now off by default (
none) for all templates, regardless of file extension. To opt in, setauto_escape: htmlorauto_escape: jsonper template inweaver.yaml. Within a template,{% autoescape false %}blocks can selectively disable escaping for sections. Use|tojsonfor explicit JSON/YAML value escaping where needed. (#1239 by @jerbly) - 💥 BREAKING CHANGE 💥 Replace
version: "2"withfile_format: definition/2for v2 definition schema (#1154 by @lmolkova) - Add JSON schema for resolved registry v2 (#1261 by @lmolkova)
- Add
weaver registry packagecommand to generate manifest and write resolved schema. (#1254 by @lmolkova) - Fix:
weaver registry packagecommand not producing output due to warnings. (#1271 by @lmolkova) - Update JSON Schema v2 to include
file_format(#1262 by @lmolkova) - Add JSON schema for
PolicyFinding, makecontextfield optional. (#1270 by @lmolkova) - Deprecate
weaver registry resolvecommand, please useweaver registry generateorpackageinstead (#1255 by @lmolkova) - Support
importsfor all signal types and public attribute groups in v2 registry. (#1267 by @jsuereth) - Support refinements in v2 syntax: metric names, notes, etc. are now copied from the refined group. (#1250 by @jsuereth)
- Fix stability/ordering issues in v2 publishing; attributes are now sorted and deduplicated consistently. (#1282 by @jsuereth)
- Fix resolution for dependencies: both v1 and v2 resolution now returns the correct attribute from the right registry when using dependencies. (#1280 by @lmolkova)
- JQ helper v2 for spans: fixes and improvements. (#1251 by @lmolkova)
- Fix 404 on template-type attributes in the
weaver serveAPI. (#1240 by @jerbly) - New Experimental feature:
weaver serveUI migrated to React. (#1147 by @nicolastakashi) - New feature: out-of-the-box markdown documentation templates for generating signal documentation (metrics, spans, events, attributes, resources) from a semantic conventions registry. (#1166 by @vesari)
- New Experimental feature:
weaver servecommand to serve a REST API and web UI. (#1076 by @jerbly) - Add support for diff schemas in
registry json-schema(#1105 by @lmolkova) - 💥 BREAKING CHANGE 💥 Upgraded JSON schema generation to 2020-12 version of JSON Schema. (#1125 by @jerbly)
- New Experimental feature:
weaver registry mcpMCP server for a registry with search, get and live_check tools. (#1113 by @jerbly) - Fix (#1133) - Live-check: correctly handle
--no-statsin report mode. (#1142 by @jerbly) - Feature (#1132) - Live-check: builtin output rendering for json, jsonl and yaml. (#1157 by @jerbly)
- Add support for V2 schema in
weaver diff(#1053 by @jsuereth) - Add support for V2 schema in JQ helpers (#1058 by @lmolkova)
- Add support for V2 schema in weaver_forge (#980 by @jsuereth)
- Add support for V2 schema in
weaver check(#1016 by @jsuereth) - Add support for V2 schema in
emit(#1019 by @jerbly) - Add support for V2 schema in
live-check(#1022 by @jerbly) - 💥 BREAKING CHANGE 💥
ViolationandAdvicehave been renamed toPolicyFinding. We now use the same structure between all rego policies in weaver. (#1038 by @jsuereth) - Add Log support for emit and live-check (#1042 by @jerbly)
- Add OTLP log emission for policy findings in live-check. Whenever a PolicyFinding is created, a log_record is emitted to your configured OTLP endpoint. (#1045 by @jerbly)
- Deprecate
weaver registry searchcommand. This command is not compatible with V2 schema and will be removed in a future version. Users should search the generated documentation instead. (#1057 by @jerbly) - Add support for continuous live-check sessions with
--inactivity-timeout=0,--output=noneand--no-stats(#1066 by @jerbly)
- Add support for attribute_group (public and internal) in schema v2 (#933 by @lmolkova)
- Live-check report changes (#943 by @lmolkova)
- 💥 BREAKING CHANGE 💥
valueproperty inAdviceis renamed toadvice_context - Advice now contains
signal_typeandsignal_nameproperties to simplify post-processing - Message format is changed to include all dynamic details about the advice
- 💥 BREAKING CHANGE 💥
- The target and the
registrysub-directory are now optional for theweaver registry generatecommand. (#962 by @lquerel) - Deterministic sorting of output (#982 by @kuklyy)
- Fix panic in
update-markdown(#990 by @jsuereth) - Cleanup log output (#995 by @lmolkova)
- Fail when JQ filters fail (#894 by @lmolkova)
- Update cargo-dist (#905 by @jerbly)
- Update OTLP support to 1.7 (#907 by @jerbly)
- Add debug logs for template config loading (#934 by @lmolkova)
- Always serialize brief and registry_url (#929 by @jsuereth)
- Fail when template doesn't match a file (#928 by @lmolkova)
- Fix error messages to ignore new version variants (#880 by @jsuereth)
- Filter based on deprecation, stability, and annotations in signal JQ helpers (#870 by @lmolkova)
- Documentation and Repo cleanup (#873 by @lquerel))
- Support structured deprecation info on enum members. (#823 by @lmolkova)
- Don't serialize default values and empty arrays when resolving semantic conventions. (#822 by @lmolkova)
- Add support for registry dependency chain, a->b->c. This pattern is useful when making narrow application registries that depend on a corporate registry based on the OpenTelemetry semantic conventions. Max depth is 10. (#856 by @jerbly)
- Improve doc usage section (#851 by @tombrk)
- Fix github release actions.
- Reverts the
value_typefeature. (#816 by @jerbly) - Adds annotations to enum members (#812 by @lmolkova)
- Add
importssection to semconv spec. Custom registries can now import groups by name or by wildcard. (#769 by @lquerel) - Add support for metrics to
registry emit(#767 by @jerbly) - Adds
value_typeto metric:intordouble. Data-point and exemplar values are live-checked. (#773 by @jerbly)
- Improve the quality of error messages emitted by Weaver (#759 by @lquerel)
- Remove deprecated
allow_custom_valuesfrom the codebase and YAML files (#758 by @trisch-me) As a result of this change,allow_custom_valueswill be ignored in registry version 1.26.0, which was the last version to support it.
- Add support for metrics in Live Check. (#728 by @jerbly)
- Fix #750 - Dual registry resolves incorrectly. (#753 by @lquerel)
- Fail on unstructured
deprecatednote (behind--futureflag) (#737 by @lmolkova)
- Add support for attributes of type
any. (#707 by @lquerel) - Add shell completion functionality. (#682 by @larrys)
- Add support for remote templates and policies. (#700 by @lquerel)
- Add Live Check for Spans via OTLP/JSON and loose Attributes via JSON/Text. (#630 by @jerbly)
- 💥 BREAKING CHANGE 💥
resourcegroups are now calledentitygroups. All JQ helper methods have been updated, but any template directly interacting withgroup.typemay be broken. Useentityinstead ofresourcegroup type in your Jinja templates. (#714 by @jsuereth) - 💥 BREAKING CHANGE 💥 - All logging and diagnostics now go to
stderr. Override diagnostics with--diagnostic-stdout. (#721 by @jerbly) - Support for simplified Template Type Examples format where the key/attribute name is no longer included. (#710 by @jerbly)
What's changed
- Add support for 2 semconv registries. (#627 by @lquerel).
- Add support for annotations on attributes and groups. (#645 by @lquerel).
- 💥 BREAKING CHANGE 💥 - Upgrade to version 0.4.0 of regorus requires all v0 policies to be modified. Policy upgrade instructions here may help. (#651 by @jerbly).
- Stability level
Deprecatedis deprecated. Conventions should be deprecated viadeprecatedfield and should keep the original stability. (#607 by @lmolkova). - 💥 BREAKING CHANGE 💥 The
constraintsfeature is no longer supported in semantic conventions yaml schema. The earliest version of semantic convention weaver is able to read has moved to 1.26.0. (#611 by @lmolkova). - Make
typeproperty required on the semantic convention group (behind--futureflag). (#611 by @lmolkova). - Exclude attributes declared with
code_generation.excludeannotations insemconv_attributesand other JQ attribute helpers. (#662 by @lmolkova) - Sort metrics by name in all JQ helpers. (#573 by @lmolkova)
What's changed
- Add a
notefield to all deprecated variants and generate a formatted value when not provided in the semconv files. (#602 by @lquerel).
What's changed
- For issue #596 - Fix the Jinja deprecated test to accept the new deprecated format. (#597 by @lquerel).
What's changed
-
Breaking Change: Introduced a new
weaver registry diffcommand to generate a diff report between two versions of the semantic convention registry. This PR introduces a breaking change in the semantic conventions schema. While the text-baseddeprecatedfield is still supported for compatibility reasons, future semantic conventions should use the newdeprecatedstructured format. (#400 by @lquerel).- The
deprecatedfield is now a structured field defining the precise reason for deprecation. The semantic conventions must be updated to adopt this new format. - The changes related to the
deprecatedfield (i.e., string → struct) also have a potential impact on certain templates that reference thedeprecatedfield as containing text. These templates will need to be updated to use thebrieffield, which provides a textual explanation of the reasons for the deprecation.
- The
-
Improvement of comment generation: removal of
<p>tags that precede@Javadoc tags. (#574 by @trask). -
For Issue #564 - Require attributes and event fields to have stability: Added warnings for missing stability on: Attributes, Enum members in attributes, Event AnyValues, Enum members in AnyValues. (#568 by @jerbly).
-
For issue [#569](Add include_stability config into semconv_grouped_attributes):
is_experimentalreturnstrueby default. (#570 by @jerbly). -
Added an OTLP receiver to Weaver to prepare for the
weaver registry live-checkcommand. (see #548 by @lquerel) -
Add is_array filter and test for AttributeType. (#540 by @arthurDiff).
-
Refactored CLI registry commands to remove some duplication. Resolving the registry with policy checks is common for
generate,resolveandcheck. (#536 by @jerbly).- Added missing
after_resolutionpolicy checks togenerateandresolvethrough the common code. - Removed the deprecated
--registry-git-sub-diroption. - Fixed bug in
checkif--skip-policieswas specified then it would not fail for any validation errors.
- Added missing
-
Semantic Conventions Issue #1513 - Make span_kind required in yaml and break down multi-kind span definitions - (#542 by @jerbly).
- Updated the EBNF and JSON schema to define
span_kindas mandatory forspangroup types. Added a group validity check as a warning.
- Updated the EBNF and JSON schema to define
-
First iteration of the new command:
registry emit. Emits a semantic convention registry as example spans to your OTLP receiver. This may be useful in testing/simulation scenarios. (#549 by @jerbly) -
For issue [#569](Add include*stability config into semconv_grouped_attributes): added
stable_onlyboolean flag as a parameter forsemconv_signal,semconv_grouped_attributes, and othersemconv*\*JQ semconv helpers. Whenstable_onlyis set totrue, corresponding helper function returns stable conventions only. If the flag is not set or set to false, stability filtering does not apply. It's recommended to usestable_onlyflag instead ofexclude_stabilityparameter. (#588 by @lmolkova)
What's changed
- Issue #502 - Support stability definitions from OTEP 232 - (#504 by @jerbly).
- Stability enum now has these variants:
stable,development,deprecated,alpha,beta,release_candidate unmaintainedis not supported yet.experimentalis still accepted when parsing but aliased todevelopment.- The minijinja test,
experimental, now returns true for any variant other thanstable. - EBNF and JSON schema updated to define the new enum without the
experimentalvariant.
- Stability enum now has these variants:
- Issue #301 - Warn against usage of
allow_custom_values. (#514 by @jerbly). - Fixed rego typos, attrigute and deprecaded (#517 by @jerbly).
- Create better HTML comment parser - Allow more semconv snippet headers (#512 by @jsuereth).
- Add javadoc
tag after lists (#511 @trask).
- Javadoc
tags should only precede paragraphs (#510 by @trask).
- More consistent newline behavior (#509 by @trask).
- Add test cases to cover a paragraph after a list (#508 by @trask).
Important note: Our CI/CD pipeline has been updated to use Rust cross-compilation, significantly speeding up the ARM target (see [#506](#506, thanks to @bernot-dev). If you encounter any issues on ARM, please let us know as soon as possible. Thank you!
What's changed
- Detect duplicate group ids, group names, and metric names. (#382 by lquerel).
- Add support for Maps
map[]to the definition of anAnyValue. (#396 by @MSNev). - Update semconv schema, syntax doc and validity check to correctly define
stabilityas optional for attribute groups. (#467 by @jerbly). - Fix issue #405 - Updated the EBNF and JSON schema to define the
extendsorattributesrequirement mandatory for all group types exceptmetricandevent. Added a group validity check as a warning. (#494 by @jerbly). - Allow adding a description when using opt_in requirement level (#392 by @joaopgrassi)
- Add warning that issues when using prefix on groups (#407 by @jsuereth)
- Update comment filter to remove trailing spaces (#453 by @jsuereth)
- Metrics and Events don't require attributes (#494 by @jerbly)
- Added an option to follow symbolic links when loading the registry in various parts of the codebase. (#468 by @leo6leo)
- Provide max line-length in comment filter. (#454 by @jsuereth)
What's changed
- Add support log based
eventdefinitions with abodyof newAnyValuetype. (#297 by @MSNev). - Add
escape_square_bracketsintocomment_formatsmarkdown configuration. (#379 by @lquerel). - Add
enforce_trailing_dotsinto thecomment_formatsconfiguration. (#378 by @lquerel). - Add support for
indent_typein both the comment filter and thecomment_formatsconfiguration. (#377 by @lquerel). - Add
regex_replacefilter to support replacing text using regex. (#380 by @lquerel). - Bump opentelemetry_sdk from 0.24.1 to 0.25.0 (#369)
- Bump opentelemetry-stdout from 0.5.0 to 0.25.0 (#368)
- Bump anyhow from 1.0.88 to 1.0.89 (#370)
- Bump regorus from 0.2.4 to 0.2.5 (#375)
- Bump minijinja-contrib from 2.2.0 to 2.3.1 (#376)
- Bump minijinja from 2.2.0 to 2.3.1 (#371)
- Bump globset from 0.4.14 to 0.4.15 (#366)
What's Changed
- Build X86 + ARM64 image (#346 by jsuereth). The parameter
--platform=linux/x86_64is no longer needed to run this image on MacOS. - Update docker guide for home directory (#356 by jsuereth).
- Fix clippy issues. (#357 by jsuereth).
- Bump alpine from 3.20.2 to 3.20.3 (#360)
- Bump anyhow from 1.0.86 to 1.0.87 (#359)
- Bump serde from 1.0.209 to 1.0.210 (#358)
- Bump serde_json from 1.0.127 to 1.0.128 (#354)
- Bump clap from 4.5.16 to 4.5.17 (#351)
- Bump regorus from 0.2.3 to 0.2.4 (#350)
- Bump indexmap from 2.4.0 to 2.5.0 (#349)
- Bump minijinja-contrib from 2.1.2 to 2.2.0 (#347)
- Bump ratatui from 0.28.0 to 0.28.1 (#341)
- Bump flate2 from 1.0.32 to 1.0.33 (#342)
- Bump minijinja from 2.1.2 to 2.2.0 (#343)
- Bump serde from 1.0.208 to 1.0.209 (#344)
- Bump serde_json from 1.0.125 to 1.0.127 (#340)
Fixes
- Warnings detected in the baseline registry are now ignored and non-fatal errors will not interrupt any command before it completes (#337 by lquerel).
What's Changed
- (#309 by lquerel) Configurable Comment Filter to Support Multiple Programming Language Comment Formats. More details in Weaver Force Doc and Weaver Configuration Doc.
- (#300 by lquerel) Validation for the examples attribute field.
- (#322, #312,
#319, #318,
#312, #304
by jsuereth) Many improvements have been made to the creation of the Weaver Docker image,
which is now scoring an A on the Scout Docker image score.
- Add Weaver docker image to dependabot tracking,
- Add build attestations,
- Stop using root user the docker image,
- Use official docker action to build docker image,
- Update docker to use release build.
- (#311 by MSNev) Fix
unknown.comtest reference issue. - (#307 by lmolkova) Move semconv schema definition from build tools.
- (#305 by lquerel) Detect root attribute name duplicates during the resolution process.
- (#294 by lquerel) Add template-level parameters and file_name per template config.
- (#327) Bump
regorusfrom 0.2.2 to 0.2.3. - (#326, #317, #302) Bump
clapfrom 4.5.13 to 4.5.16. - (#325, #313) Bump
serdefrom 1.0.205 to 1.0.208. - (#324) Bump
alpinefrom 3.18.3 to 3.20.2. - (#323) Bump
rustfrom 1.76.0-alpine3.18 to 1.78.0-alpine3.18. - (#320, #315, #287) Bump
serde_jsonfrom 1.0.122 to 1.0.125. - (#316) Bump
indexmapfrom 2.3.0 to 2.4.0. - (#314, #308) Bump
markdownfrom 1.0.0-alpha.18 to 1.0.0-alpha.20. - (#310) Bump
ratatui,textareaandcrosstermversion in lock-step. - (#303, #299, #293) Bump
tui-textareafrom 0.5.2 to 0.6.1. - (#298) Bump
ratatuifrom 0.27.0 to 0.28.0. - (#292) Bump
flate2from 1.0.30 to 1.0.31. - (#290) Bump
regexfrom 1.10.5 to 1.10.6. - (#286) Bump
crosstermfrom 0.27.0 to 0.28.1.
What's Changed
- (#257 by lquerel) Infrastructure to support backward-compatibility testing and, more generally, policies applied to multi-version registries.
weaver registry check \
--registry https://github.com/open-telemetry/semantic-conventions.git[model] \
--baseline-registry https://github.com/open-telemetry/semantic-conventions/archive/refs/tags/v1.26.0.zip[model] \
--policy compatibility_check.rego
- (#284 by MadVikingGod) The
--policyflag now accepts directories. - (#270 by @lquerel) Follow build tools’ case conversion rules. Numbers are no longer considered word splitters.
- (#276 by @jsuereth) Remove legacy way of writing templates for semconv.
- (#274 by @lquerel) Enhance error reporting for invalid JQ expressions.
- (#275 by @lquerel) The custom JQ filter semconv_grouped_metrics now sorts metrics by their metric_name (issue #268).
- (#256) Bump gix from 0.63.0 to 0.64.0.
- (#271) Bump jaq-parse from 1.0.2 to 1.0.3.
- (#272) Bump jaq-core from 1.5.0 to 1.5.1
- (#273) Bump toml from 0.8.16 to 0.8.17
- (#283) Bump minijinja from 2.1.0 to 2.1.1
What's Changed
- Add support for new custom semconv JQ filters by @lquerel.
- Update Weaver Forge documentation and include a step-by-step guide for codegen authors by @lquerel.
The following new filters have been added to the Weaver Forge:
semconv_group_attributes_by_root_namespace: Groups the attributes by their root namespace.semconv_attributes($options): Extracts and processes semantic convention attributes based on provided options. $options is an object that can contain:exclude_stability: a list of stability levels to exclude.exclude_deprecated: a boolean to exclude deprecated metrics.exclude_root_namespace: a list of root namespaces to exclude.
semconv_attributes: Convenience function to extract all attributes without any filtering options.semconv_grouped_attributes($options): Groups the processed attributes by their root namespace based on provided options. $options is an object that can contain:exclude_stability: a list of stability statuses to exclude.exclude_deprecated: a boolean to exclude deprecated metrics.exclude_root_namespace: a list of root namespaces to exclude.
semconv_grouped_attributes: Convenience function to group all attributes by their root namespace without any filtering options.semconv_group_metrics_by_root_namespace: Groups the metrics by their root namespace.semconv_metrics($options): Extracts and processes semantic convention metrics based on provided options. $options is an object that can contain:exclude_stability: a list of stability statuses to exclude.exclude_deprecated: a boolean to exclude deprecated metrics.exclude_root_namespace: a list of root namespaces to exclude.
semconv_metrics: Convenience function to extract all metrics without any filtering options.semconv_grouped_metrics($options): Groups the processed metrics by their root namespace based on provided options. $options is an object that can contain:exclude_stability: a list of stability statuses to exclude.exclude_deprecated: a boolean to exclude deprecated metrics.exclude_root_namespace: a list of root namespaces to exclude.
semconv_grouped_metrics: Convenience function to group all metrics by their root namespace without any filtering options.
What's Changed
- Support for Hierarchical Weaver Config: We have added support for hierarchical configuration in Weaver. This allows more flexible and powerful configuration management. For more details, please refer to the documentation on configuration file loading order and overriding rules. by @lquerel in #231
- Support for MiniJinja py_compat Extensions: This release includes support for MiniJinja py_compat extensions, enhancing compatibility with Python syntax. For more information, see the documentation. by @lquerel in #239
- @haidong made a first contribution in #237
What's Changed
- Add optional variant to requirement_level. by @MadVikingGod in #199
- Add semconv_const filter to support semantic convention namespacing rules. by @lquerel in #200
- Add display_name field. by @joaopgrassi in #202
- Bump regex from 1.10.4 to 1.10.5 by @dependabot in #205
- Bump clap from 4.5.6 to 4.5.7 by @dependabot in #206
- New entry in developer guide to describe the process of adding new fields in the semantic convention registry by @lquerel in #209
- Add Embed option for single attributes by @trisch-me in #212
- Bump include_dir from 0.7.3 to 0.7.4 by @dependabot in #213
- Add support for post-resolution policies by @lquerel in #214
- split_id filter is singular by @bryannaegele in #217
- Add Jinja whitespace control by @joaopgrassi in #224
- @MadVikingGod made their first contribution in #199
- @joaopgrassi made their first contribution in #202
- @trisch-me made their first contribution in #212
- @bryannaegele made their first contribution in #217
Full Changelog: https://github.com/open-telemetry/weaver/compare/v0.4.0...v0.5.0
What's Changed
- First cut at a developer's guide to help onboarding users. by @jsuereth in #166
- Detect and Process Policy Files into SemConv Registry + Generic Diagnostic Reporting by @lquerel in #153
- Bump gix from 0.62.0 to 0.63.0 by @dependabot in #170
- Update opentelemetry rust API by @lquerel in #169
- Bump serde from 1.0.202 to 1.0.203 by @dependabot in #176
- Support for loading templates from the file system or from an embedded representation in the app's binary. by @lquerel in #171
- Add support for List of Array examples. by @jerbly in #177
- Add distribution (binaries + installers) publishing workflows. by @jsuereth in #179
- Generate JSON Schema for both Resolved Telemetry Schema and Resolved Registry by @lquerel in #187
- Update README.md, fix Weaver checker link by @xrmx in #191
- Support command line parameters to add an additional layer of configurability in the documentation/code generator. by @lquerel in #195
Full Changelog: https://github.com/open-telemetry/weaver/compare/v0.3.0...v0.4.0
What's Changed
- Additional filters and tests by @lquerel in #163
instantiated_type: Filters a type to return the instantiated type.enum_type: Filters a type to return the enum type or an error if the type is not an enum.capitalize_first: Capitalizes the first letter of a string.map_textintroduces a second parameter to define the default value if the name of the text map or the input are not found in thetext_mapssection (optional parameter).enum: Tests if an attribute has an enum type.simple_type: Tests if a type is a simple type (i.e.: string | string[] | int | int[] | double | double[] | boolean | boolean[]).template_type: Tests if a type is a template type (i.e.: template[]).enum_type: Tests if a type is an enum type.
Full Changelog: https://github.com/open-telemetry/weaver/compare/v0.2.0...v0.3.0
Updates for Semantic Convention markdown generation, and beginnings of a suite of utilities for code generation.
What's Changed:
- Working rust codegen example by @lquerel in #136
- Markdown snippet generation now uses weaver_forge templating by @jsuereth in #141
- New Jinja filters and predicates for OTel by @lquerel in #143
attribute_sortfilter to weaver_forge by @jsuereth in #144- Expanding collection of filters by @lquerel in #162
- (chore) Removal of Old Tera Templates by @lquerel in #145
- (fix) Expand id parsing by @jsuereth in #152
- (fix) Update weaver to understand deprecated enum values. by @jsuereth in #139
Full Changelog: https://github.com/open-telemetry/weaver/compare/v0.1.0...v0.2.0
Initial release of OpenTelemetry weaver for usage in semantic-conventions repository.
This is a PREVIEW release, and stability guarantees are loose prior to 1.0.
What's Changed:
- The Weaver project, initially hosted by F5, has been moved to open-telemetry/weaver. The project's objectives have been redefined into two main phases/focuses: 1) semconv support, 2) application telemetry support.
- A Jinja-compatible template engine and a snippet-based generator have been completed and tested to support the semantic-convention repository. The template engine can be used for both documentation and code generation.
- A new policy engine (based on rego) has been added to the project to externalize the declaration of policies and to enhance the management, evolution, and maintainability of semantic conventions and application telemetry schemas. It leverages a set of rules or policies to ensure the coherence and quality of these conventions and schemas over time.
- A lot of documentation has been added to the entire project to make it easier to consume and contribute.
- A code coverage process has been implemented with the initial goal of keeping the project above 70% coverage.
- A process for cleaning up APIs has been initiated in anticipation of publishing the crates on crates.io. The weaver_semconv crate is the first to undergo this process.
- (registry) Improve resolved schema and registry api usability.
- (registry) Introduce the concept of named registries
- (stats) Implement registry stats command
- (resolve) Implement registry resolve command
- (template) Add a more complex example generating markdown files per group prefix
- (template) Reimplement template generation based on minijinja + jaq (jq-like filters)
- (cli) Add quiet mode
- (generator) Add support for all group types
- (generator) Add jq-like filter support to make artifact generation more flexible
- (generator) Complete the weaver registry generate command.
- (cli) Add update-markdown sub-command and align sub-command args in the registry command.
- (registry) Improve unit test to check the generated markdown
- (registry) Add unit test to check the generated markdown
- (registry) Generate markdown from jinja2 templates
- (template) Generate markdown files describing a registry
- (template) Add template syntax configuration
- (template) Initialize template engine with a root directory to support include clause.
- (template) Expose template.set_file_name method to dynamically define the file name of the output.
- (template) Generate registry from templates
- (resolve) Improve error reporting
- (resolve) Fix typo
- (resolve) Implement
includeconstraint - (resolve) Check
any_ofconstraints - (template) Integrate with minininja
- (template) Start integration of the case converter
- (template) Replace tera with minijinja to improve error handling
- (registry) Refactor registry sub-commands.
- (registry) Add
weaver check registrycommand - (resolver) Simplify semantic convention registry resolution function
- (resolution) Adjust other unit tests to take into account the fix
- (resolution) Make resolution process easy to test in unit tests
- (resolution) Fix resolution order
- (resolution) Create minimal example reproducing the bug
- (template) Add documentation to describe the template engine.
- Describe crates layout and add README.md files for every crates in the workspace.
- Clean up README.md
- (integration) Create integration test to check parsing and resolution of the official semconv repo.
- (coverage) Improve test coverage
- (coverage) Remove xtask and main command line from the code coverage
- (coverage) Apply
tarpaulincoverage to the entire workspace - (install) Add
cargo tarpaulinin the list of tools to install - (build) Trigger ci.yml workflow for all push and pull request
- (coverage) Add test code coverage with cargo tarpaulin
- (clippy) Add more clippy lints
- (clippy) Fix more clippy issues
- (clippy) Fix explicit_into_iter_loop clippy issue
- (git) Make the output dir invisible for git
- (changelog) Add git cliff configuration
- (code) Make error enums non-exhaustive
- (code) Implement #54
- (code) Fix str_to_string clippy lint issues
- (code) Implement #54 + new clippy lint rule
- (build) Fix doc lint issue
- (build) Fix GH action
- (build) Add xtask
- (build) Replace script/check_workspace with cargo xtask validate
- (build) Define lint rules globally from the cargo workspace
- (build) Clippy lint rules to remove unwrap and enforce must_use when needed
- (build) Fix clippy issues
- (doc) Update README.md to describe check and generate sub-commands
- (build) Fix clippy issue
- (build) Fix merge issue.
- (build) Update cargo lock
- (compatibility) Align attribute type and examples definitions
- (compatibility) Align requirement level definition
- (compatibility) Align stability definition
- (compatibility) Make resolved registry compatible with official registry syntax
- (clippy) Fix clippy lint issues
- (error) Improve compound error management
- (ci) Fix toolchain version issue
- (ci) Attempt to fix toolchain version issue
- (build) Fix ci workflow
- (build) Fix scripts path
- (build) Remove allowed-external-types.toml files from the Typos control.
- (build) Add control procedures for workspace and public API policies
- (build) Run build and test only with ubuntu target for now.
- (build) Remove macos target for the build (API rate limit reached, we need to figure out that later).
- Add cargo lock file.
- (dep) Bump dependency versions
- Migrate f5/otel-weaver repo to open-telemetry/weaver repo