diff --git a/README.md b/README.md index 49f7dcbd92..bca2057cc3 100644 --- a/README.md +++ b/README.md @@ -31,6 +31,30 @@ You may want to put trace IDs into your log files, or change thread local behavior. Look at our [context libraries](context/), for integration with tools such as SLF4J. +## Version Compatibility policy +All Brave libraries match the minimum Java version of what's being +traced or integrated with, and adds no 3rd party dependencies. The goal +is to neither impact your projects' choices, nor subject your project +to dependency decisions made by others. + +For example, even including a basic reporting library, +[zipkin-sender-urlconnection](https://github.com/openzipkin/zipkin-reporter-java), Brave transitively includes no json, +logging, protobuf or thrift dependency. This means zero concern if you +choose to any version of any SLF4J or Log4J library, or common libraries +like Guava. + +There is a floor Java version of 1.6, which allows older JREs and older +Android runtimes, yet may limit some applications. For example, Servlet +2.5 works with Java 1.5, but due to Brave being 1.6, you will not be +able to trace Servlet 2.5 applications until you use at least JRE 1.6. + +All integrations set their associated library to "provided" scope. This +ensures Brave doesn't interfere with the versions you choose. + +Some libraries update often which leads to api drift. In some cases, we +test versions ranges to reduce the impact of this. For example, we test +[gRPC](instrumentation/grpc) and [Kafka](instrumentation/kafka-clients) against multiple library versions. + ## Artifacts All artifacts publish to the group ID "io.zipkin.brave". We use a common release version for all components. diff --git a/context/rxjava2/pom.xml b/context/rxjava2/pom.xml index 6d54ab12e1..f6e4a3496f 100644 --- a/context/rxjava2/pom.xml +++ b/context/rxjava2/pom.xml @@ -12,15 +12,16 @@ ${project.basedir}/../.. - 1.7 - java17 + + 1.6 + java16 io.reactivex.rxjava2 rxjava - 2.1.17 + 2.2.0 provided @@ -33,7 +34,7 @@ com.github.akarnokd rxjava2-extensions - 0.19.5 + 0.20.0 test diff --git a/instrumentation/grpc/pom.xml b/instrumentation/grpc/pom.xml index b012fcd503..241b7a0c39 100644 --- a/instrumentation/grpc/pom.xml +++ b/instrumentation/grpc/pom.xml @@ -11,6 +11,10 @@ ${project.basedir}/../.. + + 1.6 + java16 + 3.5.1 0.15.0 1.6.0 diff --git a/instrumentation/httpasyncclient/pom.xml b/instrumentation/httpasyncclient/pom.xml index 28d059f09f..fd73ba690e 100644 --- a/instrumentation/httpasyncclient/pom.xml +++ b/instrumentation/httpasyncclient/pom.xml @@ -12,6 +12,8 @@ ${project.basedir}/../.. + 1.6 + java16 diff --git a/instrumentation/jersey-server/pom.xml b/instrumentation/jersey-server/pom.xml index 8b0dfc1cda..e3bdfdfbcf 100644 --- a/instrumentation/jersey-server/pom.xml +++ b/instrumentation/jersey-server/pom.xml @@ -12,6 +12,9 @@ ${project.basedir}/../.. + diff --git a/instrumentation/mysql/pom.xml b/instrumentation/mysql/pom.xml index 6af5029995..9470746bc5 100644 --- a/instrumentation/mysql/pom.xml +++ b/instrumentation/mysql/pom.xml @@ -12,6 +12,7 @@ ${project.basedir}/../.. + 1.6 java16 diff --git a/instrumentation/mysql6/pom.xml b/instrumentation/mysql6/pom.xml index 1828b71501..a30e89691a 100644 --- a/instrumentation/mysql6/pom.xml +++ b/instrumentation/mysql6/pom.xml @@ -12,6 +12,9 @@ ${project.basedir}/../.. + + 1.8 + java18 diff --git a/instrumentation/netty-codec-http/pom.xml b/instrumentation/netty-codec-http/pom.xml index 6a80aae564..cfbd9c43dd 100644 --- a/instrumentation/netty-codec-http/pom.xml +++ b/instrumentation/netty-codec-http/pom.xml @@ -12,6 +12,9 @@ ${project.basedir}/../.. + + 1.6 + java16 diff --git a/instrumentation/p6spy/pom.xml b/instrumentation/p6spy/pom.xml index 26e341a641..96d7573794 100644 --- a/instrumentation/p6spy/pom.xml +++ b/instrumentation/p6spy/pom.xml @@ -12,6 +12,9 @@ ${project.basedir}/../.. + 1.6 + java16 + 3.7.0 10.14.2.0 diff --git a/instrumentation/spring-webmvc/pom.xml b/instrumentation/spring-webmvc/pom.xml index 06c1eac3c0..c65510d694 100644 --- a/instrumentation/spring-webmvc/pom.xml +++ b/instrumentation/spring-webmvc/pom.xml @@ -12,6 +12,8 @@ ${project.basedir}/../.. + 1.6 + java16