Snowplow Java Tracker v1.0.0 released

We are pleased to announce the release of our Snowplow Java tracker version 1.0.0.

This release brings the Java tracker out of “Early Release” and into “Maintained” status.

We’ve added a new API for creating and managing trackers, using the new Snowplow and Configuration classes. The Unstructured event type has been renamed to the more accurate SelfDescribing.

Creating a tracker can now be this simple:

Snowplow.createTracker("trackerNamespace", "appId", "http://collectorEndpoint");

Other improvements include better default configurations, configurable event sending retry, optional cookie persistence, and one less dependency (no more Guava).

New features:
Rename Unstructured events to SelfDescribing (#296) breaking change
Set default HTTP status codes not to retry on (#337) breaking change
Restore Emitter callbacks for success and failure (#339) breaking change
Add close() to Emitter interface and Tracker (#357) breaking change
Remove SimpleEmitter (#341) breaking change
Add a Snowplow interface with the ability to initialize and manage multiple trackers (#340)
Add support for storing cookies in OkHttpClientAdapter (#336)
Add a maximum wait time and jitter to event sending retry (#338)
Reduce the default maximum event buffer capacity (#352)
Deprecate Builder classes (#355)
Standardise API for Tracker and Subject Builders (#302)
Remove Guava dependency (#320) - thanks @LeoNiedermeier for the suggestion!

Under the hood:
Add admin workflow for automatic issue labelling (#346)


Java tracker version 1.0.0 is available on Maven Central. Read the full migration guide here.
The project’s source code can be found here.