Skip to content
Compare
Choose a tag to compare

New Features

  • Options to disable all tracking or just page-load tracking in +track bundles. We don't expect these new options to be useful to anybody except us at Ravelin, as we're in the process of writing a shim to replace some old JavaScript scripts with something using RavelinJS v1 under the hood.

Removed

  • We've removed the sourcemap files and the annotations from the bottom of built files.
Compare
Choose a tag to compare

New Features

  • You can now install v1 in un-minified, with-comments UMD/CommonJS format from npm. If you're using a JavaScript build system already this might make keeping up-to-date simpler for you. (#132 #138)
  • For track bundle users, you can now provide a page initialisation option which is used to annotate the initial page-load event with extra descriptions. For single-page apps where you might call r.track.load() you can pass these in as r.track.load(page). (#144)
dba6697
Compare
Choose a tag to compare

New Features

  • The session ID cookie has been moved from the track bundle into core, so you will find this new cookie if you are not using track. This will help extend the usual lifetime of the

Bug Fixes

  • XMLHttpRequests which resolve with status zero are retried (#102)
  • Rejected Promises are never a plain object any more, as Sentry error reporting didn't like it (#102)
  • Firefox "can't access dead object" errors may have been fixed (#105)

Thanks

Kali became a member of the Ravelin family on June 21st 2019. After the stress of her previous home left her unwell several times per year, Kali was taken to an adoption centre when the owner's child became allergic. Fortunately, this lead her into the care and support of Jo. A path I'm sure many Ravelinos can relate to. Those of us lucky enough to have cat-sit for Kali will remember her fondness for chasing things under a blanket and nose-boops when she's happy.

d513316
Compare
Choose a tag to compare

New features

  • There is a new Ravelin.track.event(name, [props]) method for sending custom events to the Ravelin API.
  • A new Ravelin({id: ...}) constructor option allows you to set a device ID instead of Ravelin generating one for you. The id you provide can be either string or Promise form. If a given Promise errors or resolves to an empty value, Ravelin's own device ID tracking will kick in again, so you may still want to configure cookie below.
  • A new Ravelin({cookie: "ravelinDeviceId"}) constructor option allows you use a different cookie name for the Ravelin device ID. If you already have a device ID in a cookie then this is a nice way to ask Ravelin to use it. Ravelin will attempt to re-create the cookie with the same value if it notices that it disappears. Note that adding this option, or changing it will lose all existing device IDs as we now look somewhere else for them, so only set when first integrating.
  • A new Ravelin({cookieExpiryDays: 365}) constructor option allows you to set the lifetime in days that a device ID cookie we set will persist. The default is 365.
  • The default Promise that Ravelin will use is now exported through Ravelin.Promise so that you can use it as a construction option when using the +promise bundles.

Bug fixes

  • Page-load events were being submitted with type and name swapped. They've been put back the correct way around now.
  • The autogenerated table of contents on the README now correctly links to headings that contain </> symbols, e.g. ravelin.core.id(): Promise<string>.
4603a4a
Compare
Choose a tag to compare

This release marks the first official release of Version 1. Thank you to everybody who contributed to ravelinjs v1 and offered input and feedback on its development. Compared to RavelinJS Version 0, Version 1 offers:

  • A standalone script, with no additional assets loaded from a CDN.
  • Automatic detection of which environment to connect to. Just provide your API key.
  • Improved testing and better cross-browser compatibility. Tests now cover API connectivity in many scenarios across IE8-IE11 and all modern browsers.
  • Focused bundles of RavelinJS split by the components you use, so you can serve the smallest possible assets.
  • Better privacy for your customers, with heavy-handed device fingerprinting removed.
  • Integration of Promises for asynchronous operations.
  • A contributing guide.

Please consult the README and Quickstart Guide for a full set of features and how to get started.

To mark this special occassion, we wish to dedicate this release to Barry.

A 10-year old Lurcher dog named Barry

Barry first set foot in the Ravelin office in March 12th 2019 and was an instant hit with everyone. He has a wonderful, gentle demeanour and enjoys leaning on his friends for a good scratch. A few of us had the delight of visiting Barry before an outing back in February, and it was lovely to see he was just as excited to see us as we were him. Hope to see you again soon, Barry! We'll bring more treats.

Compare
Choose a tag to compare

v1.0.0 - RC1

Pre-release
Pre-release

This is a work-in-progress release of #34. Changes since v1.0.0-rc0:

  • There is a v1.0.0 README with quickstart and upgrade guide.
  • Integration tests are now run against the minified ravelin-core+track+encrypt+promise bundle.
  • There is a new core-only bundle.
  • Any errors encountered in ravelin.core.id are reported back to Ravelin.
  • Removed ravelin.core.device for now.
  • Added copyright and version number to release filenames and headers.
  • Fixed a function-binding bug in IE8.
Compare
Choose a tag to compare

v1.0.0 - RC0

Pre-release
Pre-release

This is a work-in-progress release of #34. Docs updates are coming next - so the README is not up-to-date.

For simple device IDs and page tracking the highlights are:

<script src="ravelin-core+track+promise.min.js"></script>
<script>var r = new Ravelin({key: "publishable_key_..."});</script>

after which you can then read the deviceId from the ravelinDeviceId cookie (asynchronously written) or r.core.id() which returns a Promise. Be sure to send the device: {deviceId: ...} with the order in the back-end request.

b7c15be
Compare
Choose a tag to compare

This update provides a fallback mechanism should there be issues with loading the ravelin-hosted JavaScript used for device and page tracking. It is now recommended that you host a local copy of https://cdn.ravelin.net/js/rvn-0.1.18-lite.min.js and pass its path to setFallbackJS before calling setPublicAPIKey. For information on using this update, please see #32.

The setFallbackJS functionality will be redundant, and hence removed in the upcoming 1.0.0.

Also available on npm: https://www.npmjs.com/package/ravelinjs/v/0.1.0

176183f
Compare
Choose a tag to compare

The user-facing change in this update is supporting 12-digit PANs for Maestro (#27), but also comes with some stability tweaks to the test suite that we run fairly frequently (#26).

Also available on npm: https://www.npmjs.com/package/ravelinjs/v/0.0.13