All notable changes to the Branch Web SDK will be documented here. The Branch Web SDK adheres to Semantic Versioning.
- Splits out the Titanium SDK from the Web SDK repo
- Adds Code creating, applying, validating to web testbed
- Fixes undefined function
a.L()
with minified build inaddListener()
method - Fixes setIdentity() and logout() functions failing to manage Cordova sessions properly
- Fixed an issue that only loaded the first link click data the user ever clicked on
- Adds the
.first()
method to the Web SDK, from Titanium and Cordova - Fixes the Titanium and Cordova
.first()
methods
- Fixes an issue that failed to logout sessions
- Fixed an issue with certain requests not working in IE10 and IE11
- Fixes mobile saucelab tests and issue with silent failures
- Fixes issue with Cordova SDK not loading previous session if present
- Fixes issue with Cordova SDK which caused the close method to fail
- Fixes bug with JSON parsing from stored session
- Adds Appcelerator Titanium Module
- Adds a simple event listener, with events for
branch.banner()
- Refactors session storage to make use of sessionStorage, localStorage, cookies, JavaScript objects, and Titanium properties
- Adds Smart Banner Option to specifiy if the banner will show on an iPad
- Adds previously Cordova only functions to Web:
creditHistory()
,getCode()
,validateCode()
, andapplyCode()
- Fixes bug with iOS and Android app banner not opening
- Behind the scenes improvement to retry all XHR and JSONP requests 3 times if they fail or timeout
- Adds
referring_link
property to bothinit()
anddata()
methods that returns the referring link, if available.
- Specify whether the app banner is "sticky" (position: fixed) on desktop and mobile
- Set the app banner to either never show a second time, or wait a specified number of days before showing again
- Adds
customCSS
property to banner to allow custom styles
- Fixes body element position when banner is shown with
body { position: relative; }
orbody { position: absolute; }
- Fixes body background image position when banner is shown
- Fixes IE11 bug with XHRRequests that caused an InvalidState error
- Integration tests
- Adds smart banner position option, with possible values: 'top', or 'bottom'
- Adds data_parsed to branch.init() and referring_data_parsed to branch.setIdentity()
- Adds a
branch-banner-is-active
class to the body element when the smart banner is open, and removes it when the banner is closed - Fixes issue with Cordova open method
- Fixes bug in link creation without data
- Adds option to customize "Send Link" text in banner
- Fixes bug with dead-code elimination
- Add Cordova version of SDK! Add Cordova guide and add upgrade guide
- Fixes bug with app banner that caused the SMS waiting indicator to be misplaced
- Correctly implement queue
- Switches Web SDK to using Branch Key rather than App ID
- Adds
closeBanner()
method
- Fixes bug that caused errors to not be thrown
- Adds PhantomJS tests on CircleCI
- Add app id to sms sending
- Fixes and adds tests link_identifier not passing through to session
- Line break and wrap long app titles and descriptions in app banner
- Much more consistent error handling - we always pass errors to callbacks, unless there is no callback specified, in which case we always throw them.
- Added a ton of tests!
- Preserve existing body classes - thanks @IsaiahJTurner!
- An issue with the app banner when
iframe: false
- Added disableHide option to banner, allows you to control if the banner lets the user disable (close) the banner.
- Added showiOS option to banner, replaces showMobile, allows you to control if the banner shows on iOS devices.
- Added showAndroid option to banner, replaces showMobile, allows you to control if the banner shows on Android devices.
- Added makeNewLink option to banner. If set to true, forces the creation of a new link, even if one already exists.
- JSONP requests on white-labelled domain links (fixes app banner for apps with white-labelled domains in IE9/10).
- Added forgetHide option to banner, allowing you to show the banner even if the user has disabled it.
- bower and npm: you can now
bower install branch-web-sdk
ornpm install branch-sdk
to get the Branch SDK! - RequireJS and CommonJS: you can now use the Branch library in both RequireJS and CommonJS contexts; just
require('branch')
ordefine(['branch'], function(branch) { ... });
!
- sendSMS() Incorrect URL path for link clicks when using whitelabeled domains
- sendSMS() Undefined method when sending SMS with minified Web SDK
- banner() Uncaught TypeError on iOS and Android app banner
- banner() Width of banner slightly more than 100% width on iOS Safari
- Fallback when sessionStorage is not available, i.e. on Mobile Safari Private mode.
- identify() changed to setIdentity(). setIdentity() now accepts a single string
identity
and callback, rather than an object{ identity: "string" }
and a callback. - appBanner() changed to banner(). The banner still accepts a link data parameter, but now includes an options parameter. This allows custom Download and Open text:
openAppButtonText
ordownloadAppButtonText
, and the banner can be selectively disabled on either mobile or desktop. The banner will display the relevant text, dependent on whether the user has the app installed. The banner is now also embeded, by default, in an iFrame in order to isolate the CSS. This can optionally be turned off by settingiframe: true
in the options parameters. - createLink() changed to link().
- createLinkClick() removed.
- showReferrals() changed to referrals().
- showCredits() changed to credits().
- redeemCredits() changed to redeem().
- SMSLink() changed to sendSMS(). Additional parameter added: Now accepts,
metadata
,callback
, and a third boolean valuemake_new_link
which forces the creation of a new link, even if one already exists.
- Error with IE10 when hosting on http
- Numerous bugs, errors, and typos
- Smart app sharing banner improvements: The app banner has been significantly improved both stylistically, and functionally. The banner now mimics the style and animations of the native iOS 8 Smart App Banner on iOS devices, and has a beautiful material design look and feel on Android devices. Additionally, the banner has several contextual awareness features: 1. The banner stores in the session if the user has closed it, and it will stay closed on future page reloads. 2. The banner will show Download text if they user does not have the app installed, or if Branch has a record of the user installing the mobile app, it will instead show Open text.
- gzip compression
- Closure compiler Unit tests
- Numerous bugs
- https
- Overall code cleanup and reorganization