Skip to content

PR Branch MASTER into BUGFIX#472

Open
github-actions[bot] wants to merge 60 commits intobugfixfrom
master
Open

PR Branch MASTER into BUGFIX#472
github-actions[bot] wants to merge 60 commits intobugfixfrom
master

Conversation

@github-actions
Copy link

👑 An automated PR

Code review to remove build warnings for Android
PR MASTER TO DEV
### 🎉 Features & Fixes
* **iOS:** Fixed critical crashes caused by unsafe data handling, significantly improving plugin stability.
* **iOS:** Modernized native code to ensure compatibility with recent APIs and iOS 13+.
* **iOS:** Resolved Swift compilation errors and refactored the codebase for improved quality and maintainability.
Release 8.9.0
Code change to allow custom URL configuration per Operating System
## 8.10.0

### 🎉 Features
Improved the API URL configuration by moving to a platform-specific setup.
- Added key `apiUrlAndroid` in `branch-config.json` to configure the API URL for the Android platform.
- Added key `apiUrlIOS` in `branch-config.json` to configure the API URL for the iOS platform.

This allows developers to define different API endpoints (or keep the SDK default) for Android and iOS within the `branch-config.json` file.

### 🗑️ Removals
- ⚠️ The `apiUrl` key has been removed from `branch-config.json`. Please update your configuration to use the new platform-specific keys.
## 8.10.0
### 🎉 Features
**Introduced platform-specific API URL configuration.** This allows developers to define different API endpoints for Android and iOS in `branch-config.json`.
- Added key `apiUrlAndroid` in `branch-config.json` to configure the API URL for the Android platform.
- Added key `apiUrlIOS` in `branch-config.json` to configure the API URL for the iOS platform.

### 🗑️ Removals
- ⚠️ The generic `apiUrl` key has been removed from `branch-config.json`. Please update your configuration to use the new platform-specific keys (`apiUrlAndroid` and `apiUrlIOS`).
@github-actions github-actions bot temporarily deployed to production October 5, 2025 12:52 Inactive
feat: Add platform logging stream and log level configuration

- Introduced `FlutterBranchSdk.platformLogs` stream for real-time log messages from the Branch SDK.
- Added `logLevel` configuration to `branch-config.json` for controlling log verbosity.
- Updated documentation to include examples for logging configuration in different environments.
- Enhanced Android and iOS implementations to support logging levels and stream handling.
- Updated README and CHANGELOG to reflect new features and usage instructions.
- Enhanced FlutterBranchSdkPlugin registration to clean up existing channels and handlers to prevent duplicates.
- Added deinitialization logic to remove stream handlers and channels when the plugin instance is deallocated.
- Refactored FlutterBranchSdkMethodChannel to use static channels and added initialization checks to prevent method calls before SDK initialization.
- Improved error handling and validation in method calls to ensure proper SDK usage.
Introduced a private _validateUrl method in FlutterBranchSdkMethodChannel to enforce stricter URL validation for handleDeepLink. Updated related tests to cover validation scenarios and improved debug logging in home_page.dart to include timestamps.
Refactored the URL validation logic to remove unnecessary null checks for host and path, relying on empty string checks instead.
- Added buffer size limits and dropped message warnings to log stream handlers on Android and iOS to prevent unbounded memory usage.
- Updated iOS plugin to prioritize JSON config for logging, and improved debug output formatting.
- Clarified in documentation and web implementation that platform logs are only available on iOS and Android, not on Web.
- Updated iOS example project configuration for better deep linking and plugin registration.
**New Platform Logging Stream**
- Added `FlutterBranchSdk.platformLogs` stream to receive Branch SDK log messages in real-time
- Enable logging via `branch-config.json` (`enableLogging` and `logLevel` keys) or programmatically through `FlutterBranchSdk.init()`
- Supports log levels: `VERBOSE`, `DEBUG`, `INFO`, `WARNING`, `ERROR`, and `NONE`
- Example usage:
  ```dart
  FlutterBranchSdk.platformLogs.listen((logMessage) {
    debugPrint('Branch Log: $logMessage');
  });
  ```
@github-actions github-actions bot temporarily deployed to production January 6, 2026 23:56 Inactive
### ⚠️ BREAKING CHANGES
- **Minimum Flutter version**: 3.38.0 (was 3.19.0)
- **Minimum Dart SDK**: 3.10.0 (was 3.3.0)
- **Minimum iOS version : 13

### 🎉 Features
**iOS UISceneDelegate Support (iOS 13+)** [Fluuter UISceneDelegate adoption](https://docs.flutter.dev/release/breaking-changes/uiscenedelegate)
- Added full support for iOS 13+ UISceneDelegate lifecycle
- Maintains full backward compatibility with UIApplicationDelegate for apps not using scenes
@github-actions github-actions bot temporarily deployed to production January 24, 2026 02:49 Inactive
### 🔧 Native SDK Updates
* Updated included iOS SDK to 3.14.0 - [iOS Version History](https://github.com/BranchMetrics/ios-branch-deep-linking-attribution/releases)
* Improved log output from enableBranchLogging with more detailed information.

### 🐛 Fixes
**iOS**
- Fixed duplicate Branch session initialization in scene-based apps (iOS 13+): added guard to prevent `initSession` from being called twice when both App Delegate and Scene Delegate lifecycles are active
### 🔧 Native SDK Updates
* Updated included iOS SDK to 3.14.0 - [iOS Version History](https://github.com/BranchMetrics/ios-branch-deep-linking-attribution/releases)
* Improved log output from enableBranchLogging with more detailed information.

### 🐛 Fixes
**iOS**
- Fixed duplicate Branch session initialization in scene-based apps (iOS 13+): added guard to prevent `initSession` from being called twice when both App Delegate and Scene Delegate lifecycles are active
### 🔧 Native SDK Updates
* Updated included iOS SDK to 3.14.0 - [iOS Version History](https://github.com/BranchMetrics/ios-branch-deep-linking-attribution/releases)

### 🎉 Features
* Improved log output from `platformLogs` with more detailed information.

### 🐛 Bug Fixes
* **iOS:** Fixed double execution of `configureBranchSDK()` on iOS 13+ with Scene Delegate support. The method was being called from both `application(_:didFinishLaunchingWithOptions:)` and `scene(_:willConnectTo:options:)`, causing duplicate logging callback registration and other redundant SDK initialization. Added idempotency guard with `isSdkConfigured` flag to prevent re-execution.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant