diff --git a/CHANGELOG.md b/CHANGELOG.md index 3db0af6c..f5be9163 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,82 @@ All notable changes to this project will be documented in this file. +## [0.4.0] - 2024-06-04 + +What's Changed + +* First cut at a developer's guide to help onboarding users. by @jsuereth in https://github.com/open-telemetry/weaver/pull/166 +* Detect and Process Policy Files into SemConv Registry + Generic Diagnostic Reporting by @lquerel in https://github.com/open-telemetry/weaver/pull/153 +* Bump gix from 0.62.0 to 0.63.0 by @dependabot in https://github.com/open-telemetry/weaver/pull/170 +* Update opentelemetry rust API by @lquerel in https://github.com/open-telemetry/weaver/pull/169 +* Bump serde from 1.0.202 to 1.0.203 by @dependabot in https://github.com/open-telemetry/weaver/pull/176 +* Support for loading templates from the file system or from an embedded representation in the app's binary. by @lquerel in https://github.com/open-telemetry/weaver/pull/171 +* Add support for List of Array examples. by @jerbly in https://github.com/open-telemetry/weaver/pull/177 +* Add distribution (binaries + installers) publishing workflows. by @jsuereth in https://github.com/open-telemetry/weaver/pull/179 +* Generate JSON Schema for both Resolved Telemetry Schema and Resolved Registry by @lquerel in https://github.com/open-telemetry/weaver/pull/187 +* Update README.md, fix Weaver checker link by @xrmx in https://github.com/open-telemetry/weaver/pull/191 +* Support command line parameters to add an additional layer of configurability in the documentation/code generator. by @lquerel in https://github.com/open-telemetry/weaver/pull/195 + +## New Contributors +* @jerbly made their first contribution in https://github.com/open-telemetry/weaver/pull/177 +* @xrmx made their first contribution in https://github.com/open-telemetry/weaver/pull/191 + +**Full Changelog**: https://github.com/open-telemetry/weaver/compare/v0.3.0...v0.4.0 + + +## [0.3.0] - 2024-05-16 + +What's Changed + +- Additional filters and tests by @lquerel in https://github.com/open-telemetry/weaver/pull/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_text` introduces a second parameter to define the default value if the name of the text map or the input are not found in the `text_maps` section (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 + +## [0.2.0] - 2024-04-26 + +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 https://github.com/open-telemetry/weaver/pull/136 +- Markdown snippet generation now uses weaver_forge templating by @jsuereth in https://github.com/open-telemetry/weaver/pull/141 +- New Jinja filters and predicates for OTel by @lquerel in https://github.com/open-telemetry/weaver/pull/143 +- `attribute_sort` filter to weaver_forge by @jsuereth in https://github.com/open-telemetry/weaver/pull/144 +- Expanding collection of filters by @lquerel in https://github.com/open-telemetry/weaver/pull/162 +- (chore) Removal of Old Tera Templates by @lquerel in https://github.com/open-telemetry/weaver/pull/145 +- (fix) Expand id parsing by @jsuereth in https://github.com/open-telemetry/weaver/pull/152 +- (fix) Update weaver to understand deprecated enum values. by @jsuereth in https://github.com/open-telemetry/weaver/pull/139 + +**Full Changelog**: https://github.com/open-telemetry/weaver/compare/v0.1.0...v0.2.0 + +## [0.1.0] - 2024-04-24 + +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. + ## [unreleased] ### 🚀 Features diff --git a/Cargo.lock b/Cargo.lock index e1ed8202..05408a77 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3753,7 +3753,7 @@ dependencies = [ [[package]] name = "weaver" -version = "0.1.0" +version = "0.4.0" dependencies = [ "assert_cmd", "clap", @@ -3780,7 +3780,7 @@ dependencies = [ [[package]] name = "weaver_cache" -version = "0.1.0" +version = "0.4.0" dependencies = [ "dirs", "gix", @@ -3793,7 +3793,7 @@ dependencies = [ [[package]] name = "weaver_checker" -version = "0.1.0" +version = "0.4.0" dependencies = [ "globset", "miette", @@ -3808,7 +3808,7 @@ dependencies = [ [[package]] name = "weaver_codegen_test" -version = "0.1.0" +version = "0.4.0" dependencies = [ "opentelemetry 0.23.0", "walkdir", @@ -3821,7 +3821,7 @@ dependencies = [ [[package]] name = "weaver_common" -version = "0.1.0" +version = "0.4.0" dependencies = [ "miette", "paris", @@ -3832,7 +3832,7 @@ dependencies = [ [[package]] name = "weaver_diff" -version = "0.1.0" +version = "0.4.0" dependencies = [ "similar", "walkdir", @@ -3840,7 +3840,7 @@ dependencies = [ [[package]] name = "weaver_forge" -version = "0.1.0" +version = "0.4.0" dependencies = [ "convert_case", "globset", @@ -3874,7 +3874,7 @@ dependencies = [ [[package]] name = "weaver_resolved_schema" -version = "0.1.0" +version = "0.4.0" dependencies = [ "ordered-float", "schemars", @@ -3887,7 +3887,7 @@ dependencies = [ [[package]] name = "weaver_resolver" -version = "0.1.0" +version = "0.4.0" dependencies = [ "glob", "miette", @@ -3905,7 +3905,7 @@ dependencies = [ [[package]] name = "weaver_semconv" -version = "0.1.0" +version = "0.4.0" dependencies = [ "glob", "miette", @@ -3920,7 +3920,7 @@ dependencies = [ [[package]] name = "weaver_semconv_gen" -version = "0.1.0" +version = "0.4.0" dependencies = [ "itertools 0.12.1", "miette", @@ -3938,7 +3938,7 @@ dependencies = [ [[package]] name = "weaver_version" -version = "0.1.0" +version = "0.4.0" dependencies = [ "schemars", "semver", @@ -3959,9 +3959,9 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.26.1" +version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3de34ae270483955a94f4b21bdaaeb83d508bb84a01435f393818edb0012009" +checksum = "3c452ad30530b54a4d8e71952716a212b08efd0f3562baa66c29a618b07da7c3" dependencies = [ "rustls-pki-types", ] diff --git a/Cargo.toml b/Cargo.toml index be733843..f9224b19 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "weaver" -version = "0.1.0" +version = "0.4.0" authors = ["OpenTelemetry"] edition = "2021" repository = "https://github.com/open-telemetry/weaver" diff --git a/crates/weaver_cache/Cargo.toml b/crates/weaver_cache/Cargo.toml index cfa5c5f0..1fcff928 100644 --- a/crates/weaver_cache/Cargo.toml +++ b/crates/weaver_cache/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "weaver_cache" -version = "0.1.0" +version = "0.4.0" authors.workspace = true repository.workspace = true license.workspace = true diff --git a/crates/weaver_checker/Cargo.toml b/crates/weaver_checker/Cargo.toml index a0b38dec..539f4ee7 100644 --- a/crates/weaver_checker/Cargo.toml +++ b/crates/weaver_checker/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "weaver_checker" -version = "0.1.0" +version = "0.4.0" authors.workspace = true repository.workspace = true license.workspace = true diff --git a/crates/weaver_codegen_test/Cargo.toml b/crates/weaver_codegen_test/Cargo.toml index cec0049c..38e65ce6 100644 --- a/crates/weaver_codegen_test/Cargo.toml +++ b/crates/weaver_codegen_test/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "weaver_codegen_test" -version = "0.1.0" +version = "0.4.0" authors.workspace = true repository.workspace = true license.workspace = true diff --git a/crates/weaver_common/Cargo.toml b/crates/weaver_common/Cargo.toml index 5f5c6f4c..ece3efec 100644 --- a/crates/weaver_common/Cargo.toml +++ b/crates/weaver_common/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "weaver_common" -version = "0.1.0" +version = "0.4.0" authors.workspace = true repository.workspace = true license.workspace = true diff --git a/crates/weaver_diff/Cargo.toml b/crates/weaver_diff/Cargo.toml index eb63ed6b..58238818 100644 --- a/crates/weaver_diff/Cargo.toml +++ b/crates/weaver_diff/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "weaver_diff" -version = "0.1.0" +version = "0.4.0" authors.workspace = true repository.workspace = true license.workspace = true diff --git a/crates/weaver_forge/Cargo.toml b/crates/weaver_forge/Cargo.toml index c06dbb99..1c6278b7 100644 --- a/crates/weaver_forge/Cargo.toml +++ b/crates/weaver_forge/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "weaver_forge" -version = "0.1.0" +version = "0.4.0" authors.workspace = true repository.workspace = true license.workspace = true diff --git a/crates/weaver_forge/src/lib.rs b/crates/weaver_forge/src/lib.rs index 2970dfa3..228eef98 100644 --- a/crates/weaver_forge/src/lib.rs +++ b/crates/weaver_forge/src/lib.rs @@ -69,15 +69,6 @@ impl TemplateObject { } } -// impl Display for TemplateObject { -// fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { -// f.write_str(&format!( -// "template file name: {}", -// self.file_name.lock().expect("Lock poisoned") -// )) -// } -// } - impl Object for TemplateObject { fn call_method( self: &Arc, diff --git a/crates/weaver_resolved_schema/Cargo.toml b/crates/weaver_resolved_schema/Cargo.toml index 0bcafde9..e089adba 100644 --- a/crates/weaver_resolved_schema/Cargo.toml +++ b/crates/weaver_resolved_schema/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "weaver_resolved_schema" -version = "0.1.0" +version = "0.4.0" authors.workspace = true repository.workspace = true license.workspace = true diff --git a/crates/weaver_resolver/Cargo.toml b/crates/weaver_resolver/Cargo.toml index 1d19186f..fa36cde2 100644 --- a/crates/weaver_resolver/Cargo.toml +++ b/crates/weaver_resolver/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "weaver_resolver" -version = "0.1.0" +version = "0.4.0" authors.workspace = true repository.workspace = true license.workspace = true diff --git a/crates/weaver_semconv/Cargo.toml b/crates/weaver_semconv/Cargo.toml index 97c2fc12..e6be2dd4 100644 --- a/crates/weaver_semconv/Cargo.toml +++ b/crates/weaver_semconv/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "weaver_semconv" -version = "0.1.0" +version = "0.4.0" authors.workspace = true repository.workspace = true license.workspace = true diff --git a/crates/weaver_semconv_gen/Cargo.toml b/crates/weaver_semconv_gen/Cargo.toml index 3263dc16..24b96190 100644 --- a/crates/weaver_semconv_gen/Cargo.toml +++ b/crates/weaver_semconv_gen/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "weaver_semconv_gen" -version = "0.1.0" +version = "0.4.0" authors.workspace = true repository.workspace = true license.workspace = true diff --git a/crates/weaver_version/Cargo.toml b/crates/weaver_version/Cargo.toml index e34bd184..5be86939 100644 --- a/crates/weaver_version/Cargo.toml +++ b/crates/weaver_version/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "weaver_version" -version = "0.1.0" +version = "0.4.0" authors.workspace = true repository.workspace = true license.workspace = true diff --git a/src/cli.rs b/src/cli.rs index ad7357f2..ca6122b4 100644 --- a/src/cli.rs +++ b/src/cli.rs @@ -18,11 +18,11 @@ use clap::{Parser, Subcommand}; )] pub struct Cli { /// Turn debugging information on - #[arg(short, long, action = clap::ArgAction::Count)] + #[arg(long, action = clap::ArgAction::Count, global = true)] pub debug: u8, /// Turn the quiet mode on (i.e., minimal output) - #[arg(short, long)] + #[arg(long, global = true)] pub quiet: bool, /// List of supported commands diff --git a/tests/registry_check.rs b/tests/registry_check.rs index 816fd0af..a9d9f346 100644 --- a/tests/registry_check.rs +++ b/tests/registry_check.rs @@ -19,6 +19,7 @@ fn test_cli_interface() { .output() .expect("failed to execute process"); + dbg!(&output); assert!(output.status.success()); // Test a local semantic convention registry.