Skip to content

brave 3.0.0-rc-1

Compare
Choose a tag to compare
@kristofa kristofa released this 31 Aug 18:39
· 1481 commits to master since this release

Feature complete Release Candidate for brave v3.0.0.

This release removes quite a lot of code and complexity while maintaining same functionality + it makes it nicer to integrate with less dependencies!

This release is meant to give users the possibility to try out and give final remarks.
If you upgrade from brave 2.x you can read release notes of brave 3.0.0 alpha1 for completeness.

List of changes:

  • brave-core is dependency free except for libthrift. This should make it easier to integrate even in mobile apps (eg Android).
  • Finalization of brave-http which makes it easier to integrate in http libraries, avoids code duplication, and makes implementations uniform.
  • [Breaking] : Removal of com.github.kristofa.brave.client package. This can break your integration but switching to brave-http should leave you with cleaner and less code to maintain.
  • [Breaking] X-B3-Sampled header value is compatible with Zipkin spec. This also means integration with brave 2.x will fail.
  • Rework all http implementations to use new brave-core interceptors together with brave-http adapters
  • Module changes:
    • brave-impl-spring becomes brave-core-spring
    • New module: brave-spring-resttemplate-interceptors which adds Spring rest template support
    • New module: brave-spring-web-servlet-interceptor. This interceptor was previously part of brave-core-spring. Move to separate module.
  • Remove brave 2 thread duration annotation support
  • TraceFilter trace methods takes span id param next to span name
  • [Breaking] Better Brave setup and no more EndpointSubmitter
    • The Brave class is not a class with static access methods anymore but uses a Builder to configure and build the Brave object with your custom configuration.
    • Having to use the EndpointSubmitter felt out of place. The endpoint is setup during initialization of the Brave object now.
    • Possibility to configure custom ServerAndClientSpanState which keeps track of tracing state.

To get you up to speed with the changes it is advised to read brave-core and brave-core-spring readme and look at existing integrations.