Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 48 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,54 @@ This project adheres to [Semantic Versioning](http://semver.org/).
#### Fixed
- nothing yet

## [3.4.0](https://github.com/Iterable/iterable-android-sdk/releases/tag/3.4.0)
#### Fixed

- Prevented in-app messages from executing JavaScript code included in their HTML
templates.
- Prevented web views from accessing local files.

#### Changed

- Changed two static methods on the `IterableApi` class, `handleAppLink` and
`getAndTrackDeepLink`, to instance methods. To call these methods, grab an
instance of the `IterableApi` class by calling `IterableApi.getInstance()`.
For example, `IterableApi.getInstance().handleAppLink(...)`.

> ⚠ **WARNING**
> This is a breaking change. You'll need to update your code.

#### Added

- Added the `allowedProtocols` field to the `IterableConfig` class.

Use this array to declare the specific URL protocols that the SDK can expect to
see on incoming links (and that it should therefore handle). Doing this will
prevent the SDK from opening links that use unexpected URL protocols.

For example, this code allows the SDK to handle `http` and `custom` links:

_Java_

```java
IterableConfig.Builder configBuilder = new IterableConfig.Builder()
.setAllowedProtocols(new String[]{"http", "custom"});
IterableApi.initialize(context, "<YOUR_API_KEY>", config);
```

_Kotlin_

```kotlin
val configBuilder = IterableConfig.Builder()
.setAllowedProtocols(arrayOf("http","custom"))
IterableApi.initialize(context, "<YOUR_API_KEY>", configBuilder.build());
```

Iterable's Android SDK handles `https`, `action`, `itbl`, and `iterable` links,
regardless of the contents of this array. However, you must explicitly declare any
other types of URL protocols you'd like the SDK to handle (otherwise, the SDK
won't open them in the web browser or as deep links).

## [3.3.9](https://github.com/Iterable/iterable-android-sdk/releases/tag/3.3.9)

#### Changed
Expand Down
2 changes: 1 addition & 1 deletion iterableapi-ui/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ ext {
siteUrl = 'https://github.com/Iterable/iterable-android-sdk'
gitUrl = 'https://github.com/Iterable/iterable-android-sdk.git'

libraryVersion = '3.3.9'
libraryVersion = '3.4.0'

developerId = 'davidtruong'
developerName = 'David Truong'
Expand Down
4 changes: 2 additions & 2 deletions iterableapi/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ android {
minSdkVersion 16
targetSdkVersion 27

buildConfigField "String", "ITERABLE_SDK_VERSION", "\"3.3.9\""
buildConfigField "String", "ITERABLE_SDK_VERSION", "\"3.4.0\""

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
Expand Down Expand Up @@ -71,7 +71,7 @@ ext {
siteUrl = 'https://github.com/Iterable/iterable-android-sdk'
gitUrl = 'https://github.com/Iterable/iterable-android-sdk.git'

libraryVersion = '3.3.9'
libraryVersion = '3.4.0'

developerId = 'davidtruong'
developerName = 'David Truong'
Expand Down
4 changes: 2 additions & 2 deletions sample-apps/inbox-customization/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@ dependencies {
implementation 'androidx.navigation:navigation-ui-ktx:2.1.0'
implementation 'com.google.android.material:material:1.1.0'

implementation 'com.iterable:iterableapi:3.3.9'
implementation 'com.iterable:iterableapi-ui:3.3.9'
implementation 'com.iterable:iterableapi:3.4.0'
implementation 'com.iterable:iterableapi-ui:3.4.0'
implementation 'com.squareup.okhttp3:mockwebserver:4.2.2'

testImplementation 'junit:junit:4.12'
Expand Down