Skip to content

Commit e37315c

Browse files
committed
chore: update CHANGELOG and README for version 3.0.1, including RN compatibility update to 0.85
1 parent d75daf0 commit e37315c

2 files changed

Lines changed: 99 additions & 36 deletions

File tree

CHANGELOG.md

Lines changed: 97 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,55 @@
1+
## 3.0.1
2+
3+
### Updates
4+
5+
- Updated RN compatibility to 0.85
6+
17
## 3.0.0
28

39
### Updates
10+
411
- Added embedded messaging functionality. This includes the ability to:
512
- Manually sync messages with `Iterable.embeddedManager.syncMessages()`
613
- Get messages with `Iterable.embeddedManager.getMessages([PLACEMENT_IDS])`
714
- Start an embedded session with `Iterable.embeddedManager.startSession()`
815
- End an embedded session with `Iterable.embeddedManager.endSession()`
916
- Start an embedded impression with
10-
`Iterable.embeddedManager.startImpression(MESSAGE_ID, PLACEMENT_ID)`
17+
`Iterable.embeddedManager.startImpression(MESSAGE_ID, PLACEMENT_ID)`
1118
- Pause an embedded impression with
12-
`Iterable.embeddedManager.pauseImpression(MESSAGE_ID)`
19+
`Iterable.embeddedManager.pauseImpression(MESSAGE_ID)`
1320
- Handle embedded clicks with
14-
`Iterable.embeddedManager.handleClick(message, buttonId, action)`
21+
`Iterable.embeddedManager.handleClick(message, buttonId, action)`
1522
- Added out-of-the-box (OOTB) embedded views (embedded components) for rendering
16-
embedded messages in your app:
23+
embedded messages in your app:
1724
- `IterableEmbeddedView` — renders a message by `IterableEmbeddedViewType`
18-
(Banner, Card, or Notification)
25+
(Banner, Card, or Notification)
1926
- `IterableEmbeddedBanner`, `IterableEmbeddedCard`, and
20-
`IterableEmbeddedNotification` — individual OOTB view components
27+
`IterableEmbeddedNotification` — individual OOTB view components
2128
- `IterableEmbeddedViewConfig` — optional styling configuration for OOTB views
2229

2330
## 2.2.2
31+
2432
### Updates
33+
2534
- Added `baseline-browser-mapping`
2635
- Updated React Native library compatibility to 0.81
2736

