Brave Versions Save

Java distributed tracing implementation compatible with Zipkin backend services.

6.0.3

1 month ago

Brave 6.0.3 including the following minor changes. Thanks very much to @reta and @anuraaga for review support!

  • fixes bug that allowed setting local or remote service names to the empty string ("")
  • fixed thread safety issue when using Tag.tag
  • ports brave-instrumentation-mongodb to work on the new org.mongodb:mongodb-driver-core v5
    • Note: the floor JRE of this instrumentation is now 1.7, where it formerly was 1.6
  • changes license headers to SPDX style, as used in zipkin and zipkin-reporter

Full Changelog: https://github.com/openzipkin/brave/compare/6.0.2..6.0.3

6.0.2

2 months ago

Brave 6.0.2 fixes a propagation glitch on kafka streams processors using context.forward(). Tons of thanks to @frosiere for the help on this! We also changed how dependencies are managed so that less false-positives show up due to our backwards compatability testing. We appreciate your continued use and feedback!

Full Changelog: https://github.com/openzipkin/brave/compare/6.0.1..6.0.2

6.0.1

3 months ago

Brave 6.0.1 simplifies internals of the json encoder and kafka-streams instrumentation. It also fixes a bug where a Tag<Throwable> passed to MutableSpanBytesEncoder.zipkinJsonV2 always used the key "error" even when set to something else. Finally @reta fixed a flakey JMS integration test which was plaguing our CI builds!

Full Changelog: https://github.com/openzipkin/brave/compare/6.0.0..6.0.1

6.0.0

4 months ago

Brave 6 removes all modules and functions deprecated in Brave 5.x. It no longer has any dependency on io.zipkin.zipkin2:zipkin. Special thanks to @reta and @anuraaga for a lot of review support leading to this release!

No more deprecated functions

The final release of Brave 5 with deprecated functions was 5.18.1. Removing these functions was the only way to decouple Brave from zipkin's core library (io.zipkin.zipkin2:zipkin). However, this does not change Brave's floor Java 6 support. We still integration test this via the brave-example repository.

Here's an example of a working Java 6 and Spring 2.5 application, which is 280KB smaller due to use of the lean combination of Brave 6 and Zipkin Reporter 3.x:

# brave 5.18.1
3860    target/brave-example-webmvc25-1.0-SNAPSHOT.war
# brave 6.0.0
3580    target/brave-example-webmvc25-1.0-SNAPSHOT.war

No more io.zipkin.reporter2:zipkin-reporter or io.zipkin.zipkin2:zipkin dependencies

io.zipkin.brave:brave-bom used to manage zipkin-reporter dependencies. Since Brave no longer has dependencies on zipkin, it no longer manages them.

This impact is that users will need to manage their own versions for zipkin-reporter, likely via io.zipkin.reporter2:zipkin-reporter-bom described in the zipkin-reporter README.

To fully remove a zipkin core library dependency from your traced applications, use io.zipkin.reporter2:zipkin-reporter-brave 3.x AsyncZipkinSpanHandler. This is described in the zipkin-reporter README. You can expect currently maintained frameworks to do this on your behalf.

Thanks for your patience with the major upgrade. Things like this allow easier maintenance and a longer life for Brave, particularly as zipkin-server moves ahead with later Java versions.

Full Changelog: https://github.com/openzipkin/brave/compare/5.17.1..5.18.1

5.18.1

4 months ago

Brave 5.18 prepares for Brave 6 by deprecating instrumentation for libraries not released in 1.5-3.5 years including:

  • context/rxjava2 - last released Feb 2021
    • replaced by RxJava3, but unlikely this module will be ported as it wasn't used widely.
  • instrumentation/dubbo-rpc - (alibaba) last released Dec 2021
    • replaced by Apache Dubbo instrumentation/dubbo
  • instrumentation/p6spy - last released July 2020
    • project dormant
  • instrumentation/sparkjava - last released July 2022
    • project dormant

A minor change is we changed the artifact we use to test MySQL 8 to com.mysql:mysql-connector-j (instead of mysql:mysql-connector-java), to ensure we validate against current versions. Thanks @m1ngyuan for the help on this.

Full Changelog: https://github.com/openzipkin/brave/compare/5.17.1..5.18.1

5.17.1

4 months ago

Brave v5.17.1 fixes a bug where the jars that should be at Java 1.6 or 1.7 bytecode were not.

Full Changelog: https://github.com/openzipkin/brave/compare/5.17.0..5.17.1

5.17.0

4 months ago

Brave 5.17.0 updates all versions to latest and renovates the build so that it can work on JDK21. Thanks in particular to @ShenFeng312 for work updating to Dubbo 3.

It also changes the brave-tests dependency to rely on junit-jupiter instead of junit 4, removing rev-locks and CVE warnings from downstream users. Jupiter was assisted by OpenRewrite automated refactoring by @TeamModerne.

Thanks finally, to those who helped with maintenance, bugs and test backfilling in the last 6 months including @JochemKuijpers @sprimonk @strehle @mauhiz @1derian @charley-zhang @pen4 @rewolf @mustafau and @jcchavezs

Full Changelog: https://github.com/openzipkin/brave/compare/5.16.0..5.17.0

5.16.0

1 year ago

What's Changed

New Contributors

Full Changelog: https://github.com/openzipkin/brave/compare/5.15.1...5.16.0

release-5.15.1

1 year ago

What's Changed

New Contributors

Full Changelog: https://github.com/openzipkin/brave/compare/5.15.0...release-5.15.1

5.15.0

1 year ago

What's Changed

Full Changelog: https://github.com/openzipkin/brave/compare/5.14.1...5.15.0