# 1.3.0 Automated Event Tracking (browser-only) **NEW:** * Ported functionality from the Web Auto Collector into this SDK: The interface and behaviors of this feature are a little different, but the data models produced are backward compatible (#83) * New helper: `Keen.helpers.getScrollState()`: Return an object of properties profiling the current scroll state, and optionally pass this object back into the helper again to receive a new object with updated `pixel_max` and `ratio_max` values * New helper: `Keen.helper.getDomNodeProfile()`: Return an object containing properties profiling a given DOM node * New utility: `Keen.utils.serializeForm(
, OPTIONS)`: Serialize the data of a form, with the option to ignore certain input types by passing in a `{ ignoreTypes: ['password'] }` option **FIXED:** * Wrap `JSON.parse()` in a `try/catch` block to mitigate error impact when the API returns un-parsable contents (#88) **UPDATED:** * Description meta tag content is now part of the `Keen.helpers.getBrowserProfile()` output when present # 1.2.1 Fix queue polling **FIXED:** * Fixed a queue polling issue (#84) to prevent queue from polling until events are added to the queue, allowing scripts to close properly when queues are _not_ used * Clear polling loop prior to replacing queue with a new one # 1.2.0 Fix queue exiting **FIXED:** * Fixed queue handling (#76) to clear the internal `setInterval` loop and allow scripts using queues to exit properly * Fixed async loader snippet (#77). **UPDATED:** * Updated tests and docs related to deferred event handling and queueing (#76). * Updated docs about assigning DOM listeners to anchor tags with nested elements (#72). * Include a UTC Datetime Index example in `docs/helpers.md` (#49, #70). # 1.1.4 Bug fix for React Native **FIXED:** * Fixed `window.navigator` reference to avoid errors in environments that expose non-standard `window` objects, such as React Native. # 1.1.3 Fix `recordEvents()` server usage **FIXED:** * This update fixes #66, where server usage of `recordEvents()` includes a trailing slash, resulting in a `ResourceNotFoundError` error. # 1.1.2 Fix Resource Mapping **NEW:** * This patch installs `keen-core@0.1.2` and removes the internal `events` resource mapping (now in keen-core) to fix an issue with prototype inheritance and state. # 1.1.1 Global Namespace Fix (Pt2) **FIXED:** * This patch isolates global namespace definition and installs `keen-core@0.1.1` to fix an issue where prototype methods of other SDKs were blended into this SDK's prototype. # 1.1.0 Global Namespace Fix **FIXED:** * This library will now coalesce into a shared global `Keen` namespace, rather than colliding and overwriting other modular SDKs. Check out [keen-core.js@0.1.0](https://github.com/keen/keen-core.js/blob/master/CHANGELOG.md#010-manage-modular-namespace) for details about this fix. # 1.0.3 **FIXED:** * Minor update imports keen-core.js@0.0.3 with `Keen.ready(fn)` handler and an internal `domReady` function (previously part of this library, last bit of functionality to port over to keen-core.js) # 1.0.2 **CHANGED:** * Cookie values that are strings *or* JSON can be successfully retreived using the same `.get` function form the `Keen.utils.cookie` module. The `.get` function now intelligently decides whether to return a Javascript object or a simple string value. # 1.0.1 **FIXED:** * Event properties with `undefined` values no longer throw an error when used with `Keen.utils.extend`. # 1.0.0 **NEW:** * Move core client functionality to keen-core.js (PR #40). **BREAKING:** * Replaced [cookies-js](https://github.com/ScottHamper/Cookies) with [js-cookie](https://github.com/js-cookie/js-cookie). Cookies are now encoded properly, but will require a workaround (covered [here](./README.md#cookie-migration)) to fix previous cookie data. * Removed `client.writePath()` method and `writePath` config option in favor of internal resource mapping and the `client.resources()` method. # 0.1.1 **CHANGE:** * Publish to bower # 0.1.0 **CHANGE:** * Reworked `.url()` method to use resource templates, with an internal collection that makes specific API URLS easy to request and customize. # 0.0.5 **FIXED:** * Define noop func when no callback is provided (fixes #34) # 0.0.4 **FIXED:** * Fix reference to proper lib file for server usage (#32) **NEW:** * Upgrade internal JSON dep to JSON3 (#33) # 0.0.3 **FIXED:** * Each `Keen.utils.cookie` instance now returns `null` for single undefined properties (#30) **NEW:** * Each `Keen.utils.cookie` instance now has an `.enabled()` method that returns `true` or `false` # 0.0.2 **NEW:** * Synchronous XHR option (#28, ported from keen-js) **BREAKING:** * `.recordEvent` XHR calls now use POST, mirroring previous keen-js functionality (#27). * `client.url()`: The previous keen-js implementation of `client.url()` automatically included `https://api.keen.io/3.0/projects/PROJECT_ID` + a `path` argument ('/events/whatever'), which severely limited its value. It now only returns `https://api.keen.io` + the path argument. # 0.0.1 Hello, world! **NEW:** * [Everything](./README.md) :)