iOS SDK v1.0.0
New Features and Improvements
-
Runtime SDK-Level Tracking Toggle
- Introduced a runtime tracking toggle for dynamic control over data tracking within the SDK.
-
Offline Config Screens & Reset-Visitor Affordance
- Added offline configuration screens along with options to reset visitor data.
-
Conversions Screen
- Developed a new screen to visualize and manage conversion data.
-
Features Screen
- Implemented a features screen for managing feature flags and related settings.
-
Experiences Screen
- Added an experiences screen to depict various user experience settings.
-
Event Inspector Sheet
- Introduced an Event Inspector to track and debug event data more effectively.
-
Demo Scaffolding & UI Enhancements
- Set up demo scaffolding with theme and TabView layout improvements.
-
Apple Privacy Guide & Manifest Verification
- Integrated Apple privacy guidelines and manifest verification to ensure compliance.
-
SwiftUI & UIKit Quickstarts
- Added quickstart guides for SwiftUI and UIKit to simplify onboarding and usage.
-
User Guide & README
- Updated the user guide and README to provide comprehensive documentation.
-
DocC API Reference & CI Doc Enforcement
- Published DocC API references and implemented CI checks for documentation coverage.
-
Robust Testing Infrastructure
- Established full-chain tests, payload structure tests, and concurrency evaluations to improve reliability.
-
Dynamic Tracking Control
- Enhanced dynamic tracking controls for flexible event tracking management.
-
Durable Background URLSession
- Improved URLSession delivery with better support for background execution and lifecycle management.
-
On-Disk Event Persistence
- Added capabilities for on-disk event persistence with an exactly-once event coordination mechanism.
-
Event Queue & Batching
- Implemented an event queuing system with batching capabilities for efficient foreground delivery.
-
Visitor Segmentation
- Introduced visitor segmentation features for targeting and personalization.
-
Goal Deduplication & Multiple Transactions
- Added functionalities for deduplication of goals and support for handling multiple transactions.
-
Conversion Tracking Enhancements
- Improved conversion tracking with goal data and dynamic bucketing.
-
Feature Flag Evaluation with Typed Variables
- Enhanced feature flag handling using typed variables for precise control.
-
Experiences Execution & Tracking Control
- Enabled execution of all experiences with per-call tracking control options.
-
Sticky Variation Assignment
- Implemented sticky variation assignments to maintain consistent user experiences.
-
Audience & Location Rule Evaluation
- Added mechanisms for evaluating audience and location-based rules.
-
Deterministic Bucketing with MurmurHash3
- Introduced deterministic bucketing using MurmurHash3 for consistent cross-SDK parity.
-
Visitor Context & ID Persistence
- Enhanced visitor context creation and ensured persistent visitor ID storage.
-
Foreground Config Refresh & Low Power Handling
- Added functionality for refreshing configuration in foreground and managing low power mode with pause tracking.
-
Configuration Fetch & Caching
- Improved configuration fetching with local caching capabilities.
-
SDK Initializer & Configuration Setup
- Streamlined SDK initialization with a comprehensive configuration setup process.
-
Internal Event System
- Developed an internal event system to manage event states and transitions seamlessly.
-
Release Pipeline with Signed Tag
- Established a robust release pipeline including signed tags for GitHub releases.
-
OpenAPI Config Type Generation
- Automated OpenAPI configuration type generation alongside LCD-Sentinel decoding.
-
CI Pipeline Enhancements
- Enhanced the CI pipeline with build, lint, import-guard, and coverage gates.
-
Core Model & Protocols Migration
- Migrated core model DTOs and port protocols for improved data handling.
-
Package Scaffolding & Target Structure
- Set up initial package scaffolding with a dual-target structure to support modular development.
-
Updated Project Documentation
- Enhanced project documentation with RELEASE.md and improved CocoaPods integration.
Bug Fixes
- Contribution Acknowledgment
- Acknowledged contributions to fix initial bugs and improve project stability.