diff --git a/conventions/build.gradle.kts b/conventions/build.gradle.kts
index 006ee84e989d..b0feff2dd4f2 100644
--- a/conventions/build.gradle.kts
+++ b/conventions/build.gradle.kts
@@ -64,7 +64,7 @@ dependencies {
implementation("ru.vyarus:gradle-animalsniffer-plugin:1.7.2")
implementation("org.spdx:spdx-gradle-plugin:0.8.0")
// When updating, also update dependencyManagement/build.gradle.kts
- implementation("net.bytebuddy:byte-buddy-gradle-plugin:1.15.11")
+ implementation("net.bytebuddy:byte-buddy-gradle-plugin:1.16.1")
implementation("gradle.plugin.io.morethan.jmhreport:gradle-jmh-report:0.9.6")
implementation("me.champeau.jmh:jmh-gradle-plugin:0.7.2")
implementation("net.ltgt.gradle:gradle-errorprone-plugin:4.1.0")
diff --git a/dependencyManagement/build.gradle.kts b/dependencyManagement/build.gradle.kts
index 6d94ca815a98..7a4fe640aef2 100644
--- a/dependencyManagement/build.gradle.kts
+++ b/dependencyManagement/build.gradle.kts
@@ -41,7 +41,7 @@ val DEPENDENCY_BOMS = listOf(
val autoServiceVersion = "1.1.1"
val autoValueVersion = "1.11.0"
val errorProneVersion = "2.36.0"
-val byteBuddyVersion = "1.15.11"
+val byteBuddyVersion = "1.16.1"
val asmVersion = "9.7.1"
val jmhVersion = "1.37"
val mockitoVersion = "4.11.0"
diff --git a/gradle-plugins/build.gradle.kts b/gradle-plugins/build.gradle.kts
index db55b9027954..f619dac340e3 100644
--- a/gradle-plugins/build.gradle.kts
+++ b/gradle-plugins/build.gradle.kts
@@ -25,7 +25,7 @@ configurations.named("compileOnly") {
extendsFrom(bbGradlePlugin)
}
-val byteBuddyVersion = "1.15.11"
+val byteBuddyVersion = "1.16.1"
val aetherVersion = "1.1.0"
dependencies {
diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/instrumentation/indy/AdviceSignatureEraser.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/instrumentation/indy/AdviceSignatureEraser.java
deleted file mode 100644
index 627d867fef29..000000000000
--- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/instrumentation/indy/AdviceSignatureEraser.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Copyright The OpenTelemetry Authors
- * SPDX-License-Identifier: Apache-2.0
- */
-
-package io.opentelemetry.javaagent.tooling.instrumentation.indy;
-
-import io.opentelemetry.javaagent.extension.instrumentation.internal.AsmApi;
-import java.util.Set;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-import java.util.stream.Collectors;
-import org.objectweb.asm.AnnotationVisitor;
-import org.objectweb.asm.ClassReader;
-import org.objectweb.asm.ClassVisitor;
-import org.objectweb.asm.ClassWriter;
-import org.objectweb.asm.MethodVisitor;
-import org.objectweb.asm.tree.ClassNode;
-
-/**
- * This transformer is a workaround to make the life of instrumentation developers easier.
- *
- *
When inserting the instrumentation and calling the advice enter/exit methods, we insert an
- * invokedynamic instruction to perform this method call. This instruction has a {@link
- * java.lang.invoke.MethodType} associated, which normally corresponds to the method type of the
- * called advice. This can however lead to problems, when the advice method signature contains types
- * which are not visible to the instrumented class.
- *
- *
To prevent this, we instead associate the invokedynamic instruction with a type where all
- * class reference are replaced with references to {@link Object}. To lookup the correct advice
- * method, we pass the original type as string argument to the invokedynamic bootstrapping method.
- *
- *
Because bytebuddy currently doesn't support this customization, we perform the type erasure on
- * the .class via ASM before bytebuddy parses the advice. In addition, we insert an annotation to
- * preserve the original descriptor of the method.
- */
-// TODO: replace this workaround when buddy natively supports altering the MethodType for
-// invokedynamic advices
-class AdviceSignatureEraser {
-
- private static final Pattern TYPE_REFERENCE_PATTERN = Pattern.compile("L[^;]+;");
-
- public static final String ORIGNINAL_DESCRIPTOR_ANNOTATION_TYPE =
- "L" + OriginalDescriptor.class.getName().replace('.', '/') + ";";
-
- private AdviceSignatureEraser() {}
-
- static byte[] transform(byte[] bytes) {
- ClassReader cr = new ClassReader(bytes);
- ClassWriter cw = new ClassWriter(cr, 0);
- ClassNode classNode = new ClassNode();
- cr.accept(classNode, 0);
-
- Set methodsToTransform = listAdviceMethods(classNode);
- if (methodsToTransform.isEmpty()) {
- return bytes;
- }
-
- ClassVisitor cv =
- new ClassVisitor(AsmApi.VERSION, cw) {
- @Override
- public MethodVisitor visitMethod(
- int access, String name, String descriptor, String signature, String[] exceptions) {
- if (methodsToTransform.contains(name + descriptor)) {
- String erased = eraseTypes(descriptor);
- MethodVisitor visitor = super.visitMethod(access, name, erased, null, exceptions);
- AnnotationVisitor av =
- visitor.visitAnnotation(ORIGNINAL_DESCRIPTOR_ANNOTATION_TYPE, false);
- av.visit("value", descriptor);
- av.visitEnd();
- return visitor;
- } else {
- return super.visitMethod(access, name, descriptor, signature, exceptions);
- }
- }
- };
- classNode.accept(cv);
- return cw.toByteArray();
- }
-
- private static String eraseTypes(String descriptor) {
- Matcher matcher = TYPE_REFERENCE_PATTERN.matcher(descriptor);
- StringBuffer result = new StringBuffer();
- while (matcher.find()) {
- String reference = matcher.group();
- if (reference.startsWith("Ljava/")) {
- // do not erase java.* references
- matcher.appendReplacement(result, Matcher.quoteReplacement(reference));
- } else {
- matcher.appendReplacement(result, "Ljava/lang/Object;");
- }
- }
- matcher.appendTail(result);
- return result.toString();
- }
-
- private static Set listAdviceMethods(ClassNode classNode) {
- return classNode.methods.stream()
- .filter(
- mn ->
- AdviceTransformer.hasAnnotation(mn, AdviceTransformer.ADVICE_ON_METHOD_ENTER)
- || AdviceTransformer.hasAnnotation(mn, AdviceTransformer.ADVICE_ON_METHOD_EXIT))
- .map(mn -> mn.name + mn.desc)
- .collect(Collectors.toSet());
- }
-}
diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/instrumentation/indy/ForceDynamicallyTypedAssignReturnedFactory.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/instrumentation/indy/ForceDynamicallyTypedAssignReturnedFactory.java
index dd0c88bb4752..cbfae426c632 100644
--- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/instrumentation/indy/ForceDynamicallyTypedAssignReturnedFactory.java
+++ b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/instrumentation/indy/ForceDynamicallyTypedAssignReturnedFactory.java
@@ -18,7 +18,6 @@
import net.bytebuddy.description.method.MethodDescription;
import net.bytebuddy.description.type.TypeDescription;
import net.bytebuddy.implementation.bytecode.assign.Assigner;
-import net.bytebuddy.matcher.ElementMatchers;
/**
* This factory is designed to wrap around {@link Advice.PostProcessor.Factory} and ensures that
@@ -53,27 +52,15 @@ public ForceDynamicallyTypedAssignReturnedFactory(Advice.PostProcessor.Factory d
}
@Override
- public Advice.PostProcessor make(MethodDescription.InDefinedShape adviceMethod, boolean exit) {
- return delegate.make(forceDynamicTyping(adviceMethod), exit);
+ public Advice.PostProcessor make(
+ List extends AnnotationDescription> methodAnnotations,
+ TypeDescription returnType,
+ boolean exit) {
+ return delegate.make(forceDynamicTyping(methodAnnotations), returnType, exit);
}
// Visible for testing
- static MethodDescription.InDefinedShape forceDynamicTyping(
- MethodDescription.InDefinedShape adviceMethod) {
- return new MethodDescription.Latent(
- adviceMethod.getDeclaringType(),
- adviceMethod.getInternalName(),
- adviceMethod.getModifiers(),
- adviceMethod.getTypeVariables().asTokenList(ElementMatchers.none()),
- adviceMethod.getReturnType(),
- adviceMethod.getParameters().asTokenList(ElementMatchers.none()),
- adviceMethod.getExceptionTypes(),
- forceDynamicTyping(adviceMethod.getDeclaredAnnotations()),
- adviceMethod.getDefaultValue(),
- adviceMethod.getReceiverType());
- }
-
- private static List extends AnnotationDescription> forceDynamicTyping(
+ static List extends AnnotationDescription> forceDynamicTyping(
List extends AnnotationDescription> declaredAnnotations) {
return declaredAnnotations.stream()
.map(ForceDynamicallyTypedAssignReturnedFactory::forceDynamicTyping)
diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/instrumentation/indy/IndyBootstrap.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/instrumentation/indy/IndyBootstrap.java
index bc8536fe5629..799658e8c67f 100644
--- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/instrumentation/indy/IndyBootstrap.java
+++ b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/instrumentation/indy/IndyBootstrap.java
@@ -20,8 +20,6 @@
import java.util.logging.Logger;
import javax.annotation.Nullable;
import net.bytebuddy.asm.Advice;
-import net.bytebuddy.description.annotation.AnnotationDescription;
-import net.bytebuddy.description.method.MethodDescription;
import net.bytebuddy.utility.JavaConstant;
/**
@@ -229,19 +227,10 @@ static Advice.BootstrapArgumentResolver.Factory getAdviceBootstrapArguments(
Arrays.asList(
JavaConstant.Simple.ofLoaded(BOOTSTRAP_KIND_ADVICE),
JavaConstant.Simple.ofLoaded(moduleName),
- JavaConstant.Simple.ofLoaded(getOriginalSignature(adviceMethod)),
+ JavaConstant.Simple.ofLoaded(adviceMethod.getDescriptor()),
JavaConstant.Simple.ofLoaded(adviceMethod.getDeclaringType().getName()));
}
- private static String getOriginalSignature(MethodDescription.InDefinedShape adviceMethod) {
- for (AnnotationDescription an : adviceMethod.getDeclaredAnnotations()) {
- if (OriginalDescriptor.class.getName().equals(an.getAnnotationType().getName())) {
- return (String) an.getValue("value").resolve();
- }
- }
- throw new IllegalStateException("OriginalSignature annotation is not present!");
- }
-
private static ConstantCallSite bootstrapProxyMethod(
MethodHandles.Lookup lookup,
String proxyMethodName,
diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/instrumentation/indy/IndyTypeTransformerImpl.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/instrumentation/indy/IndyTypeTransformerImpl.java
index df7f67ded219..94fa337a5a06 100644
--- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/instrumentation/indy/IndyTypeTransformerImpl.java
+++ b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/instrumentation/indy/IndyTypeTransformerImpl.java
@@ -13,11 +13,13 @@
import net.bytebuddy.agent.builder.AgentBuilder;
import net.bytebuddy.asm.Advice;
import net.bytebuddy.description.method.MethodDescription;
+import net.bytebuddy.description.type.TypeDescription;
import net.bytebuddy.dynamic.ClassFileLocator;
import net.bytebuddy.dynamic.ClassFileLocator.Resolution;
import net.bytebuddy.matcher.ElementMatcher;
public final class IndyTypeTransformerImpl implements TypeTransformer {
+
// path (with trailing slash) to dump transformed advice class to
private static final String DUMP_PATH = null;
private final Advice.WithCustomMapping adviceMapping;
@@ -35,7 +37,8 @@ public IndyTypeTransformerImpl(
new Advice.AssignReturned.Factory().withSuppressed(Throwable.class)))
.bootstrap(
IndyBootstrap.getIndyBootstrapMethod(),
- IndyBootstrap.getAdviceBootstrapArguments(instrumentationModule));
+ IndyBootstrap.getAdviceBootstrapArguments(instrumentationModule),
+ TypeDescription.Generic.Visitor.Generalizing.INSTANCE);
}
@Override
@@ -106,7 +109,6 @@ public byte[] resolve() {
} else {
result = bytes;
}
- result = AdviceSignatureEraser.transform(result);
return result;
}
}
diff --git a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/instrumentation/indy/OriginalDescriptor.java b/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/instrumentation/indy/OriginalDescriptor.java
deleted file mode 100644
index 2104696965fc..000000000000
--- a/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/instrumentation/indy/OriginalDescriptor.java
+++ /dev/null
@@ -1,10 +0,0 @@
-/*
- * Copyright The OpenTelemetry Authors
- * SPDX-License-Identifier: Apache-2.0
- */
-
-package io.opentelemetry.javaagent.tooling.instrumentation.indy;
-
-public @interface OriginalDescriptor {
- String value();
-}
diff --git a/javaagent-tooling/src/test/java/io/opentelemetry/javaagent/tooling/instrumentation/indy/ForceDynamicallyTypedAssignReturnedFactoryTest.java b/javaagent-tooling/src/test/java/io/opentelemetry/javaagent/tooling/instrumentation/indy/ForceDynamicallyTypedAssignReturnedFactoryTest.java
index ccba634f03ae..7e80d24a5c87 100644
--- a/javaagent-tooling/src/test/java/io/opentelemetry/javaagent/tooling/instrumentation/indy/ForceDynamicallyTypedAssignReturnedFactoryTest.java
+++ b/javaagent-tooling/src/test/java/io/opentelemetry/javaagent/tooling/instrumentation/indy/ForceDynamicallyTypedAssignReturnedFactoryTest.java
@@ -7,6 +7,7 @@
import static org.assertj.core.api.Assertions.assertThat;
+import java.util.List;
import net.bytebuddy.asm.Advice;
import net.bytebuddy.asm.Advice.AssignReturned;
import net.bytebuddy.asm.Advice.AssignReturned.ToArguments.ToArgument;
@@ -40,9 +41,10 @@ public void checkTypingMadeDynamic() {
ClassLoader cl = ForceDynamicallyTypedAssignReturnedFactoryTest.class.getClassLoader();
- MethodDescription modified =
- ForceDynamicallyTypedAssignReturnedFactory.forceDynamicTyping(original);
- assertThat(modified.getDeclaredAnnotations())
+ List extends AnnotationDescription> modifiedAnnotations =
+ ForceDynamicallyTypedAssignReturnedFactory.forceDynamicTyping(
+ original.getDeclaredAnnotations());
+ assertThat(modifiedAnnotations)
.hasSize(7)
.anySatisfy(
toFields -> {
diff --git a/licenses/byte-buddy-dep-1.15.11.jar/META-INF/LICENSE b/licenses/byte-buddy-dep-1.16.1.jar/META-INF/LICENSE
similarity index 100%
rename from licenses/byte-buddy-dep-1.15.11.jar/META-INF/LICENSE
rename to licenses/byte-buddy-dep-1.16.1.jar/META-INF/LICENSE
diff --git a/licenses/byte-buddy-dep-1.15.11.jar/META-INF/NOTICE b/licenses/byte-buddy-dep-1.16.1.jar/META-INF/NOTICE
similarity index 100%
rename from licenses/byte-buddy-dep-1.15.11.jar/META-INF/NOTICE
rename to licenses/byte-buddy-dep-1.16.1.jar/META-INF/NOTICE
diff --git a/licenses/licenses.md b/licenses/licenses.md
index 3df4513e1459..f5955f113bb4 100644
--- a/licenses/licenses.md
+++ b/licenses/licenses.md
@@ -4,324 +4,327 @@
## Apache License, Version 2.0
-**1** **Group:** `com.blogspot.mydailyjava` **Name:** `weak-lock-free` **Version:** `0.18`
+**1** **Group:** `codes.rafael.asmjdkbridge` **Name:** `asm-jdk-bridge` **Version:** `0.0.2`
+> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
+
+**2** **Group:** `com.blogspot.mydailyjava` **Name:** `weak-lock-free` **Version:** `0.18`
> - **Manifest License**: Apache License, Version 2.0 (Not Packaged)
> - **POM Project URL**: [https://github.com/raphw/weak-lock-free](https://github.com/raphw/weak-lock-free)
> - **POM License**: Apache License, Version 2.0 - [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
-**2** **Group:** `com.fasterxml.jackson.core` **Name:** `jackson-annotations` **Version:** `2.18.2`
+**3** **Group:** `com.fasterxml.jackson.core` **Name:** `jackson-annotations` **Version:** `2.18.2`
> - **Project URL**: [https://github.com/FasterXML/jackson](https://github.com/FasterXML/jackson)
> - **Manifest License**: Apache License, Version 2.0 (Not Packaged)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
> - **Embedded license files**: [jackson-annotations-2.18.2.jar/META-INF/LICENSE](jackson-annotations-2.18.2.jar/META-INF/LICENSE)
- [jackson-annotations-2.18.2.jar/META-INF/NOTICE](jackson-annotations-2.18.2.jar/META-INF/NOTICE)
-**3** **Group:** `com.fasterxml.jackson.core` **Name:** `jackson-core` **Version:** `2.18.2`
+**4** **Group:** `com.fasterxml.jackson.core` **Name:** `jackson-core` **Version:** `2.18.2`
> - **Project URL**: [https://github.com/FasterXML/jackson-core](https://github.com/FasterXML/jackson-core)
> - **Manifest License**: Apache License, Version 2.0 (Not Packaged)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
> - **Embedded license files**: [jackson-core-2.18.2.jar/META-INF/LICENSE](jackson-core-2.18.2.jar/META-INF/LICENSE)
- [jackson-core-2.18.2.jar/META-INF/NOTICE](jackson-core-2.18.2.jar/META-INF/NOTICE)
-**4** **Group:** `com.fasterxml.jackson.core` **Name:** `jackson-databind` **Version:** `2.18.2`
+**5** **Group:** `com.fasterxml.jackson.core` **Name:** `jackson-databind` **Version:** `2.18.2`
> - **Project URL**: [https://github.com/FasterXML/jackson](https://github.com/FasterXML/jackson)
> - **Manifest License**: Apache License, Version 2.0 (Not Packaged)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
> - **Embedded license files**: [jackson-databind-2.18.2.jar/META-INF/LICENSE](jackson-databind-2.18.2.jar/META-INF/LICENSE)
- [jackson-databind-2.18.2.jar/META-INF/NOTICE](jackson-databind-2.18.2.jar/META-INF/NOTICE)
-**5** **Group:** `com.fasterxml.jackson.dataformat` **Name:** `jackson-dataformat-yaml` **Version:** `2.18.2`
+**6** **Group:** `com.fasterxml.jackson.dataformat` **Name:** `jackson-dataformat-yaml` **Version:** `2.18.2`
> - **Project URL**: [https://github.com/FasterXML/jackson-dataformats-text](https://github.com/FasterXML/jackson-dataformats-text)
> - **Manifest License**: Apache License, Version 2.0 (Not Packaged)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
> - **Embedded license files**: [jackson-dataformat-yaml-2.18.2.jar/META-INF/LICENSE](jackson-dataformat-yaml-2.18.2.jar/META-INF/LICENSE)
- [jackson-dataformat-yaml-2.18.2.jar/META-INF/NOTICE](jackson-dataformat-yaml-2.18.2.jar/META-INF/NOTICE)
-**6** **Group:** `com.google.cloud.opentelemetry` **Name:** `detector-resources-support` **Version:** `0.33.0`
+**7** **Group:** `com.google.cloud.opentelemetry` **Name:** `detector-resources-support` **Version:** `0.33.0`
> - **POM Project URL**: [https://github.com/GoogleCloudPlatform/opentelemetry-operations-java](https://github.com/GoogleCloudPlatform/opentelemetry-operations-java)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
-**7** **Group:** `com.googlecode.concurrentlinkedhashmap` **Name:** `concurrentlinkedhashmap-lru` **Version:** `1.4.2`
+**8** **Group:** `com.googlecode.concurrentlinkedhashmap` **Name:** `concurrentlinkedhashmap-lru` **Version:** `1.4.2`
> - **Manifest License**: Apache License, Version 2.0 (Not Packaged)
> - **POM Project URL**: [http://code.google.com/p/concurrentlinkedhashmap](http://code.google.com/p/concurrentlinkedhashmap)
> - **POM License**: Apache License, Version 2.0 - [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
-**8** **Group:** `com.squareup.okhttp3` **Name:** `okhttp` **Version:** `4.12.0`
+**9** **Group:** `com.squareup.okhttp3` **Name:** `okhttp` **Version:** `4.12.0`
> - **POM Project URL**: [https://square.github.io/okhttp/](https://square.github.io/okhttp/)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
> - **Embedded license files**: [okhttp-4.12.0.jar/okhttp3/internal/publicsuffix/NOTICE](okhttp-4.12.0.jar/okhttp3/internal/publicsuffix/NOTICE)
-**9** **Group:** `com.squareup.okio` **Name:** `okio` **Version:** `3.10.2`
+**10** **Group:** `com.squareup.okio` **Name:** `okio` **Version:** `3.10.2`
> - **POM Project URL**: [https://github.com/square/okio/](https://github.com/square/okio/)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
-**10** **Group:** `com.squareup.okio` **Name:** `okio-jvm` **Version:** `3.10.2`
+**11** **Group:** `com.squareup.okio` **Name:** `okio-jvm` **Version:** `3.10.2`
> - **POM Project URL**: [https://github.com/square/okio/](https://github.com/square/okio/)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
-**11** **Group:** `io.opentelemetry` **Name:** `opentelemetry-api` **Version:** `1.46.0`
+**12** **Group:** `io.opentelemetry` **Name:** `opentelemetry-api` **Version:** `1.46.0`
> - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
> - **POM License**: Apache License, Version 2.0 - [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
-**12** **Group:** `io.opentelemetry` **Name:** `opentelemetry-api-incubator` **Version:** `1.46.0-alpha`
+**13** **Group:** `io.opentelemetry` **Name:** `opentelemetry-api-incubator` **Version:** `1.46.0-alpha`
> - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
> - **POM License**: Apache License, Version 2.0 - [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
-**13** **Group:** `io.opentelemetry` **Name:** `opentelemetry-context` **Version:** `1.46.0`
+**14** **Group:** `io.opentelemetry` **Name:** `opentelemetry-context` **Version:** `1.46.0`
> - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
> - **POM License**: Apache License, Version 2.0 - [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
-**14** **Group:** `io.opentelemetry` **Name:** `opentelemetry-exporter-common` **Version:** `1.46.0`
+**15** **Group:** `io.opentelemetry` **Name:** `opentelemetry-exporter-common` **Version:** `1.46.0`
> - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
-**15** **Group:** `io.opentelemetry` **Name:** `opentelemetry-exporter-logging` **Version:** `1.46.0`
+**16** **Group:** `io.opentelemetry` **Name:** `opentelemetry-exporter-logging` **Version:** `1.46.0`
> - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
-**16** **Group:** `io.opentelemetry` **Name:** `opentelemetry-exporter-logging-otlp` **Version:** `1.46.0`
+**17** **Group:** `io.opentelemetry` **Name:** `opentelemetry-exporter-logging-otlp` **Version:** `1.46.0`
> - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
-**17** **Group:** `io.opentelemetry` **Name:** `opentelemetry-exporter-otlp` **Version:** `1.46.0`
+**18** **Group:** `io.opentelemetry` **Name:** `opentelemetry-exporter-otlp` **Version:** `1.46.0`
> - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
-**18** **Group:** `io.opentelemetry` **Name:** `opentelemetry-exporter-otlp-common` **Version:** `1.46.0`
+**19** **Group:** `io.opentelemetry` **Name:** `opentelemetry-exporter-otlp-common` **Version:** `1.46.0`
> - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
-**19** **Group:** `io.opentelemetry` **Name:** `opentelemetry-exporter-prometheus` **Version:** `1.46.0-alpha`
+**20** **Group:** `io.opentelemetry` **Name:** `opentelemetry-exporter-prometheus` **Version:** `1.46.0-alpha`
> - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
-**20** **Group:** `io.opentelemetry` **Name:** `opentelemetry-exporter-sender-okhttp` **Version:** `1.46.0`
+**21** **Group:** `io.opentelemetry` **Name:** `opentelemetry-exporter-sender-okhttp` **Version:** `1.46.0`
> - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
-**21** **Group:** `io.opentelemetry` **Name:** `opentelemetry-exporter-zipkin` **Version:** `1.46.0`
+**22** **Group:** `io.opentelemetry` **Name:** `opentelemetry-exporter-zipkin` **Version:** `1.46.0`
> - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
-**22** **Group:** `io.opentelemetry` **Name:** `opentelemetry-extension-kotlin` **Version:** `1.46.0`
+**23** **Group:** `io.opentelemetry` **Name:** `opentelemetry-extension-kotlin` **Version:** `1.46.0`
> - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
-**23** **Group:** `io.opentelemetry` **Name:** `opentelemetry-extension-trace-propagators` **Version:** `1.46.0`
+**24** **Group:** `io.opentelemetry` **Name:** `opentelemetry-extension-trace-propagators` **Version:** `1.46.0`
> - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
-**24** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk` **Version:** `1.46.0`
+**25** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk` **Version:** `1.46.0`
> - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
-**25** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-common` **Version:** `1.46.0`
+**26** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-common` **Version:** `1.46.0`
> - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
-**26** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-extension-autoconfigure` **Version:** `1.46.0`
+**27** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-extension-autoconfigure` **Version:** `1.46.0`
> - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
-**27** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-extension-autoconfigure-spi` **Version:** `1.46.0`
+**28** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-extension-autoconfigure-spi` **Version:** `1.46.0`
> - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
-**28** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-extension-incubator` **Version:** `1.46.0-alpha`
+**29** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-extension-incubator` **Version:** `1.46.0-alpha`
> - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
-**29** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-extension-jaeger-remote-sampler` **Version:** `1.46.0`
+**30** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-extension-jaeger-remote-sampler` **Version:** `1.46.0`
> - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
-**30** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-logs` **Version:** `1.46.0`
+**31** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-logs` **Version:** `1.46.0`
> - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
-**31** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-metrics` **Version:** `1.46.0`
+**32** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-metrics` **Version:** `1.46.0`
> - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
-**32** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-trace` **Version:** `1.46.0`
+**33** **Group:** `io.opentelemetry` **Name:** `opentelemetry-sdk-trace` **Version:** `1.46.0`
> - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java](https://github.com/open-telemetry/opentelemetry-java)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
-**33** **Group:** `io.opentelemetry.contrib` **Name:** `opentelemetry-aws-resources` **Version:** `1.43.0-alpha`
+**34** **Group:** `io.opentelemetry.contrib` **Name:** `opentelemetry-aws-resources` **Version:** `1.43.0-alpha`
> - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java-contrib](https://github.com/open-telemetry/opentelemetry-java-contrib)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
-**34** **Group:** `io.opentelemetry.contrib` **Name:** `opentelemetry-aws-xray-propagator` **Version:** `1.43.0-alpha`
+**35** **Group:** `io.opentelemetry.contrib` **Name:** `opentelemetry-aws-xray-propagator` **Version:** `1.43.0-alpha`
> - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java-contrib](https://github.com/open-telemetry/opentelemetry-java-contrib)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
-**35** **Group:** `io.opentelemetry.contrib` **Name:** `opentelemetry-baggage-processor` **Version:** `1.43.0-alpha`
+**36** **Group:** `io.opentelemetry.contrib` **Name:** `opentelemetry-baggage-processor` **Version:** `1.43.0-alpha`
> - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java-contrib](https://github.com/open-telemetry/opentelemetry-java-contrib)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
-**36** **Group:** `io.opentelemetry.contrib` **Name:** `opentelemetry-gcp-resources` **Version:** `1.43.0-alpha`
+**37** **Group:** `io.opentelemetry.contrib` **Name:** `opentelemetry-gcp-resources` **Version:** `1.43.0-alpha`
> - **POM Project URL**: [https://github.com/open-telemetry/opentelemetry-java-contrib](https://github.com/open-telemetry/opentelemetry-java-contrib)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
-**37** **Group:** `io.opentelemetry.semconv` **Name:** `opentelemetry-semconv` **Version:** `1.29.0-alpha`
+**38** **Group:** `io.opentelemetry.semconv` **Name:** `opentelemetry-semconv` **Version:** `1.29.0-alpha`
> - **POM Project URL**: [https://github.com/open-telemetry/semantic-conventions-java](https://github.com/open-telemetry/semantic-conventions-java)
> - **POM License**: Apache License, Version 2.0 - [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
-**38** **Group:** `io.opentelemetry.semconv` **Name:** `opentelemetry-semconv-incubating` **Version:** `1.29.0-alpha`
+**39** **Group:** `io.opentelemetry.semconv` **Name:** `opentelemetry-semconv-incubating` **Version:** `1.29.0-alpha`
> - **POM Project URL**: [https://github.com/open-telemetry/semantic-conventions-java](https://github.com/open-telemetry/semantic-conventions-java)
> - **POM License**: Apache License, Version 2.0 - [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
-**39** **Group:** `io.prometheus` **Name:** `prometheus-metrics-config` **Version:** `1.3.5`
+**40** **Group:** `io.prometheus` **Name:** `prometheus-metrics-config` **Version:** `1.3.5`
> - **Manifest License**: Apache License, Version 2.0 (Not Packaged)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
-**40** **Group:** `io.prometheus` **Name:** `prometheus-metrics-exporter-common` **Version:** `1.3.5`
+**41** **Group:** `io.prometheus` **Name:** `prometheus-metrics-exporter-common` **Version:** `1.3.5`
> - **Manifest License**: Apache License, Version 2.0 (Not Packaged)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
-**41** **Group:** `io.prometheus` **Name:** `prometheus-metrics-exporter-httpserver` **Version:** `1.3.5`
+**42** **Group:** `io.prometheus` **Name:** `prometheus-metrics-exporter-httpserver` **Version:** `1.3.5`
> - **Manifest License**: Apache License, Version 2.0 (Not Packaged)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
-**42** **Group:** `io.prometheus` **Name:** `prometheus-metrics-exposition-formats` **Version:** `1.3.5`
+**43** **Group:** `io.prometheus` **Name:** `prometheus-metrics-exposition-formats` **Version:** `1.3.5`
> - **Manifest License**: Apache License, Version 2.0 (Not Packaged)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
-**43** **Group:** `io.prometheus` **Name:** `prometheus-metrics-exposition-textformats` **Version:** `1.3.5`
+**44** **Group:** `io.prometheus` **Name:** `prometheus-metrics-exposition-textformats` **Version:** `1.3.5`
> - **Manifest License**: Apache License, Version 2.0 (Not Packaged)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
-**44** **Group:** `io.prometheus` **Name:** `prometheus-metrics-model` **Version:** `1.3.5`
+**45** **Group:** `io.prometheus` **Name:** `prometheus-metrics-model` **Version:** `1.3.5`
> - **Manifest License**: Apache License, Version 2.0 (Not Packaged)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
-**45** **Group:** `io.zipkin.reporter2` **Name:** `zipkin-reporter` **Version:** `3.4.3`
+**46** **Group:** `io.zipkin.reporter2` **Name:** `zipkin-reporter` **Version:** `3.4.3`
> - **Manifest Project URL**: [https://zipkin.io/](https://zipkin.io/)
> - **Manifest License**: Apache License, Version 2.0 (Not Packaged)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
> - **Embedded license files**: [zipkin-reporter-3.4.3.jar/META-INF/LICENSE](zipkin-reporter-3.4.3.jar/META-INF/LICENSE)
-**46** **Group:** `io.zipkin.reporter2` **Name:** `zipkin-sender-okhttp3` **Version:** `3.4.3`
+**47** **Group:** `io.zipkin.reporter2` **Name:** `zipkin-sender-okhttp3` **Version:** `3.4.3`
> - **Manifest Project URL**: [https://zipkin.io/](https://zipkin.io/)
> - **Manifest License**: Apache License, Version 2.0 (Not Packaged)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
> - **Embedded license files**: [zipkin-sender-okhttp3-3.4.3.jar/META-INF/LICENSE](zipkin-sender-okhttp3-3.4.3.jar/META-INF/LICENSE)
-**47** **Group:** `io.zipkin.zipkin2` **Name:** `zipkin` **Version:** `2.27.1`
+**48** **Group:** `io.zipkin.zipkin2` **Name:** `zipkin` **Version:** `2.27.1`
> - **Manifest Project URL**: [http://zipkin.io/](http://zipkin.io/)
> - **Manifest License**: Apache License, Version 2.0 (Not Packaged)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
> - **Embedded license files**: [zipkin-2.27.1.jar/META-INF/LICENSE](zipkin-2.27.1.jar/META-INF/LICENSE)
-**48** **Group:** `net.bytebuddy` **Name:** `byte-buddy-dep` **Version:** `1.15.11`
+**49** **Group:** `net.bytebuddy` **Name:** `byte-buddy-dep` **Version:** `1.16.1`
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
-> - **Embedded license files**: [byte-buddy-dep-1.15.11.jar/META-INF/LICENSE](byte-buddy-dep-1.15.11.jar/META-INF/LICENSE)
- - [byte-buddy-dep-1.15.11.jar/META-INF/NOTICE](byte-buddy-dep-1.15.11.jar/META-INF/NOTICE)
+> - **Embedded license files**: [byte-buddy-dep-1.16.1.jar/META-INF/LICENSE](byte-buddy-dep-1.16.1.jar/META-INF/LICENSE)
+ - [byte-buddy-dep-1.16.1.jar/META-INF/NOTICE](byte-buddy-dep-1.16.1.jar/META-INF/NOTICE)
-**49** **Group:** `org.jetbrains` **Name:** `annotations` **Version:** `13.0`
+**50** **Group:** `org.jetbrains` **Name:** `annotations` **Version:** `13.0`
> - **POM Project URL**: [http://www.jetbrains.org](http://www.jetbrains.org)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
-**50** **Group:** `org.jetbrains.kotlin` **Name:** `kotlin-stdlib` **Version:** `2.1.0`
+**51** **Group:** `org.jetbrains.kotlin` **Name:** `kotlin-stdlib` **Version:** `2.1.0`
> - **POM Project URL**: [https://kotlinlang.org/](https://kotlinlang.org/)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
-**51** **Group:** `org.jetbrains.kotlin` **Name:** `kotlin-stdlib-jdk7` **Version:** `2.1.0`
+**52** **Group:** `org.jetbrains.kotlin` **Name:** `kotlin-stdlib-jdk7` **Version:** `2.1.0`
> - **POM Project URL**: [https://kotlinlang.org/](https://kotlinlang.org/)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
-**52** **Group:** `org.jetbrains.kotlin` **Name:** `kotlin-stdlib-jdk8` **Version:** `2.1.0`
+**53** **Group:** `org.jetbrains.kotlin` **Name:** `kotlin-stdlib-jdk8` **Version:** `2.1.0`
> - **POM Project URL**: [https://kotlinlang.org/](https://kotlinlang.org/)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
-**53** **Group:** `org.ow2.asm` **Name:** `asm` **Version:** `9.7.1`
+**54** **Group:** `org.ow2.asm` **Name:** `asm` **Version:** `9.7.1`
> - **Manifest Project URL**: [http://asm.ow2.org](http://asm.ow2.org)
> - **Manifest License**: The 3-Clause BSD License (Not Packaged)
> - **POM Project URL**: [http://asm.ow2.io/](http://asm.ow2.io/)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
> - **POM License**: The 3-Clause BSD License - [https://opensource.org/licenses/BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause)
-**54** **Group:** `org.ow2.asm` **Name:** `asm-analysis` **Version:** `9.7.1`
+**55** **Group:** `org.ow2.asm` **Name:** `asm-analysis` **Version:** `9.7.1`
> - **Manifest Project URL**: [http://asm.ow2.org](http://asm.ow2.org)
> - **Manifest License**: The 3-Clause BSD License (Not Packaged)
> - **POM Project URL**: [http://asm.ow2.io/](http://asm.ow2.io/)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
> - **POM License**: The 3-Clause BSD License - [https://opensource.org/licenses/BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause)
-**55** **Group:** `org.ow2.asm` **Name:** `asm-commons` **Version:** `9.7.1`
+**56** **Group:** `org.ow2.asm` **Name:** `asm-commons` **Version:** `9.7.1`
> - **Manifest Project URL**: [http://asm.ow2.org](http://asm.ow2.org)
> - **Manifest License**: The 3-Clause BSD License (Not Packaged)
> - **POM Project URL**: [http://asm.ow2.io/](http://asm.ow2.io/)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
> - **POM License**: The 3-Clause BSD License - [https://opensource.org/licenses/BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause)
-**56** **Group:** `org.ow2.asm` **Name:** `asm-tree` **Version:** `9.7.1`
+**57** **Group:** `org.ow2.asm` **Name:** `asm-tree` **Version:** `9.7.1`
> - **Manifest Project URL**: [http://asm.ow2.org](http://asm.ow2.org)
> - **Manifest License**: The 3-Clause BSD License (Not Packaged)
> - **POM Project URL**: [http://asm.ow2.io/](http://asm.ow2.io/)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
> - **POM License**: The 3-Clause BSD License - [https://opensource.org/licenses/BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause)
-**57** **Group:** `org.ow2.asm` **Name:** `asm-util` **Version:** `9.7.1`
+**58** **Group:** `org.ow2.asm` **Name:** `asm-util` **Version:** `9.7.1`
> - **Manifest Project URL**: [http://asm.ow2.org](http://asm.ow2.org)
> - **Manifest License**: The 3-Clause BSD License (Not Packaged)
> - **POM Project URL**: [http://asm.ow2.io/](http://asm.ow2.io/)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
> - **POM License**: The 3-Clause BSD License - [https://opensource.org/licenses/BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause)
-**58** **Group:** `org.snakeyaml` **Name:** `snakeyaml-engine` **Version:** `2.9`
+**59** **Group:** `org.snakeyaml` **Name:** `snakeyaml-engine` **Version:** `2.9`
> - **Manifest License**: Apache License, Version 2.0 (Not Packaged)
> - **POM Project URL**: [https://bitbucket.org/snakeyaml/snakeyaml-engine](https://bitbucket.org/snakeyaml/snakeyaml-engine)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
-**59** **Group:** `org.yaml` **Name:** `snakeyaml` **Version:** `2.3`
+**60** **Group:** `org.yaml` **Name:** `snakeyaml` **Version:** `2.3`
> - **Manifest License**: Apache License, Version 2.0 (Not Packaged)
> - **POM Project URL**: [https://bitbucket.org/snakeyaml/snakeyaml](https://bitbucket.org/snakeyaml/snakeyaml)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
## MIT License
-**60** **Group:** `org.slf4j` **Name:** `slf4j-api` **Version:** `2.0.16`
+**61** **Group:** `org.slf4j` **Name:** `slf4j-api` **Version:** `2.0.16`
> - **Project URL**: [http://www.slf4j.org](http://www.slf4j.org)
> - **POM License**: MIT License - [https://opensource.org/licenses/MIT](https://opensource.org/licenses/MIT)
> - **Embedded license files**: [slf4j-api-2.0.16.jar/META-INF/LICENSE.txt](slf4j-api-2.0.16.jar/META-INF/LICENSE.txt)
-**61** **Group:** `org.slf4j` **Name:** `slf4j-simple` **Version:** `2.0.16`
+**62** **Group:** `org.slf4j` **Name:** `slf4j-simple` **Version:** `2.0.16`
> - **Project URL**: [http://www.slf4j.org](http://www.slf4j.org)
> - **POM License**: MIT License - [https://opensource.org/licenses/MIT](https://opensource.org/licenses/MIT)
> - **Embedded license files**: [slf4j-simple-2.0.16.jar/META-INF/LICENSE.txt](slf4j-simple-2.0.16.jar/META-INF/LICENSE.txt)
## The 3-Clause BSD License
-**62** **Group:** `org.ow2.asm` **Name:** `asm` **Version:** `9.7.1`
+**63** **Group:** `org.ow2.asm` **Name:** `asm` **Version:** `9.7.1`
> - **Manifest Project URL**: [http://asm.ow2.org](http://asm.ow2.org)
> - **Manifest License**: The 3-Clause BSD License (Not Packaged)
> - **POM Project URL**: [http://asm.ow2.io/](http://asm.ow2.io/)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
> - **POM License**: The 3-Clause BSD License - [https://opensource.org/licenses/BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause)
-**63** **Group:** `org.ow2.asm` **Name:** `asm-analysis` **Version:** `9.7.1`
+**64** **Group:** `org.ow2.asm` **Name:** `asm-analysis` **Version:** `9.7.1`
> - **Manifest Project URL**: [http://asm.ow2.org](http://asm.ow2.org)
> - **Manifest License**: The 3-Clause BSD License (Not Packaged)
> - **POM Project URL**: [http://asm.ow2.io/](http://asm.ow2.io/)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
> - **POM License**: The 3-Clause BSD License - [https://opensource.org/licenses/BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause)
-**64** **Group:** `org.ow2.asm` **Name:** `asm-commons` **Version:** `9.7.1`
+**65** **Group:** `org.ow2.asm` **Name:** `asm-commons` **Version:** `9.7.1`
> - **Manifest Project URL**: [http://asm.ow2.org](http://asm.ow2.org)
> - **Manifest License**: The 3-Clause BSD License (Not Packaged)
> - **POM Project URL**: [http://asm.ow2.io/](http://asm.ow2.io/)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
> - **POM License**: The 3-Clause BSD License - [https://opensource.org/licenses/BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause)
-**65** **Group:** `org.ow2.asm` **Name:** `asm-tree` **Version:** `9.7.1`
+**66** **Group:** `org.ow2.asm` **Name:** `asm-tree` **Version:** `9.7.1`
> - **Manifest Project URL**: [http://asm.ow2.org](http://asm.ow2.org)
> - **Manifest License**: The 3-Clause BSD License (Not Packaged)
> - **POM Project URL**: [http://asm.ow2.io/](http://asm.ow2.io/)
> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
> - **POM License**: The 3-Clause BSD License - [https://opensource.org/licenses/BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause)
-**66** **Group:** `org.ow2.asm` **Name:** `asm-util` **Version:** `9.7.1`
+**67** **Group:** `org.ow2.asm` **Name:** `asm-util` **Version:** `9.7.1`
> - **Manifest Project URL**: [http://asm.ow2.org](http://asm.ow2.org)
> - **Manifest License**: The 3-Clause BSD License (Not Packaged)
> - **POM Project URL**: [http://asm.ow2.io/](http://asm.ow2.io/)