Add CI build on Linux and update build instructions (#50)
Add support for Linux in desktop context (#47)
Add support for Linux when generating UUIDs (#46)
Use a common Event base class for all event types (#51)
Add emitter callback function (#7)
Add customizable no-retry HTTP status codes (#54)
Expose an interface for storage and make it configurable (#48)
Add a header file that includes all the published APIs (#55)
Upgrading to v0.3.0
There are a few breaking changes in this release. Please make sure to:
Remove the Tracker:: prefix when referring to event types, e.g., use ScreenViewEvent() instead of Tracker::ScreenViewEvent().
Use the common tracker->track(event) function to track events (instead of tracker->track_self_describing_event(event), tracker->track_screen_view(event), ...).
Use the event.set_context(context) and event.set_true_timestamp(tt) setters instead of accessing event.contexts and event.true_timestamp directly.
Event IDs are no longer accessible from the event objects but are returned from the tracker->track(event) function.
Emitter and ClientSession no longer accept database path string for storage but require an instance of SqliteStorage (or other storage implementation, see the docs).
Use #include "snowplow.hpp" to import all public APIs of the tracker instead of including individual files.
Documentation
The partial changes in documentation have already been reviewed. Here is a complete PR with all the changes.
Changelog
Upgrading to v0.3.0
There are a few breaking changes in this release. Please make sure to:
Tracker::
prefix when referring to event types, e.g., useScreenViewEvent()
instead ofTracker::ScreenViewEvent()
.tracker->track(event)
function to track events (instead oftracker->track_self_describing_event(event)
,tracker->track_screen_view(event)
, ...).event.set_context(context)
andevent.set_true_timestamp(tt)
setters instead of accessingevent.contexts
andevent.true_timestamp
directly.tracker->track(event)
function.Emitter
andClientSession
no longer accept database path string for storage but require an instance ofSqliteStorage
(or other storage implementation, see the docs).#include "snowplow.hpp"
to import all public APIs of the tracker instead of including individual files.Documentation
The partial changes in documentation have already been reviewed. Here is a complete PR with all the changes.