Skip to content

Releases: keen/keen-js

v5.0.0

29 May 11:35
Compare
Choose a tag to compare

Updates:

  • dependencies

We strongly recommend you to use standalone packages:

v4.3.0 Module Updates

Automated Event Tracking (browser)

02 Oct 17:54
Compare
Choose a tag to compare

Module Updates:

[email protected]: Automated Event Tracking (browser-only)

This release includes [email protected] with automated event tracking (browser-only), along with an important patch that prevents failures when the Event API returns malformed response: keen/keen-tracking.js#88.

v4.1.0 Bug Fixes and Dependency Updates

20 Sep 21:35
Compare
Choose a tag to compare

Module Updates:

[email protected]: Fix Queue Polling

[email protected]: Bug Fixes and Dependency Updates

With this release we have also updated the encoding settings for our AWS CDN uploads to ensure JS files are served with UTF-8 encoding, thus fixing the D3-related issue where special characters break without explicitly setting this in the browser.

Hello, Version 4

25 Aug 18:57
Compare
Choose a tag to compare

This release replaces all functionality found in v3 with three standalone modules, listed below, as a bundled distribution. Documentation, bug tracking, and feature development will continue to reside in each module's respective repo. Read about getting started here.

Stream: keen-tracking.js
Documentation | Issues | Upgrade guide
What to expect: One breaking change to a utility method, otherwise a full drop-in replacement.

Compute: keen-analysis.js
Documentation | Issues | Upgrade guide
What to expect: Several breaking changes, significant rework of HTTP methods, and a much better interface for handling requests for all API resources.

Visualize: keen-dataviz.js
Documentation | Issues | Examples | Upgrade guide
What to expect: Several breaking changes, significant rework of internal props.

When keen-js is loaded as a global, these packages will be assigned to a shared Keen namespace. If you only need select functionality, we recommend using the standalone packages, which can each installed independently, via npm.

v3.5.0 Cancel Requests In-Flight

25 Aug 18:51
Compare
Choose a tag to compare

New:

  • Resolves #365 by allowing active requests to be cancelled – big thanks to @codingtwinky for this contribution (#370).

Fixed:

  • Properly detect global object (#418).

New features, fixed scoped key generation

18 Feb 05:15
Compare
Choose a tag to compare

This release is dedicated to my friend, Aubrey Howell. Aubrey was in a horrible bicycle accident over the weekend and is currently in critical condition with a severe brain injury. An army of Aubrey's friends and followers launched #codeforaubrey on Tuesday, dedicating their commits to her awesome energy and unstoppable determination to learn, share, and inspire. I'm dedicating this release, and all of the hard work, input, and collaboration that made it possible, to our friend Aubrey. Get well soon, Aubs! <3

There is also a GoFundMe campaign running to pool funds to help her family along in the unknowable weeks and months ahead. If you're able to contribute, please do: https://www.gofundme.com/bhdrw23w

11879067_10206255215396116_7893766251783373015_o


Fixed:

  • Scoped key generation support has been restored (#389): Recent improvements to scoped keys validation by the API invalidate keys generated by this and several other SDKs, resulting in an Invalid API Key Error. Newly generated scoped key could be successfully encrypted/decrypted, but cannot be used. This has been fixed.
  • C3.js option construction how allows for more control of the data object passed in via chartOptions (#386)
  • Fix Metric handling of empty results (#372)
  • Fixed internal error handling when using unsupported chartType values (#382)

New:

  • Automatic parsing and visualization of multi-group-by queries (#326)
  • dateFormat configuration option/method, which accepts a string or function that is used by the chosen underlying visualization suite (currently only supported by Google Charts and C3.js) (#381)
  • Improved documentation for RequireJS and JSPM use (#298, #341)
  • Removed all camelCase API parameters from docs (#387) to avoid common confusion

Want to see our Data Visualization SDK in action? All of our jsFiddles have been updated with this latest release, including dozens of C3.js and Chart.JS examples: https://jsfiddle.net/user/keen/fiddles/

3.3.0 Saved/Cached Queries and fixes

06 Nov 03:24
Compare
Choose a tag to compare
  • Add Saved Query support (#345)
  • Update c3js (#346)
  • Add missing timeframe field to queries (#348)
  • Preserve functions passed into chartOptions config (#349)
  • Unblock node version (#335)
  • include examples of custom date formatting (#327)
  • Add node 4.0 to .travis.yml config file
  • Fixed syntax error in sample code (#351)

v3.2.7 Improvements and fixes

12 Nov 19:28
Compare
Choose a tag to compare
  • Fix client.run double callback issue when multiple queries fail (#312)
  • Fix select_unique queries targeting numeric properties (#302)
  • Upgrade internal JSON dep to JSON3 (#319)
  • Remove syntax error in Dataset (#318)
  • Update documentation with better examples

v3.2.6 Dataset improvements + bug fixes

09 Jul 22:40
Compare
Choose a tag to compare

New:

  • .appendColumn/Row, .insertColumn/Row, and .updateColumn/Row methods now accept an unbounded number of values. If you insert a new column with 7 values and all other existing columns only have 3 values the write will succeed and all other columns will be extended with cells containing null values
  • A new .set method plots values into the dataset table, creating columns and rows if they don't exist

Fixed:

  • Fix labels for client.draw(query, el, cfg) constructor - disabled in previous release (#299)
  • Fix Keen.noConflict() to explicitly use window when available (ES6/Babel-friendly design re: #288)

Important note about .labels() (Dataviz): this method must be called after .data(), .parseRequest(), or .parseRawData(), and before .render() to take effect. This method executes a one-time, permanent modification of the underlying Dataset instance, and will be overwritten every time the chart consumes new data.