Snowplow Java Tracker v0.8.0
Restructured the API, simplified the Tracker and enhanced emitter performance.
Performance
- Made event sending for GET & POST Asynchronous (#157)
Architectural improvements
- Made http client configurable, thanks @dstendardi! (#146)
- Decoupled Subject from Tracker (#144)
- Made an abstract event class and add an event interface (#163)
- Ensured only String values are added to the TrackerPayload (#127)
- Fixed NPE if Collector URI is invalid (#131)
API changes
- Added builder pattern for Tracker (#148)
- Added builder pattern for Emitter (#149)
- Added builder pattern for Subject (#150)
- Added builder pattern for all Events (#147)
- Added Timing Event (#154)
- Fixed eid and dtm being incorrectly added to screen_view and timing context (#161)
- Added ability to set event ID when tracking (#133)
- Added SelfDescribingJson class (#151)
- Added builder pattern for ClientAdapters (#158)
- Made AbstractEmitter abstract again with builder patterm (#159)
- Expanded Emitter interface to include getters and setters for all parameters (#162)
- Added setNetworkUserId to Subject (#125)
- Added setDomainUserId to Subject (#124)
- Added setIpAddress to Subject (#88)
- Added setUseragent to Subject (#87)
- Updated contexts schema to 1-0-1 (#100)
- Updated payload_data to 1-0-3 (#89)
Testing
- Expanded Test Suite to cover the library properly (#160)