Skip to content

Commit 7eb259c

Browse files
SDK-493: Prepare for Release 6.7.2 (#1070)
1 parent 40f2de1 commit 7eb259c

4 files changed

Lines changed: 16 additions & 3 deletions

File tree

CHANGELOG.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,19 @@ All notable changes to this project will be documented in this file.
44
This project adheres to [Semantic Versioning](http://semver.org/).
55
## [Unreleased]
66

7+
## [6.7.2]
8+
### Added
9+
- Added optional `shouldLog(level:) -> Bool` to `IterableLogDelegate`. Defaults to `true` when not implemented. Lets the delegate short-circuit log calls before any message formatting work happens. `DefaultLogDelegate` routes its `minLogLevel` filter through this, and `NoneLogDelegate` returns `false` for every level.
10+
11+
### Fixed
12+
- Fixed a memory leak in `NetworkMonitor` where `NWPathMonitor` and the monitor wrapper were retained for the lifetime of the app across foreground/background cycles. `start()` is now idempotent, captures `self` weakly in `pathUpdateHandler`, and `stop()` reliably cancels and releases the monitor. Resolves GitHub issue #867.
13+
- Fixed a Swift access race in `Pending`/`Fulfill` flagged by Thread Sanitizer. All reads and writes of `result`, `successCallbacks`, and `errorCallbacks` now run on a private serial queue, with callbacks invoked outside the critical section so re-entrant registrations cannot deadlock. Also fixes a latent O(N²) firing path when registering callbacks against an already-resolved `Pending`. Resolves GitHub issue #767.
14+
- Fixed orphaned `Pending` chains in the JWT auth retry path. When token refresh hits the retry cap, is paused, or runs after logout, callers are now notified through a new `onRetryExhausted` callback instead of being silently dropped, preventing upstream awaiters from hanging forever.
15+
16+
### Changed
17+
- `IterableAPI.disableDeviceForCurrentUser` and `disableDeviceForAllUsers` are now routed through the offline queue, so a `disableDevice` call made while offline is automatically retried when connectivity returns. The original user identity is captured at call time, so the queued request still targets the correct user after logout or user switch. Queued `disableDevice` tasks are also preserved across logout while other queued work is still purged.
18+
- Cached the `DateFormatter` used by `IterableLogUtil` as a `private static let` and skip message formatting entirely when the log delegate filters the level out. Fixes a 2.4–3.2s main-thread hang observed on foreground transitions in apps with a restrictive `minLogLevel`.
19+
720
## [6.7.1]
821
### Fixed
922
- Fixed the `enableUnknownUserActivation` default value to `false`

Iterable-iOS-AppExtensions.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Pod::Spec.new do |s|
22
s.name = "Iterable-iOS-AppExtensions"
33
s.module_name = "IterableAppExtensions"
4-
s.version = "6.7.1"
4+
s.version = "6.7.2"
55
s.summary = "App Extensions for Iterable SDK"
66

77
s.description = <<-DESC

Iterable-iOS-SDK.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Pod::Spec.new do |s|
22
s.name = "Iterable-iOS-SDK"
33
s.module_name = "IterableSDK"
4-
s.version = "6.7.1"
4+
s.version = "6.7.2"
55
s.summary = "Iterable's official SDK for iOS"
66

77
s.description = <<-DESC

swift-sdk/SDK/IterableAPI.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import UIKit
77

88
@objcMembers public final class IterableAPI: NSObject {
99
/// The current SDK version
10-
public static let sdkVersion = "6.7.1"
10+
public static let sdkVersion = "6.7.2"
1111

1212
/// The email of the logged in user that this IterableAPI is using
1313
public static var email: String? {

0 commit comments

Comments
 (0)