Android Version History
v5.13.0
(2024-October-30)
- Removal of internal event caching behavior
- Addition of unique id per request in POST body
- Change in behavior of tracking controller, when re-enabled will run initialization tasks.
v5.12.4
(2024-October-01)
- Reverted the minimum SDK build version back to 21
v5.12.2
(2024-July-23)
- Add minification config for optional Billing Client
- Add additional detail in exception messages
v5.12.1
(2024-June-7)
- Added support for setting FB App ID through
branch.json
v5.12.0
(2024-April-24)
- Added new enableLogging method to set preferred logging level
v5.11.0
(2024-April-1)
- Added support for setting Branch API URL through
branch.json
- Improved performance for best case of user agent string fetch
v5.10.2
(2024-March-28)
- Master Release - March 27, 2024
- Improved start up performance for applications that are using
Branch.setIsUserAgentSync(true)
- Improved start up performance for applications that are using
v5.10.1
(2024-March-13)
- Track Meta Install Referrer view-through installs
v5.10.0 ⚠️
(2024-March-08)
WARNING: This release has a known issue with tracking Meta Install Referrers. Please use 5.10.1+ instead.
- Introduced Meta Install Referrer tracking
- Added new method for using the native Android share sheet
- Added additional logging with improved formatting
v5.9.0
(2024-February-15)
- Added new useEUEndpoint method
- Added support for setting DMA Compliance Parameters
- Removed v1/profile and v1/logout requests
v5.8.2
(2024-January-27)
- Release Branch 5.8.2 - Jan 26, 2024
- Removed deprecated field target SDK version from library manifest.
- Updated Gradle.
v5.8.1
(2024-January-19)
- Release Branch 5.8.1 - Jan 18, 2024
- Preserve logging to console when SDK is not in debug.
v5.8.0
(2023-December-12)
- Fix a condition where the SDK would not init if the Google service was unavailable to provide the Ad ID.
- Add a simple interface to echo SDK logs for developer's implementation
v5.7.5
(2023-November-28)
- Fix a race condition where two quickly queued consecutive init/reInit requests would overwrite uri arguments and return no params.
- Added more verbose trace logging
v5.7.4
(2023-November-22)
- Added check for non-hierarchical URIs when parsing query parameters.
v5.7.3
(2023-November-10)
- Master Release - Nov 9, 2023
- Updated network debug logging to reduce confusion when client side errors occur rather than attribute to server status.
- Added exception message to init callback error message.
v5.7.2
(2023-October-20)
- Added additional fields to initialization and event requests
v5.7.1
(2023-October-03)
- Fixed bug that prevented session from initializing after opening a link with gclid
- Removed remaining TUNE references
- Factored out queueing code from the Branch object
v5.7.0
(September 1, 2023)
- SDK internal logging behavior has changed. Messages will now be sent through standard channels (
ERROR
,WARN
,INFO
,DEBUG
,VERBOSE
). Before, nearly all logs were sent toINFO
. - Fixed a minification warning-as-failure thrown by the non-inclusion of the GAID library.
- Removal of
enableFacebookAppLinkCheck
getCrossPlatformIds
userCompletedAction
sendCommerceEvent
v5.6.4
(August 11, 2023)
- Bug fix: Added proguard policy to not break minification builds because of newly added compile only classes.
v5.6.3
(August 9, 2023)
- Updated Samsung Galaxy Store install referrer, to enable import
implementation("store.galaxy.samsung.installreferrer:samsung_galaxystore_install_referrer:4.0.0")
- Xiaomi referrer also available from Maven Central, import
implementation("com.miui.referrer:homereferrer:1.0.0.7")
- Removed old no op
enablePlayStoreReferrer
- Bug fixes:
- Install referrer tasks are now done in parallel
- Non-critical JSON exception is now logged as a warning
- When sharing a link by share sheet, the
userCompletedAction
event is replaced by v2/event
v5.6.2
(July 31, 2023)
- Removing:
- Credits end points
- Jetifier flag
- Firebase App Indexing
- Long deprecated public functions:
setDebug
enableDebugMode
disableDebugMode
enableSimulateInstalls
disableSimulateInstalls
ShareLinkBuilder (use BranchShareSheetBuilder instead)
- Short links can now be made while tracking is disabled.
- Google Play Billing Library is now optional. To enable, import
com.android.billingclient:billing
v5.6.1
(June 30, 2023)
- Revert the Kotlin version update from 1.8.22 back to 1.6.20.
v5.6.0
(June 28, 2023)
- Added new method for logging a Branch Event with a callback,
logEvent(Context context, final BranchLogEventCallback callback)
. - Added proguard consumer rules to prevent R8 warning on Gradle 8 builds.
v5.5.0
(June 14, 2023)
- Added support for easily logging Play Store transactions as Branch Events with
logEventWithPurchase
. - Updated handling of URL query parameters.
- Updated URI skiplist.
v5.4.0
(March 10, 2023)
- Added support for Snap partner parameters with
addSnapPartnerParameter
- For more info see: https://help.branch.io/using-branch/docs/snap-advanced-conversions#enabling-snap-advanced-conversions
v5.3.0
(March 3, 2023)
- New feature for plugin SDK developers to defer native Branch Android SDK until plugin notifies when ready
- To enable, enter this key value pair in your
branch.json
file inside of your/src/main/assets/
"deferInitForPluginRuntime": true
- This feature is opt in only for now.
- Requires plugin SDK to implement notification to native modules.
- To enable, enter this key value pair in your
- Fixes
enableLogging
feature if set inbranch.json
"enableLogging": true
v5.2.7
(Dec 7, 2022)
- Fixes a bug with setIdentity not consistently calling v1/profile
- Adds switch to prioritize referrer links for attribution over preinstall metadata
- To enable, call
setReferringLinkAttributionForPreinstalledAppsEnabled
beforeBranch.getAutoInstance(this)
- To enable, call
v5.2.6
(Oct 25, 2022)
debug
field is now included in all events, previously only on init requestssource
field moved fromdata
block to top level in v1 url requests
v5.2.5
(Oct 3, 2022)
- For user agent string, move webview instance to ui thread on init
- To use this method to obtain the user agent string, set
Branch.setIsUserAgentSync(true)
- Static WebSettings is the default
- To use this method to obtain the user agent string, set
v5.2.4
(Sep 30, 2022)
- Using alternative method to obtain user agent through WebView instance with static as fallback
v5.2.3
(Aug 29, 2022)
- Updated compile and target API to 32, updated build tools
- Changed POM scope for
firebase-appindexing
from "runtime" to "compile"
v5.2.2
(Aug 15, 2022)
- Sending app_store install source on requests
- Added default retry cap for no-internet request queues
v5.2.1
(Aug 8, 2022 )
- Removed unused IMEI strings and references in the Java
- Change setIdentity call to immediately save provided identity string instead of waiting for network call. Additionally it is sent as part of v1 open and install requests.
v5.2.0
( Jun 15, 2022 )
- Added methods to generate Branch QR codes
- getQRCodeAsData
- getQRCodeAsImage
- Added support for additional store referrer APIs. No code needed other than to import the store's referrer API artifact into your app
- Huawei App Gallery
- Samsung Galaxy Store**
- Xiaomi GetApps**
- ** Contact your Samsung or Xiaomi representative for assistance with obtaining their store referrer API artifact.
- Upgraded Google Install Referrer API
- Updated Android minimum SDK to 21
- Replaced JCenter with mavenCentral in allprojects.repositories
v5.1.5
( Jun 1, 2022 )
- Fixes an issue with previously set randomly generated configuration values being skipped over.
v5.1.4 v5.1.4 ⚠️
( Apr 29, 2022 )
WARNING: This release has a configuration issue that incorrectly marks opens as reinstalls. Please use 5.1.5+ instead.
- Fix retry logic for network requests when there is no internet availability.
- Replace "identity_id" with "randomized_bundle_token" and "device_fingerprint_id" with "randomized_device_token"
v5.1.3
( Mar 25, 2022 )
- Collect and persist GCLID
- A custom expiration window for the GCLID can be set by
public void setReferrerGclidValidForWindow(long window)
- A custom expiration window for the GCLID can be set by
- Credits related methods and fields marked as deprecated
- Fixed IllegalAccessException on API 31, using DisplayManager instead of WindowManager
v5.1.2
( Mar 10, 2022 )
- Update payloads to include generated UUID when valid GAID is retrieved, replacing hardware ID. UUID is persisted locally.
- Fix bug which spammed the log for no-op event retry attempts when tracking is disabled.
v5.1.1
( Feb 18, 2022 )
- Fix NPE if intent is null while getting referrer
v5.1.0
( Feb 9, 2022 )
- Added BranchPluginSupport class with
deviceDescription()
method. Will be used by the AdobeBranchExtension to pass device data. - Resolves timeout and non-initialization issues introducing a connect timeout, and retrying init requests.
- Possible behavior change is with the increased timeout, any operations awaiting these requests may see longer timeouts.
- To set the timeouts:
public void setConnectTimeout(int connectTimeout)
public void setTimeout(int timeout)
(Time is in milliseconds)
v5.0.15
( Nov 10, 2021 )
- Bug fixes: IntegrationValidator (ConcurrentModificationException, Decoding Resource Strings)
v5.0.14
( Oct 15, 2021 )
- Bug fixes: improper shutdown of resource, multiline server responses
- Fix crash when using Branch JSON config
v5.0.13
( Oct 1, 2021 )
- Always include Google Play Store referrer in install
- IntegrationValidator now recognizes String resources
- Fix edge case that could cause a stack overflow
v5.0.12
( Sep 21, 2021 )
- Avoid NPE when Branch reference in BranchPostTask is garbage collected
v5.0.11
( Aug 23, 2021 )
- Avoid NPE when Activity reference is null
v5.0.10
( Aug 4, 2021 )
- Collect initial_referrer
v5.0.9
( May 20, 2021 )
- Avoid potential NPE
- When reinitializing session without an expected intent flag, invoke callback with error rather than ignoring it.
v5.0.8
( April 29, 2021 )
- Fix bug that can block UI thread
- Fix race condition between session initialization requests invoked by client and SDK
- Fix network request timeout control
v5.0.7
( March 1, 2021 )
- Patch: fix getSdkVersionNumber() API in v2 events
v5.0.6
( February 26, 2020 )
- Add INITIATE_STREAM and COMPLETE_STREAM standard events
- Fix getSdkVersionNumber() API
v5.0.5
( February 17, 2021 )
- Add API to pass hashed partner parameters (Facebook integration)
- Fix bugs in the networking pipeline of CPID and LATD requests
- Fix bug preventing callback invocation when url creation request times out
- Add support for static SKD configuration via branch.json file
- Deprecate SDK initializers with isReferrable flag
v5.0.4
( Dec 9, 2020 )
- Reduce calls to v1/close
- Fix validator errors
- Fix setNetworkTimeout(...) API
v5.0.3
( 10 Aug 2020 )
- Upgrade Play Referrer library
v5.0.2
( 22 Jul 2020 )
- Remove content discovery
v5.0.1
( 08 Apr 2020 )
- Refactor/deprecate test and debug modes
- Report google advertising ID when in test mode
- Set pre-install data via install referrer library
v5.0.0
( 17 Mar 2020 )
- Added documentation with 1:1 session builder replacements of deprecated initSession methods
- Added disableAdNetworkCallouts(boolean) API
v4.4.0
( 06 Mar 2020 )
- Block self-initialization.
- Delay initialization and block self-initialization until user removes the delay or timeout passes.
- Collect OAID from Huawei's new devices that don't support google mobile services anymore
Introduce sessionBuilder. - Fix reInitSession when intent contains the extra "branch" and no "branch_force_new_session".
- Replace
initSessionForced
withBranch.bypassWaitingForIntent(true)
. - Remove potential NPE in CPID API.
v4.3.2
( 30 Jan 2020 )
- Accommodate single activity architecture/navigation component (reintroduced "SDK already initialized" error and ensured
reInitSession()
only fires when intent contains branch data). - Do not self-initialize if SDK is bundled with a plugin.
v4.3.1
( 23 Jan 2020 )
- Hotfix revert CPID and LATD listener paths to the newer version.
- Replace "SDK already initialized" error with logs and return latest referring parameters.
v4.3.0
( 22 Jan 2020 )
- Remove install referrer broadcast receiver, bundle Play Install Referrer Library in the SDK.
- Ensure callbacks are invoked in Kotlin (non-null listeners are passed).
v4.2.1
( 19 Dec 2019 )
- Make attribution window optional for LATD requests.
v4.2.0
( 13 Nov 2019 )
- Remove initialization race conditions.
- Do not auto-initialize sessions, make calling
initSession
a mandatory step required of Branch SDK users (officially this was already implied). - Overload
reInitSession
with different callbacks and start advertising it to users as the official way to handle session reinitialization in cases where activity is in foreground and is being reopened. - Make sure carrier field does not contain an empty string, omit the field instead.
v4.1.2
( 30 Oct 2019 )
- Removed fabric artifacts.
- Closed field gaps with TUNE SDK.
- Fixed sharing links on devices without a touchscreen.
- Configurable CDN endpoint.
- Refactored codebase to follow Android Studio project structure.
- Decoupled LifecycleObserver from main Branch.java class.
v4.1.1
( 07 Oct 2019 )
- Support for Fire OS.
- Do not collect advertising ID when limit ad tracking is enabled.
- Reset advertising ID and limit ad tracking values every time app becomes visible.
v4.1.0
( 26 Sep 2019 )
- Added support for Cross-Platform ID (CPID) & Last attributed touch data (LATD).
v4.0.1
( 18 Sept 2019 )
- Added new
customer_event_alias
setter method; removed standard event type: customer_event_alias - Added IMEI collection code option
v4.0.0
( 09 Aug 2019 )
- Switched to using Android X from the Android Support Library
- Added new standard event type: customer_event_alias
- Implemented support for pre-install analytics
- Added the option to set a custom base URL
v3.2.0
(2019-May-06)
- Allow short link creation while privacy is enabled
v3.1.2
(2019-April-24)
- Hardware ID is now included in every request
- Cleaned up compiler warnings, and updated tools to the latest versions
v3.1.1
(2019-March-27)
- Added support for push notifications while the application is in the foreground
v3.1.0
(2019-March-22)
- Ensure that Google Aid is present in all requests
- Refactored how Debug works, including making sure all Debug messages can be turned off if not in debug mode.
- Added new standard events for parity with Tune
- Fixed a synchronization issue around the event queue saving preferences while in a synchronized block.
v3.0.4
(2019-January-11)
- Fixed a TLS1.2 issue with HttpsURLConnection on API Level 16~19 devices
- Added SDK version tag to the Android SDK to aid Google Scanning APIs
- The SDK now supports deep linking with enableForcedSession() for apps which choose to finish the Launcher Activity within onStart() method
Updated 22 days ago