Skip to content

[MOB-10588] release-2-0-0-beta #623

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Jan 29, 2025
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
41 changes: 34 additions & 7 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,30 @@
## 2.0.0-beta
**NOTE**: This is a beta release of the SDK. Please contact Iterable support if
you have any questions or issues.
## Fixes
- Updated React Native to
[7.3.1](https://reactnative.dev/docs/0.73/getting-started). See the version
[CHANGELOG](https://github.com/facebook/react-native/releases/tag/v0.73.1) for
further details.
- Updated dependencies, including:
- [@react-navigation](https://reactnavigation.org/docs/elements/)
- [react-native-safe-area-context](https://github.com/AppAndFlow/react-native-safe-area-context)
- [react-native-vector-icons](https://github.com/oblador/react-native-vector-icons)
- [react-native-webview](https://github.com/react-native-webview/react-native-webview)
- Update exports to include components which previously were obtained via direct
path. EG: Instead of `import IterableInbox from
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

examples for breaking changes are indeed helpful 👍🏼

'@iterable/react-native-sdk/js/IterableInbox'`, you can now import it by doing
`import {IterableInbox} from '@iterable/react-native-sdk'`.
- **NOTE**: This is a breaking change. All nested imports will need to be updated.
- Replaced non-working sample application with a new example app
- Changed scaffolding to use [react-native-builder-bob](https://callstack.github.io/react-native-builder-bob/create)
- Fixed linting issues and made lint rules stricter
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Made lint rules stricter is mentioned below as well.

- Fixed unit tests
- Removed broken integration tests
- Changed folder structure to prepare for it to be divided into multiple packages
- Removed duplicate code
- Made lint rules stricter
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the one repeated as mentioned ⬆️


## 1.3.21
## Fixes
- Fixes an issue where react native components that use safe-area-context or react-navigation throw an error because the sdk's components try and use its own local node_modules instead of the consumer's project.
Expand Down Expand Up @@ -67,7 +94,7 @@ Iterable.initialize('<YOUR_API_KEY>', config);

This release deprecates `androidSdkUseInMemoryStorageForInApps`, which was introduced in version 1.3.7, and replaces it with `useInMemoryStorageForInApps`. However, for now:

- Android apps store in-app messages in memory if `useInMemoryStorageForInApps` is `true`, `androidSdkUseInMemoryStorageForInApps` is `true`, or if both are `true`.
- Android apps store in-app messages in memory if `useInMemoryStorageForInApps` is `true`, `androidSdkUseInMemoryStorageForInApps` is `true`, or if both are `true`.

- iOS apps store in-app messages in memory if `useInMemoryStorageForInApps` is `true`. `androidSdkUseInMemoryStorageForInApps` does not affect iOS apps.

Expand All @@ -93,7 +120,7 @@ storing them at rest:
messages at rest—before or after this update.)

When a user upgrades to a version of your app that uses this version of the SDK
(or higher), the fields shown above are encrypted. No data that's already stored
(or higher), the fields shown above are encrypted. No data that's already stored
is lost.

For more information about this encryption in iOS, examine the source code for
Expand All @@ -118,16 +145,16 @@ them at rest:
(Note that, in Android apps, Iterable's React Native SDK does not store the last
push payload at rest—before or after this update.)

For more information about this encryption in Android, examine the source code
For more information about this encryption in Android, examine the source code
for Iterable's Android SDK (upon which the React Native SDK relies):
[`IterableKeychain`](https://github.com/Iterable/iterable-android-sdk/blob/master/iterableapi/src/main/java/com/iterable/iterableapi/IterableKeychain.kt).

##### Storing in-app messages in memory
This release also allows you to have your Android apps (regardless of `minSdkVersion`)
This release also allows you to have your Android apps (regardless of `minSdkVersion`)
store in-app messages in memory, rather than in an unencrypted local file.
However, an unencrypted local file is still the default option.

To store in-app messages in memory, on `IterableConfig`, set
To store in-app messages in memory, on `IterableConfig`, set
`androidSdkUseInMemoryStorageForInApps` to `true` (defaults to `false`):

```javascript
Expand All @@ -138,7 +165,7 @@ Iterable.initialize('<YOUR_API_KEY>', config);
```

When users upgrade to a version of your Android app that uses this version of
the SDK (or higher), and you've set this configuration option to `true`, the
the SDK (or higher), and you've set this configuration option to `true`, the
local file used for in-app message storage (if it already exists) is deleted
However, no data is lost.

Expand All @@ -158,7 +185,7 @@ encrypt data):
### Objective-C compatibility headers for React Native 0.68+
To help solve build errors that can arise when using Iterable's SDK with React
Native 0.68+, which uses Objective-C++, we've created some Objective-C
compatibility headers that you can import into your project. For details, read
compatibility headers that you can import into your project. For details, read
[Installing Iterable's React Native SDK — Step 3.3: Import the SDK](https://support.iterable.com/hc/articles/360045714132#step-3-3-import-the-sdk).

## 1.1.0
Expand Down
12 changes: 5 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,17 +15,14 @@ Iterable. It supports JavaScript and TypeScript.
Iterable's React Native SDK relies on:

- **React Native**
- [React Native 0.75.3+](https://github.com/facebook/react-native)
- [@react-navigation/native 6.1.18+](https://www.npmjs.com/package/@react-navigation/native)
- [react-native-safe-area-context 4.11.1+](https://www.npmjs.com/package/react-native-safe-area-context)
- [react-native-vector-icons 10.2.0+](https://www.npmjs.com/package/react-native-vector-icons)
- [react-native-webview 13.12.3+](https://www.npmjs.com/package/react-native-webview)
- [React Native 0.75+](https://github.com/facebook/react-native)
- [React 18.1+](https://github.com/facebook/react)

_UI Components require additional peer dependencies_
- [React Navigation 6+](https://github.com/react-navigation/react-navigation)
- [React Native Safe Area Context 4+](https://github.com/th3rdwave/react-native-safe-area-context)
- [React Native Vector Icons 9+](https://github.com/oblador/react-native-vector-icons)
- [React Native WebView 11+](https://github.com/react-native-webview/react-native-webview)
- [React Native Vector Icons 10+](https://github.com/oblador/react-native-vector-icons)
- [React Native WebView 13+](https://github.com/react-native-webview/react-native-webview)

- **iOS**
- Xcode 12+
Expand Down Expand Up @@ -66,6 +63,7 @@ For quick reference, the following table lists the versions of the [Android SDK]

| RN SDK Version | Android SDK Version | iOS SDK Version |
| --------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | --------------- |
| [2.0.0-beta](https://www.npmjs.com/package/@iterable/react-native-sdk/v/2.0.0-beta) | [3.5.2](https://github.com/Iterable/iterable-android-sdk/releases/tag/3.5.2) | [6.5.4](https://github.com/Iterable/swift-sdk/releases/tag/6.5.4)
| [1.3.21](https://www.npmjs.com/package/@iterable/react-native-sdk/v/1.3.20) | [3.5.2](https://github.com/Iterable/iterable-android-sdk/releases/tag/3.5.2) | [6.5.4](https://github.com/Iterable/swift-sdk/releases/tag/6.5.4)
| [1.3.20](https://www.npmjs.com/package/@iterable/react-native-sdk/v/1.3.20) | [3.5.2](https://github.com/Iterable/iterable-android-sdk/releases/tag/3.5.2) | [6.5.4](https://github.com/Iterable/swift-sdk/releases/tag/6.5.4)
| [1.3.19](https://www.npmjs.com/package/@iterable/react-native-sdk/v/1.3.19) | [3.5.2](https://github.com/Iterable/iterable-android-sdk/releases/tag/3.5.2) | [6.5.3](https://github.com/Iterable/swift-sdk/releases/tag/6.5.3)
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@iterable/react-native-sdk",
"version": "2.0.0-alpha",
"version": "2.0.0-beta",
"description": "Iterable SDK for React Native.",
"source": "./src/index.tsx",
"main": "./lib/commonjs/index.js",
Expand Down
2 changes: 1 addition & 1 deletion src/itblBuildInfo.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@
* It contains the version of the package
*/
export const buildInfo = {
version: '2.0.0-alpha',
version: '2.0.0-beta',
};
Loading