Skip to content

Releases: BranchMetrics/cpp-branch-deep-linking-attribution

Release 1.2.0-rc4

11 Feb 21:53
Compare
Choose a tag to compare
Release 1.2.0-rc4 Pre-release
Pre-release

Include open-source license files in MSI. These are installed in C:\Program Files (x86)\Branch SDK\licenses.

Release 1.2.0-rc3

10 Feb 16:17
Compare
Choose a tag to compare
Release 1.2.0-rc3 Pre-release
Pre-release
  • Introduced signed MSI.
  • Add all pdbs to MSI.

Release 1.2.0-rc2

22 Jan 19:54
Compare
Choose a tag to compare
Release 1.2.0-rc2 Pre-release
Pre-release

SDK-1107: PDB not installed by MSI. Debug builds were broken.

A new MSI is attached. Please uninstall any previous MSI before installing this one.

1.2.0-rc1

21 Jan 18:09
Compare
Choose a tag to compare
1.2.0-rc1 Pre-release
Pre-release
Rename MSI to BranchSDK.msi

Release 1.1.2

08 Oct 20:20
Compare
Choose a tag to compare
  • Fixed deep linking when tracking disabled
  • Fixed developer identity (setIdentity/logout)
  • Removed all /v1/close traffic from the SDK
  • Implemented per-app Registry storage
  • Fixed bad OS Version sent to server
  • Introduced TestBed QA app

This release includes no breaking API changes.

Deep linking was incorrectly disabled in previous releases when tracking is
disabled. In this release, open events will be sent to the server without any
identifiable fields. The response will be received normally by the caller.
Only opening links and generating short URLs will work with tracking disabled.
All other Branch functionality will return errors.

The Branch::closeSession method no longer does anything of value and may be
removed. Session closes are automatically inferred by the server.

Per-app Storage

Storage of Branch-related settings is usually per app in all other existing
SDKs, often because of app sandboxing. Win32 is a rare environment where apps
frequently operate outside a sandbox and can collide. Most of the information
Branch stores must be per app. This release scopes all Registry-based storage
to the app key in use. As of this release, only one app key may be used at a
time (only one Branch instance at a time).

Previous builds erroneously stored information under
HKEY_CURRENT_USER\Software\BranchIO. Now each app will use
HKCU\Software\BranchIO\<branch-key>, e.g.
HKCU\Software\BranchIO\key_live_xyz. Any setting from a previous version of
the SDK not scoped to a Branch key, in particular
HKCU\Software\BranchIO\advertiser\trackingDisabled, will be assumed to have
come from the current app. These settings will be migrated to
HKCU\Software\BranchIO\<branch-key>
(HKCU\Software\BranchIO\<branch-key>\advertiser\trackingDisabled).

Developer Identity

The AppInfo::setDeveloperIdentity method no longer does anything. The way
it was used in certain examples was misleading. "Developer Identity" is an
identity meaningful to the developer of the app. That is usually a user
ID in the app developer's environment. It simply identifies the user in events
recorded by Branch in whatever way is convenient for the developer. This is
distinct from Branch's own notion of an Identity, represented by the
identity_id. Any calls to the AppInfo::setDeveloperIdentity method
should be removed.

To associate a developer identity with the current app session, use
Branch::setIdentity. The Branch::logout function removes that association.
A new function Branch::getIdentity returns the current developer identity.

Note that setIdentity and logout must be called after opening a session.
The identity is persistent through multiple sessions once the association is
made or removed.

TestBed

The repo now includes a TestBed app for QA that represents a standard
Win32 implementation of the SDK.

Release 1.1.1

13 Aug 14:40
Compare
Choose a tag to compare
  • Added support for wide strings via BranchIO::String adapter class.

All public API methods that accept a string now take a BranchIO::String,
which can be constructed automatically from std::string, std::wstring,
const char* or const wchar_t*. Two new getters, Branch::getBranchKeyW()
and Branch::getVersionW(), were also introduced.

Release 1.1.0

14 May 00:13
Compare
Choose a tag to compare
  • Improvements to thread safety of LinkInfo and its ancestors.
  • Eliminate queueing and retry of /v1/url requests. A long link will now be
    generated immediately on any request failure.

This required some changes to the public interface of BaseEvent. The return
types of getCustomData() and name() have changed to avoid returning
pointers or references to unsynchronized objects from synchronized getters.

BranchIO::JSONObject getCustomData() const;
std::string name() const;

In addition, the destructor of LinkInfo will now block while any background
request is in progress. Once createUrl() is called, the LinkInfo object
is guaranteed to outlive the thread that executes the request. To force
immediate termination of the background thread, use LinkInfo::cancel().

Also note that each LinkInfo instance can currently only be used once to
generate a URL. For now, create a new LinkInfo instance for each URL
request. This will be improved in a future release.
Each LinkInfo
instance is reusable.

Release 1.0.1

12 May 22:10
Compare
Choose a tag to compare

Updated Poco dependency to ~=1.9.4, allowing patch revisions via conan install --update. This addresses an HTTPS failure on Windows.

Release 1.0.0

22 Nov 23:40
503310c
Compare
Choose a tag to compare
  • v1.0.0
    • Master Release - November 22, 2019
    • Initial Revision