forked from snowplow/snowplow-javascript-tracker
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCHANGELOG
387 lines (345 loc) · 16.2 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
Version 2.5.3 (2015-11-10)
--------------------------
Bumped Node version to 4.1.2 in .travis.yml (#420)
Bumped Intern version to 3.0.6 (#370)
Bumped version of temporary to 0.0.8 (#425)
Bumped grunt-yui-compressor to 0.4.0 (#424)
Bumped grunt-browserify to 3.28.1 (#427)
Fixed jstimezonedetect version at 1.0.5 (#429)
Removed Browserify from devDependencies (#428)
Made extraction of DOM element classes compatible with IE9 (#418)
Stopped dereferencing undefined nodes when setting up form tracking (#423)
Version 2.5.2 (2015-08-13)
--------------------------
Prevented the tracker from setting cookies on initialization if "useCookies" is disabled (#403)
Remove tests for unsupported environments (#406)
Version 2.5.1 (2015-07-27)
--------------------------
Fixed prerender detection (#391)
Made page title tracking dynamic (#392)
Added warning about using a file URL to example pages (#397)
Version 2.5.0 (2015-07-22)
--------------------------
Generated a unique session ID for each new session (#347)
Added a page view UUID (#369)
Maintained visit count when cookies are disabled (#388)
Bumped payload_data schema to 1-0-3 (#385)
Added Grunt task to build the tracker skipping the lodash and minification tasks (#382)
Added ability to configure the session cookie timeout in the argmap (#383)
Removed deprecated performanceTiming argument to trackPageView (#375)
Added ability to pass a context-generating function to trackPageView (#372)
Removed configWriteCookies setting (#390)
Updated browser feature detection tests (#378)
Version 2.4.3 (2015-04-15)
--------------------------
Added License button to README (#357)
Set the ID cookie as soon as the tracker loads (#358)
Updated the session count as soon as the tracker loads (#361)
Made single events exceeding the maximum POST request size attempt to fire exactly once (#359)
Fixed querystring decoration for links with inner elements (#360)
Version 2.4.2 (2015-04-07)
--------------------------
Set a maximum size for POST requests (#353)
Fixed QuotaExceededError bug (#352)
Version 2.4.1 (2015-03-27)
--------------------------
Counted any 2xx or 3xx collector response to a POST request as successful (#343)
Counted any 4xx or 5xx collector response to a POST request as failed (#344)
Prevented the localStorage event buffer from being flushed more than once simultaneously (#345)
Cancelled the XMLHttpRequest timeout callback when the request fails (#348)
Stopped adding null PerformanceTiming context (#354)
Version 2.4.0 (2015-03-16)
--------------------------
Added ability to modify links allowing cross-domain tracking (#109)
Added timing event (#320)
Increased safety of document size detection (#334)
Started randomly generating ngrok subdomain in integration tests (#333)
Fixed Vagrant setup to use latest Peru version (#336)
Stopped caching page URL and referrer URL (#337)
Stopped caching PerformanceTiming context (#339)
Added common contexts to link_click, change_form, and submit_form events (#340)
Version 2.3.0 (2015-03-03)
-------------------------
Added support for sending events via POST (#168)
Removed dependency on fblundun fork of grunt-yui-compressor (#172)
Added support for batching events (#186)
Started sending PerformanceTiming context with all events (#317)
Added ability to send geolocation context with all events (#191)
Added ability to send context containing all GA cookies with all events (#253)
Improved document height detection (#236)
Added integration tests (#154)
Added functional tests for document size detection and browser features (#270)
Added ability to whitelist or blacklist specific forms and specific form fields (#287)
Added dedicated Vagrant setup (#312)
Added Vagrant "push core" to build and publish Tracker Core (#315)
Added Vagrant "push tracker" to build and deploy JavaScript Tracker (#313)
Renamed deploy to dist (#319)
Stopped sending NaN for page scroll offsets (#324)
Version 2.2.2 (2015-03-03)
--------------------------
Corrected time at which minimum and maximum scroll offsets are reset (#325)
Version 2.2.1 (2015-01-28)
--------------------------
Fixed QuotaExceededError bug with localStorage in Safari (#308)
Stopped sending empty PerformanceTiming context (#306)
Prevented PerformanceTiming context being sent multiple times (#309)
Stopped automatically setting Cloudfront URL in synchronous tracker, thanks @vassilevsky! (#311)
Fixed lodash-cli version at 2.4.2 (#314)
Prevented accidental publication of snowplow-tracker to npm (#300)
Added missing tid ticket to CHANGELOG under 2.1.0 (#302)
Version 2.2.0 (2014-12-15)
--------------------------
Made trackerDictionary object available in onload callbacks, thanks @murphybob! (#294)
Ensured all page offsets are integers (#291)
Added public method to get duid (#289)
Added public method to get user fingerprint (#288)
Added bundle.js to deploy/.gitignore (#281)
Started using grunt-cloudfront for cache invalidation (#276)
Added ability to disable use of localStorage (#181)
Added ability to disable cookies (#140)
URL encoded custom contexts if base 64 encoding is disabled (#299)
Version 2.1.2 (2014-11-15)
--------------------------
Removed requestEnd field from PerformanceTiming context (#285)
Version 2.1.1 (2014-11-06)
--------------------------
Rounded chromeFirstPaint field to an integer (#282)
Version 2.1.0 (2014-11-05)
--------------------------
Added automated form submission tracking (#252)
Stopped outbound queue from triggering multiple times per event (#251)
Added PerformanceTiming context using HTML5 Web Performance API (#248)
Added ability to execute a custom callback once sp.js is loaded (#246)
Added internal site search event (#241)
Started using grunt-cloudfront-clear for CloudFront cache invalidation (#230)
Renamed /dist to /deploy (#216)
Moved context querystring to end of JS-generated beacons (#204)
Added guard to wait until outbound queue is empty before unloading (#202)
Added event_id generation (#190)
Stopped sending tid (#218)
Added content field to link click events (#187)
Replaced "Getting started" with Vagrant-using "Contributing quickstart" (#169)
Added async-large.html (#162)
Improved F rating for tracker.js in CodeClimate (#150)
Added trackAddToCart and trackRemoveFromCart events (#97)
Added further Intern unit tests (#76)
Added social tracking features (#12)
Improved efficiency of enableLinkClickTracking (#254)
Integrated the Tracker Core (#255)
Removed deprecated trackImpression method (#256)
Added forceSecureTracker boolean option to the argmap, thanks @kujo4pmZ! (#247)
Moved link click tracking into its own file (#266)
Made IP address regex more strict (#267)
Updated expected browser fingerprints in functional detectors test (#275)
Added check to ensure outQueue is an array, thanks @kevinsimper! (#277)
Version 2.0.2 (2014-10-20)
--------------------------
Changed default configCookiePath to "/" (#250)
Version 2.0.1 (2014-10-12)
--------------------------
Made error logging compatible with Internet Explorer (#264)
Fixed SauceLabs red status (#235)
Version 2.0.0 (2014-07-03)
--------------------------
Moved fixUpUrl into its own file, called lib/proxies.js (#112)
Fixed duplication of querystring parameter lookup (#111)
Added tests for helpers.js (#96)
Added tests for detectors.js (#95)
Replaced cookie.js with browser-cookie-lite (#88)
Added ad conversion tracking (#60)
Added ad click tracking (#59)
Added initial localStorage support for intermittent offline beacons, thanks @rcs! (#24)
Added new trackAdImpression, mapping to unstructured event (#13)
Removed references to referral cookie (#118)
Implemented enableLinkTracking support (#51)
Replaced hard-coded version with template value (#120)
Added Sauce Labs small button at top of README (#123)
Added Sauce full test summary widget (long bar) at bottom of README (#124)
Added support for namespacing (#4)
Passed tracker namespace through to collector in Tracker Protocol (#126)
Moved to argmap-style tracker creation with 'newTracker' (#132)
Added support for cookie namespacing (#131)
Added new tag which allows queue to be renamed (#130)
Started rigorously checking whether a page is cached by Yahoo (#142)
Upgraded Intern to 1.5.0 (#119)
Fixed link to code climate button in README.md (#149)
Added examples of tracker namespacing (#159)
Split async.html into async-small.html, async-medium.html (#160)
Linked the Technical Docs and Setup Guide images to the appropriate pages (#164)
Made JS invocation tag part of the build process (#158)
Fixed warnings generated by the Closure Compiler, thanks @steve-gh! (#170)
Added untracked files which should be ignored to .gitignore (#173)
Removed ads/sync.html (#182)
Updated ads/async.html (#183)
Added pageUnloadTimer option to argmap (#171)
Removed type hints from unstructured events and custom contexts (#163)
Added hardcoded schema to custom context arrays (#199)
Added hardcoded schema to unstructured events (#196)
Changed trackUnstructEvent to take a JSON containing schema and data fields (#197)
Version 1.0.3 (2014-06-27)
--------------------------
Changed Base64 encoding function to prevent character encoding errors, thanks @shermozle! (#231)
Version 1.0.2 (2014-06-24)
--------------------------
Added guard to prevent document size field from being set as "NaNxNaN" (#220)
Fixed Grunt publish tasks to build sp.js as well as upload it to S3 (#224)
Added cache control to Grunt upload for full semantic version (#225)
Version 1.0.1 (2014-04-09)
--------------------------
Fixed lodash.js to work in the presence of AMD modules (#165)
Added missing variable declarations (#166)
Version 1.0.0 (2014-03-27)
--------------------------
Added extra meta-data to package.json (#83)
Moved part of banner.js into Gruntfile with grunt-concat's banner option so its values are based on package.json (#82)
Started using Browserify for modules (#74)
Replaced some/all of lib/.js with modules (#7)
Added user fingerprinting on/off switch and configurable hash seed (#7)
Deprecated trackImpression (#66)
Removed attachUserId as fully deprecated now (#64)
Removed setSiteId as fully deprecated now (#63)
Removed getVisitor-Id, -Info as fully deprecated now (#62)
Removed trackEvent as fully deprecated now (#61)
Tightened public API for SnowPlow (#29)
Renamed SnowPlow everywhere to Snowplow (#69)
Prepended window. or SnowPlow.windowAlias. onto _snaq everywhere (#39)
Removed legacy Piwik plugin framework (#56)
Moved hasSessionStorage and hasLocalStorage into detectors.js (#91)
Wrote tests for AsyncQueueProxy (#100)
Added Travis CI to the project (#103)
Added a built with Grunt button to the README (#102)
Added codeclimate button to README (#137)
Added named Grunt tasks (#86)
Added Intern unit tests for payload.js (#5)
Replaced all functions in identifiers.js which are directly available from lodash (#85)
Moved functions from identifers.js into payload.js and wrote Intern tests for them (#108)
Added getting started info for developers to README, thanks @pkallos! (#129)
Version 0.14.1 (2014-03-12)
---------------------------
Fixed bug where fromQuerystring was matching fragments instead of just the querystring (#116)
Version 0.14.0 (2014-02-12)
---------------------------
Bumped version to 0.14.0
Removed all DEBUG blocks from codebase (#65)
Renamed requestStringBuilder to payloadBuilder and moved it into its own file, payload.js (#55)
Introduced gzipped sp.js library (#48)
Updated grunt and intern dependencies (#54)
Replaced snowpak.sh with Grunt and grunt-yui-compressor (#53)
Added setUserIdFromReferrer and setUserIdFromLocation (#57)
Added ability to pass a referrer to Snowplow from an IFRAME (#1)
Tested setDoNotTrack and renamed it to respectDoNotTrack (#28)
Moved detect...() functions into new file context.js (#37)
Moved cookie-related functionality into new file cookie.js (#77)
Removed getLegacyCookieName as no longer needed for migrating cookie IDs (#50)
Switched deployment to use Grunt (#58)
Added setUserIdFromCookie (#78)
Version 0.13.1 (2014-01-28)
---------------------------
Fixed bug where non-String values are not being added to our payload (#71)
Version 0.13.0 (2014-01-26)
---------------------------
Added fully retrospective CHANGELOG (#20)
Added setPlatform support, thanks @rcs! (#25)
Added currency field to ecommerce transactions (#34)
Added custom unstructured contexts (#49)
Added base64decode to Tracker (#36)
Added null check to requestStringBuilder() (#40)
Added array helpers (#41)
Fixed (harmless) bug in base64.js (#35)
Update .gitignore to be node-friendly .gitignore (#52)
Switched to Semantic versioning & only put MAJOR version in hosted path to snowplow.js (#47)
Added package.json (#38)
Added retrospective tags back in (#22)
Restructured folders (#21)
Version 0.12.0 (2013-07-07)
---------------------------
Fixed document reference to use documentAlias (#247)
Fixed bug with setCustomUrl (#267)
Changed ev_ to se_ for structured events (#197)
Fixed Firefox failure when "Always ask" set for cookies (#163)
Fixed bug in page ping functionality detected in IE 8 (#260)
Replaced forEach as not supported in IE 6-8 (#295)
Version 0.11.2 (2013-05-14)
---------------------------
Added unstructured events, thanks @rgabo, @tarsolya, @lackac (#198)
Remove leading ampersand in querystring (#188)
Version 0.11.1 (2013-02-25)
---------------------------
Fixed bug with cookie secure flag killing user ID cookies (#181)
Version 0.11.0 (2013-02-22)
---------------------------
Introduced setAppId() and deprecated setSiteId() (#168)
1st party user ID now transmitted as duid (domain uid) (part of #150)
Now sends dtm - the client timestamp (#149)
Deprecated and disabled attachUserId()
Deprecated getVisitorId() and getVisitorInfo() - use getDomainUserId() and getDomainUserInfo() instead
Added setUserId which sets the uid field (#167)
Snowplow cookies no longer tied to site ID (#148)
Version 0.10.0 (2013-02-15)
---------------------------
Updated copyright notices
Removed deprecated setAccount(), setTracker(), setHeartBeatTimer() - BREAKING CHANGE (#86)
Added document charset to querystring (#138)
Page ping no longer killed by 1 heartbeat w/o activity (#132)
Added document & viewport dimensions (#94)
Introduced trackStructEvent and deprecated trackEvent (#143)
Cleaned up getRequest code to use improved requestStringBuilder
Fixed logImpression (was using wrong argument names) (#162)
Added scroll offsets to page ping (#127)
Version 0.9.1 (2013-01-29)
--------------------------
Fixed bug where secure flag not being set on cookies sent via HTTPS
Version 0.9.0 (2012-12-26)
--------------------------
Each event now sent with an event type `e` (#63)
Refactoring of event definition code
Added attachUserId(boolean) method (#92)
Removed configCustomData from logImpression (#115)
Cleaned up activity tracking (page pings)
Added a combine only option to snowpak.sh
Version 0.8.2 (2012-12-18)
--------------------------
Fixed regressions from splitting JS into multiple files (#103)
Version 0.8.1 (2012-11-29)
--------------------------
Fixed bug with trailing comma (#102)
Removed console.log when not debugging (#101)
Removed minified sp.js from version control (added .gitignore to keep it out)
Version 0.8.0 (2012-11-28)
--------------------------
Rename ice.png to i - BREAKING CHANGE (#29)
Added setCollectorCf() and deprecated setAccount() (#32)
Tracker constructor now supports Cf or Url (part of #44)
getTrackerCf() and -Url() added, getTracker() deprecated (part of #44)
Added tracker version (`tv`) to querystring (#41)
Added color depth tracking (part of #69)
Added timezone tracking (part of #69)
Added user fingerprinting (#70)
Broke out .js into multiple files (#55)
Version 0.7.0 (2012-10-01)
--------------------------
Renamed said to aid for application ID
Version 0.6 (2012-09-05)
------------------------
Added setSiteId functionality
Added ecommerce tracking
Version 0.5 (2012-08-18)
--------------------------
Changed header comments from Doxygen format to JsDoc
Added support for specifying collectorUrl directly
Added versioning into header comment (so survives minification)
Took f_ off res and cookie; added url onto end, renamed rdm to tid
Version 0.4 (2012-05-30)
------------------------
Improved names of querystring params
Added page-url to querystring as fallback
Version 0.3 (2012-05-18)
------------------------
Updated to prepend f_ to browser features
Revised the querystring name-value pairs to make them more user-friendly
Version 0.2 (2012-05-08)
------------------------
Formalised minification process
Version 0.1 (2012-03-21)
------------------------
Initial release