Skip to content

Releases: snowplow/snowplow-python-tracker

Snowplow Python Tracker v0.7.1

11 Aug 10:52
Compare
Choose a tag to compare

Important bug fix

Bug fixes

  • Ensured synchronous flush always waits for the task queue to empty (#142)

Snowplow Python Tracker v0.7.0

07 Aug 10:06
Compare
Choose a tag to compare

Release focused on making the Tracker more robust

API changes

  • Added SelfDescribingJson class (#140)

Performance improvements

  • Made the number of worker threads used by the AsyncEmitter configurable (#136)

Bug fixes

  • Started treating all 2xx and 3xx status codes as successful (#133)
  • Made Emitter and AsyncEmitter thread-safe (#130)
  • Made synchronous flush wait until buffer is empty (#139)
  • Fixed on_failure implementation for POST requests (#135)
  • Started handling RequestExceptions (#134)

Under the hood

  • Added support for Python 2 unicode strings using six library, thanks @mthomas! (#138)

Documentation and build

  • Fixed to latest Peru version (#132)
  • Fixed code formatting in README (#129)

Snowplow Python Tracker v0.6.0.post1

14 Feb 17:25
Compare
Choose a tag to compare

Adding new functions for passing through data from an end-client

New features

  • Added set_domain_user_id method (#115)
  • Added set_useragent method (#116)
  • Added set_ip_address method (#117)
  • Added set_network_user_id method (#118)

Bug fixes

  • Started preserving unicode characters in JSONs (#123)
  • Removed unnecessary whitespace from POST requests (#110)

Under the hood

  • Updated contexts schema to 1-0-1 (#119)
  • Started sending payload_data version 1-0-2 (#113)
  • Improved logging (#109)

Testing

  • Added integration tests using mocked POST requests (#122)
  • Used Travis CI image for master branch in README (#125)

Documentation and build

  • Added license button to README (#126)
  • Added dedicated Vagrant setup (#127)
  • Added Vagrant push to publish tracker to PyPI (#128)

Snowplow Python Tracker v0.5.0

13 Aug 12:47
Compare
Choose a tag to compare

Harmonizes the Python Tracker's support for POST requests with the rest of Snowplow, but also makes its API more consistent.

Harmonization

  • Converted payload values to strings for POST requests (#100)
  • Set content type to "application/json; charset=utf-8" for POST requests (#99)
  • Changed collector endpoint for POST to /com.snowplowanalytics.snowplow/tp2 (#98)
  • Stopped setting and sending tid (#94)
  • Started setting and sending eid (#93)
  • Made the "name" argument of track_screen_view optional (#103)

New features

  • Allowed a single Tracker instance to send events to multiple Emitters (#91)

More consistent API

  • Started passing a list of dictionaries to the on_failure callback for POST requests (#104)
  • Made all tracker methods chainable (#105)
  • Stopped sending empty payloads (#106)

Snowplow Python Tracker v0.4.0

10 Jun 15:01
Compare
Choose a tag to compare

Various large improvements, including the new Subject and Emitter classes.

New Subject class

Changed user_id to be set on a per-event basis (#39)

JSON Schema support

  • Migrated unstructured events to self-describing JSON (#87)
  • Migrated custom contexts to self-describing JSON (#88)
  • Removed type hint suffixes from unstructured events (#36)

New Emitters

  • Added https support for tracker (#81)
  • Added Redis and gevent based async approach (#75)
  • Added thread-based AsyncBufferedConsumer (#74)
  • Added POST support to tracker (#70)
  • Added Redis-based queue (#45)
  • Added Buffered Consumer (#44)

Other improvements

  • Added callbacks for flushing (#78)
  • Added Python-logging (#76)
  • Added ability to specify port for collector (#72)
  • Gave separate events within an ecommerce transaction different transaction IDs (#89)

Snowplow Python Tracker v0.3.0

25 Apr 16:21
Compare
Choose a tag to compare

Various new features & configuration options, some changes to the API.

New features

  • Added support for Python 3.2 (#41)
  • Added event_vendor as argument to track_unstruct_event (#54)
  • Added currency parameter to ecommerce tracking methods (#62)
  • Added config option to disable contracts (#61)
  • Added custom context vendor configuration option (#67)
  • Added support for custom context to all track() methods (#38)

Breaking API changes

  • Moved event vendor argument to before event name and made it mandatory (#68)
  • Updated Tracker constructor to use map of optional args (#37)
  • Changed the return value of the tracking methods to a tuple (#65)

Under the hood

  • Added classifiers to setup.py (#48)
  • Added coveralls code coverage button (#64)
  • Updated so a transaction and its items have the same txnid and dtm (#25)

Snowplow Python Tracker v0.2.0

15 Apr 10:51
Compare
Choose a tag to compare

Adding Python 2.7 support, various API changes and bug fixes.

Version support

  • Added support for Python 2.7 (#42)
  • Fixed versions in requirements.txt (#47)

API updates

  • Made unrequired tracker method arguments optional (#40)
  • Changed API to no longer specify a collector URL option (#57)
  • Removed the "URL from Cloudfront subdomain" option (#56)
  • Added ability to name individual instances of the Python Tracker (#52)

Changes to events

  • Started sending event vendor parameter through on querystring (#55)
  • Added platform and tracker version to payload (#50)
  • Changed track screen view to use an unstructured event (#53)

Bug fixes

  • Fixed Pycontracts dependency (#63)
  • Changed tracker version prefix from "python-" to "py-" (#51)
  • Linked the Technical Docs and Setup Guide images to the appropriate pages (#60)
  • Validated GET payload in all integration tests (#33)

Snowplow Python Tracker v0.1.0

15 Apr 10:46
Compare
Choose a tag to compare

Initial release of the Snowplow Python Tracker