2837
### Fixes
38+
2939
- Added temporary fix for Xcode 26.4 compatibility
30-
([a7768d4](https://github.com/Iterable/react-native-sdk/commit/a7768d4)) in
31-
example app
40+
([a7768d4](https://github.com/Iterable/react-native-sdk/commit/a7768d4)) in
41+
example app
3242

3343
## 2.2.1
44+
3445
### Updates
46+
3547
- Updated React Native library compatibility to 0.79.7
3648

3749
## 2.2.0
50+
3851
### Updates
52+
3953
- Updated Android SDK version to [3.6.2](https://github.com/Iterable/iterable-android-sdk/releases/tag/3.6.2)
4054
- Updated iOS SDK version to [6.6.3](https://github.com/Iterable/swift-sdk/releases/tag/6.6.3)
4155
- Added JWT Capabilities:
@@ -46,71 +60,84 @@
4660
- Added JWT example to our example app
4761
- Changed `onJWTError` to `onJwtError`
4862
- Changed `IterableRetryBackoff` enum keys to be lowercase for consistency
49-
across application
63+
across application
5064
- [SDK-149] Added logout functionality
5165

5266
### Fixes
67+
5368
- Created a standalone `IterableLogger` to avoid circular dependencies
5469
- [SDK-151] Fixed "cannot read property authtoken of undefined" error
5570
- Fixed Android `retryInterval` not being updated on re-initialization
5671

5772
## 2.1.0
73+
5874
### Updates
75+
5976
- SDK is now compatible with both New Architecture and Legacy Architecture. Fix
60-
for #691, #602, #563.
77+
for #691, #602, #563.
6178

6279
### Fixes
80+
6381
- Dependencies update
6482
- Update SDK so that it has full support for [React Native New Architecture](https://reactnative.dev/architecture/landing-page)
6583
- Add Temporary fix for circular paths, which break expo ([9c09743](https://github.com/Iterable/react-native-sdk/commit/9c09743))
6684

6785
### Chores
86+
6887
- Update dependencies for React Navigation and related packages ([95053bb](https://github.com/Iterable/react-native-sdk/commit/95053bb))
6988

7089
## 2.0.4
7190

7291
### Updates
92+
7393
- Added API documentation via Netlify([1087275](https://github.com/Iterable/react-native-sdk/commit/1087275))
7494
- Removed dependency on `react-native-vector-icons`, per issues
75-
[#513](https://github.com/Iterable/react-native-sdk/issues/513),
95+
[#513](https://github.com/Iterable/react-native-sdk/issues/513),
7696
[#683](https://github.com/Iterable/react-native-sdk/issues/683) and
97+
7798
[#675](https://github.com/Iterable/react-native-sdk/issues/675)
7899
([6ece6e0](https://github.com/Iterable/react-native-sdk/commit/6ece6e0))
100+
79101
- Updated dependencies
80102

81103
## 2.0.3
82104

83105
### Updates
106+
84107
- Add in-app message manager with lazy initialization to avoid circular dependency ([6feec35](https://github.com/Iterable/react-native-sdk/commit/6feec35))
85108

86109
### Fixes
110+
87111
- Update Iterable-iOS-SDK to 6.5.4.1 to fix issue #701 (performAndWait) ([0bb4a24](https://github.com/Iterable/react-native-sdk/commit/0bb4a24)), closes [#701](https://github.com/Iterable/react-native-sdk/issues/701)
88112
- Update Xcode project configuration to include CocoaPods build phases and settings ([23a9e79](https://github.com/Iterable/react-native-sdk/commit/23a9e79))
89113
- Enable CodeQl Advanced Config ([7346e56](https://github.com/Iterable/react-native-sdk/commit/7346e56))
90114
- Upload coverage report to Qlty ([6872621](https://github.com/Iterable/react-native-sdk/commit/6872621))
91115
- Simplify IterableInAppManager usage in tests by directly accessing Iterable.inAppManager ([6deeae3](https://github.com/Iterable/react-native-sdk/commit/6deeae3))
92116
- Correct markdown link syntax in IterableInAppManager documentation ([78e22b2](https://github.com/Iterable/react-native-sdk/commit/78e22b2))
93117

94-
95118
## 2.0.2
119+
96120
### Fixes
121+
97122
- Migrate AppDelegate to Swift and remove Objective-C files
98-
([06b82a0](https://github.com/Iterable/react-native-sdk/commit/06b82a0))
123+
([06b82a0](https://github.com/Iterable/react-native-sdk/commit/06b82a0))
99124
- Fixed misspelling ([bc2e84c](https://github.com/Iterable/react-native-sdk/commit/bc2e84c))
100125

101126
## 2.0.1
127+
102128
- Added support for React Native New Architecture through interop. **WARNING**:
103-
As support for the New Architecture is through interop, developers should use
104-
this at their own risk.
129+
As support for the New Architecture is through interop, developers should use
130+
this at their own risk.
105131
- React Native support updated to 0.79.3
106132

107133
### Fixes
134+
108135
- Removed preinstall script from package.json (17199b3)
109136
- Disabled empty body warnings in Podfile build settings (40f3c8f)
110137
- Removed pod lockfile as the dependencies change depending on whether it is new
111-
arch (19c8c90)
138+
arch (19c8c90)
112139
- Updated Babel and Jest configurations for React Native 0.79.3 support
113-
(56584b5)
140+
(56584b5)
114141
- Removed duplicate methods as it prevents rendering in new arch (b7f0c71)
115142

116143
## 2.0.0
@@ -120,31 +147,32 @@ GA release. No changes from 2.0.0-beta.1.
120147
## 2.0.0-beta.1
121148

122149
- Added disclaimer to README to alert users that we do not yet support React
123-
Native New Architecture [`#630`](https://github.com/Iterable/react-native-sdk/pull/630)
124-
- Resolved circular dependencies which were making the SDK incompatible with Expo [`#629`](https://github.com/Iterable/react-native-sdk/pull/629)
150+
Native New Architecture `[#630](https://github.com/Iterable/react-native-sdk/pull/630)`
151+
- Resolved circular dependencies which were making the SDK incompatible with Expo `[#629](https://github.com/Iterable/react-native-sdk/pull/629)`
125152
- Removed beta disclaimer link
126-
[`#625`](https://github.com/Iterable/react-native-sdk/pull/625)
153+
`[#625](https://github.com/Iterable/react-native-sdk/pull/625)`
127154
- Added extra troubleshooting steps to example app README
128155
- Added safe concurrent Ruby version to Gemfile
129156

130-
131157
## 2.0.0-beta
158+
132159
**NOTE**: This is a beta release of the SDK. Please contact Iterable support if
133160
you have any questions or issues.
161+
134162
### Fixes
163+
135164
- Updated React Native to
136-
[7.3.1](https://reactnative.dev/docs/0.73/getting-started). See the version
137-
[CHANGELOG](https://github.com/facebook/react-native/releases/tag/v0.73.1) for
138-
further details.
165+
[7.3.1](https://reactnative.dev/docs/0.73/getting-started). See the version
166+
[CHANGELOG](https://github.com/facebook/react-native/releases/tag/v0.73.1) for
167+
further details.
139168
- Updated dependencies, including:
140169
- [@react-navigation](https://reactnavigation.org/docs/elements/)
141170
- [react-native-safe-area-context](https://github.com/AppAndFlow/react-native-safe-area-context)
142171
- [react-native-vector-icons](https://github.com/oblador/react-native-vector-icons)
143172
- [react-native-webview](https://github.com/react-native-webview/react-native-webview)
144173
- Update exports to include components which previously were obtained via direct
145-
path. EG: Instead of `import IterableInbox from
146-
'@iterable/react-native-sdk/js/IterableInbox'`, you can now import it by doing
147-
`import {IterableInbox} from '@iterable/react-native-sdk'`.
174+
path. EG: Instead of `import IterableInbox from '@iterable/react-native-sdk/js/IterableInbox'`, you can now import it by doing
175+
`import {IterableInbox} from '@iterable/react-native-sdk'`.
148176
- **NOTE**: This is a breaking change. All nested imports will need to be updated.
149177
- Replaced non-working sample application with a new example app
150178
- Changed scaffolding to use [react-native-builder-bob](https://callstack.github.io/react-native-builder-bob/create)
@@ -156,31 +184,43 @@ you have any questions or issues.
156184
- Made lint rules stricter
157185

158186
## 1.3.21
187+
159188
### Fixes
189+
160190
- 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.
161191

162192
#### Added
193+
163194
- Added a new configuration in IterableConfig, `IterablePushPlatform`, allowing developers to manually register a device as either sandbox or production. This provides greater control over push notification environments.
164195

165196
## 1.3.20
197+
166198
### Fixes
199+
167200
- Fixes an issue where the iOS SDK incorrectly targeted the latest minor version instead of a fixed version, potentially causing breaking changes.
168201

169202
## 1.3.19
203+
170204
### Updates
205+
171206
- updates to RN version 0.68.0 to address various security vulnerabilities
172207

173208
## 1.3.18
209+
174210
### Updates
211+
175212
- adds user id login for sample apps
176213
- version mapping to newest native SDK versions
177214
- updates versions of various package dependencies
178215

179216
## 1.3.17
217+
180218
### Fixed
219+
181220
- Fixes a specific Android issue where apps could crash due to EncryptedSharedPreference being null.
182221

183222
## 1.3.16
223+
184224
### Updates
185225

186226
This release allows you to use projects hosted on Iterable's EU data center. If your project is hosted on Iterable's [European data center (EUDC)](https://support.iterable.com/hc/articles/17572750887444), configure the SDK to use Iterable's EU-based API endpoints:
@@ -193,22 +233,29 @@ Iterable.initialize('<YOUR_API_KEY>', config);
193233
```
194234

195235
## Fixed
236+
196237
- Addressed push notification deep linking issues on Android where the app would restart instead of resuming the last activity upon being backgrounded.
197238
- Resolves an additional push notification problem on Android wherein the customActionHandler and urlHandler were not being invoked in specific scenarios, as documented in issue #470. (Credit to @tnortman-jabra for the report and the fix)
198239

199240
## 1.3.15
241+
200242
### Updates
243+
201244
- Resolves Android build issues caused in 1.3.14
202245
- Fixes a specific Android issue where custom action handlers were not invoked when tapping on push notification when the app is in background.
203246

204247
## 1.3.14
248+
205249
> **Warning**
206250
> This version causes build failure on Android. Please use 1.3.15 which fixes this issue.
251+
207252
### Updates
253+
208254
- updates `Iterable.setEmail` and `Iterable.setUserId` to take in null parameter type
209255
- fixes `Iterable.updateUser` on the Android side to merge nested objects in the user profile when `mergeNestedObjects` is set to true
210256

211257
## 1.3.9
258+
212259
### Added
213260

214261
[Version 1.3.9](https://github.com/Iterable/react-native-sdk/releases/tag/1.3.9) of Iterable's React Native SDK makes it possible for iOS apps to store in- app messages in memory, rather than in an unencrypted local file. ([Version 1.3.7](https://github.com/Iterable/react-native-sdk/releases/tag/1.3.7) added this same support for Android.)
@@ -225,26 +272,27 @@ Iterable.initialize('<YOUR_API_KEY>', config);
225272
This release deprecates `androidSdkUseInMemoryStorageForInApps`, which was introduced in version 1.3.7, and replaces it with `useInMemoryStorageForInApps`. However, for now:
226273

227274
- Android apps store in-app messages in memory if `useInMemoryStorageForInApps` is `true`, `androidSdkUseInMemoryStorageForInApps` is `true`, or if both are `true`.
228-
229275
- iOS apps store in-app messages in memory if `useInMemoryStorageForInApps` is `true`. `androidSdkUseInMemoryStorageForInApps` does not affect iOS apps.
230276

231277
When you can, please update your apps to use `useInMemoryStorageForInApps` instead of `androidSdkUseInMemoryStorageForInApps`.
232278

233279
When users upgrade to a version of your iOS or Android app that uses this version of the SDK (or higher), and they've enabled in-app memory storage, the local file used for in-app message storage (if it already exists) is deleted. However, no data is lost.
234280

235281
## 1.3.7
282+
236283
Starting with this release, as a privacy enhancement, Iterable’s React Native
237284
SDK encrypts some data stored at rest.
238285

239286
#### iOS updates
287+
240288
In iOS apps, Iterable's React Native SDK now encrypts the following fields when
241289
storing them at rest:
242290

243291
- `email` — The user's email address.
244292
- `userId` — The user's ID.
245293
- `authToken` — The JWT used to authenticate the user with Iterable's API.
246294
- `lastPushPayload` — The JSON payload that came along with the last push
247-
notification received by the app.
295+
notification received by the app.
248296

249297
(Note that, in iOS apps, Iterable's React Native SDK does not store in-app
250298
messages at rest—before or after this update.)
@@ -256,14 +304,16 @@ is lost.
256304
For more information about this encryption in iOS, examine the source code for
257305
Iterable's iOS SDK (upon which the React Native SDK relies):
258306

259-
- [`IterableKeychain`](https://github.com/Iterable/swift-sdk/blob/master/swift-sdk/Internal/IterableKeychain.swift)
260-
- [`KeychainWrapper`](https://github.com/Iterable/swift-sdk/blob/master/swift-sdk/Internal/KeychainWrapper.swift)
307+
- `[IterableKeychain](https://github.com/Iterable/swift-sdk/blob/master/swift-sdk/Internal/IterableKeychain.swift)`
308+
- `[KeychainWrapper](https://github.com/Iterable/swift-sdk/blob/master/swift-sdk/Internal/KeychainWrapper.swift)`
261309

262310
#### Android updates
311+
263312
For Android, this release includes support for encrypting some data at rest,
264313
and an option to store in-app messages in memory.
265314

266315
##### Encrypted data
316+
267317
In Android apps with `minSdkVersion` 23 or higher ([Android 6.0](https://developer.android.com/studio/releases/platforms#6.0))
268318
Iterable's React Native SDK now encrypts the following fields when storing
269319
them at rest:
@@ -277,9 +327,10 @@ push payload at rest—before or after this update.)
277327

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

282332
##### Storing in-app messages in memory
333+
283334
This release also allows you to have your Android apps (regardless of `minSdkVersion`)
284335
store in-app messages in memory, rather than in an unencrypted local file.
285336
However, an unencrypted local file is still the default option.
@@ -300,6 +351,7 @@ local file used for in-app message storage (if it already exists) is deleted
300351
However, no data is lost.
301352

302353
##### Android upgrade instructions
354+
303355
If your app targets API level 23 or higher, this is a standard SDK upgrade, with
304356
no special instructions.
305357

@@ -313,27 +365,35 @@ encrypt data):
313365
- Add `implementation androidx.multidex:multidex:2.0.1` to the `dependencies`.
314366

315367
### Objective-C compatibility headers for React Native 0.68+
368+
316369
To help solve build errors that can arise when using Iterable's SDK with React
317370
Native 0.68+, which uses Objective-C++, we've created some Objective-C
318371
compatibility headers that you can import into your project. For details, read
319372
[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).
320373

321374
## 1.1.0
375+
322376
#### Added
377+
323378
- Offline events processing
324-
This feature saves a local copy of events triggered in your app while the device is offline (up to 1000 events). When a connection is re-established and your app is in the foreground, the events will be sent to Iterable.
325-
Offline events processing is off by default, and we're rolling it out on a customer-by-customer basis. After you start using this version of the SDK, we'll send you a message before we enable the feature on your account (unfortunately, we can't give you an exact timeline for when this will happen). If you have any questions, talk to your Iterable customer success manager.
326-
To use this feature, you must follow the SDK [upgrade instructions](#upgrade-instructions-for-version-1-1-0).
379+
This feature saves a local copy of events triggered in your app while the device is offline (up to 1000 events). When a connection is re-established and your app is in the foreground, the events will be sent to Iterable.
380+
Offline events processing is off by default, and we're rolling it out on a customer-by-customer basis. After you start using this version of the SDK, we'll send you a message before we enable the feature on your account (unfortunately, we can't give you an exact timeline for when this will happen). If you have any questions, talk to your Iterable customer success manager.
381+
To use this feature, you must follow the SDK [upgrade instructions](#upgrade-instructions-for-version-1-1-0).
382+
327383
#### Updated
384+
328385
- New properties on the `IterableCommerceItem` class
329-
The `IterableCommerceItem` class (which you can pass to the `trackPurchase` method on the `Iterable` class) now includes additional properties (all optional):
386+
The `IterableCommerceItem` class (which you can pass to the `trackPurchase` method on the `Iterable` class) now includes additional properties (all optional):
330387
- `sku` (string) - The item's SKU
331388
- `description` (string) - A description of the item
332389
- `url` (string) - A URL associated with the item
333390
- `imageUrl` (string) - A URL that points to an image of the item
334391
- `categories` (string) - Categories to associate with the item
392+
335393
#### Upgrade instructions for version 1.1.0
394+
336395
To use this version of Iterable's React Native SDK, you'll need to update your native Android application's `Application` class:
396+
337397
- Add this import:
338398
```java
339399
import com.iterable.iterableapi.IterableApi;
@@ -342,3 +402,4 @@ To use this version of Iterable's React Native SDK, you'll need to update your n
342402
```java
343403
IterableApi.setContext(this);
344404
```
405+

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,8 @@ For quick reference, the following table lists the versions of the [Android SDK]
124124
125125
| RN SDK Version | Android SDK Version | iOS SDK Version |
126126
| --------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | --------------- |
127+
| [3.0.1](https://www.npmjs.com/package/@iterable/react-native-sdk/v/3.0.1) | [3.6.2](https://github.com/Iterable/iterable-android-sdk/releases/tag/3.6.2) | [6.6.3](https://github.com/Iterable/swift-sdk/releases/tag/6.6.3)
128+
| [3.0.0](https://www.npmjs.com/package/@iterable/react-native-sdk/v/3.0.0) | [3.6.2](https://github.com/Iterable/iterable-android-sdk/releases/tag/3.6.2) | [6.6.3](https://github.com/Iterable/swift-sdk/releases/tag/6.6.3)
127129
| [2.2.2](https://www.npmjs.com/package/@iterable/react-native-sdk/v/2.2.2) | [3.6.2](https://github.com/Iterable/iterable-android-sdk/releases/tag/3.6.2) | [6.6.3](https://github.com/Iterable/swift-sdk/releases/tag/6.6.3)
128130
| [2.2.1](https://www.npmjs.com/package/@iterable/react-native-sdk/v/2.2.1) | [3.6.2](https://github.com/Iterable/iterable-android-sdk/releases/tag/3.6.2) | [6.6.3](https://github.com/Iterable/swift-sdk/releases/tag/6.6.3)
129131
| [2.2.0](https://www.npmjs.com/package/@iterable/react-native-sdk/v/2.2.0) | [3.6.2](https://github.com/Iterable/iterable-android-sdk/releases/tag/3.6.2) | [6.6.3](https://github.com/Iterable/swift-sdk/releases/tag/6.6.3)

0 commit comments

Comments
 (0)