Showing
7 changed files
with
40 additions
and
35 deletions
| ... | @@ -4,7 +4,7 @@ | ... | @@ -4,7 +4,7 @@ | 
| 4 | 4 | ||
| 5 | **Get started with SwiftWarplyFramework in just 5 minutes!** | 5 | **Get started with SwiftWarplyFramework in just 5 minutes!** | 
| 6 | 6 | ||
| 7 | -**Version**: 2.2.10 | **Minimum iOS**: 17.0 | **Swift**: 5.0+ | 7 | +**Version**: 2.3.0 | **Minimum iOS**: 17.0 | **Swift**: 5.0+ | 
| 8 | 8 | ||
| 9 | --- | 9 | --- | 
| 10 | 10 | ||
| ... | @@ -53,7 +53,7 @@ Choose your preferred installation method: | ... | @@ -53,7 +53,7 @@ Choose your preferred installation method: | 
| 53 | ``` | 53 | ``` | 
| 54 | https://git.warp.ly/open-source/warply_sdk_framework.git | 54 | https://git.warp.ly/open-source/warply_sdk_framework.git | 
| 55 | ``` | 55 | ``` | 
| 56 | -4. Select **Version**: `2.2.10` or **Up to Next Major** | 56 | +4. Select **Version**: `2.3.0` or **Up to Next Major** | 
| 57 | 5. Click **Add Package** | 57 | 5. Click **Add Package** | 
| 58 | 6. Select **SwiftWarplyFramework** and click **Add Package** | 58 | 6. Select **SwiftWarplyFramework** and click **Add Package** | 
| 59 | 59 | ||
| ... | @@ -62,7 +62,7 @@ Add to your `Package.swift` dependencies: | ... | @@ -62,7 +62,7 @@ Add to your `Package.swift` dependencies: | 
| 62 | 62 | ||
| 63 | ```swift | 63 | ```swift | 
| 64 | dependencies: [ | 64 | dependencies: [ | 
| 65 | - .package(url: "https://git.warp.ly/open-source/warply_sdk_framework.git", from: "2.2.10") | 65 | + .package(url: "https://git.warp.ly/open-source/warply_sdk_framework.git", from: "2.3.0") | 
| 66 | ] | 66 | ] | 
| 67 | ``` | 67 | ``` | 
| 68 | 68 | ||
| ... | @@ -89,7 +89,7 @@ platform :ios, '17.0' | ... | @@ -89,7 +89,7 @@ platform :ios, '17.0' | 
| 89 | target 'YourApp' do | 89 | target 'YourApp' do | 
| 90 | use_frameworks! | 90 | use_frameworks! | 
| 91 | 91 | ||
| 92 | - pod 'SwiftWarplyFramework', :git => 'https://git@git.warp.ly/open-source/warply_sdk_framework.git', :tag => '2.2.10' | 92 | + pod 'SwiftWarplyFramework', :git => 'https://git@git.warp.ly/open-source/warply_sdk_framework.git', :tag => '2.3.0' | 
| 93 | end | 93 | end | 
| 94 | ``` | 94 | ``` | 
| 95 | 95 | ||
| ... | @@ -1572,29 +1572,34 @@ Start with the Quick Start guide and gradually adopt the advanced features as ne | ... | @@ -1572,29 +1572,34 @@ Start with the Quick Start guide and gradually adopt the advanced features as ne | 
| 1572 | 1572 | ||
| 1573 | ## 📋 **Changelog** | 1573 | ## 📋 **Changelog** | 
| 1574 | 1574 | ||
| 1575 | -### **Version 2.2.10** - *June 23, 2025* | 1575 | +### **Version 2.3.0** - *June 30, 2025* | 
| 1576 | 1576 | ||
| 1577 | #### **🆕 New Features** | 1577 | #### **🆕 New Features** | 
| 1578 | - **Language Configuration Support**: Added configurable language parameter to SDK initialization | 1578 | - **Language Configuration Support**: Added configurable language parameter to SDK initialization | 
| 1579 | - - New `language` parameter in `configure()` method (defaults to "el") | 1579 | +- **Complete Database Layer**: New DatabaseManager with SQLite.swift integration | 
| 1580 | - - Runtime language switching via `applicationLocale` property | 1580 | +- **Configuration System**: 5 new configuration classes for modular settings management | 
| 1581 | - - Automatic configuration sync when language changes | 1581 | +- **Security Enhancements**: KeychainManager and FieldEncryption for secure data handling | 
| 1582 | - | 1582 | +- **Enhanced Data Models**: 4 new model classes (TokenModel, CardModel, TransactionModel, PointsHistoryModel) | 
| 1583 | -#### **🔧 Network Improvements** | 1583 | + | 
| 1584 | -- **Comprehensive Header System**: Implemented complete HTTP header management based on original Objective-C implementation | 1584 | +#### **🔧 Architecture Improvements** | 
| 1585 | - - Core loyalty headers: `loyalty-web-id`, `loyalty-date`, `loyalty-signature` | 1585 | +- **Modern Database Operations**: Raw SQL implementation with encryption support | 
| 1586 | - - Device identification headers: `unique-device-id`, `vendor`, `platform`, `os_version` | 1586 | +- **Token Management**: Robust TokenRefreshManager with circuit breaker pattern | 
| 1587 | - - App identification headers: `loyalty-bundle-id`, `manufacturer`, `ios_device_model` | 1587 | +- **Configuration Management**: Environment-specific configurations (dev/prod) | 
| 1588 | - - Authentication headers with proper Bearer token handling | 1588 | +- **Security Integration**: iOS Keychain Services and AES-256 encryption | 
| 1589 | - - Special endpoint headers for registration, and logout flows | 1589 | +- **Network Enhancements**: Central context response parsing and improved error handling | 
| 1590 | -- **Dynamic BaseURL Management**: Enhanced baseURL handling for improved configuration flexibility | 1590 | + | 
| 1591 | - - Dynamic baseURL reading from Configuration on every request | 1591 | +#### **🚨 Breaking Changes** | 
| 1592 | - - Environment-aware URL switching (development/production) | 1592 | +- **None**: Full backward compatibility maintained | 
| 1593 | - - Real-time configuration updates without restart | 1593 | + | 
| 1594 | - - Fallback safety mechanisms with default stage URL | 1594 | +#### **🔧 Internal Improvements** | 
| 1595 | -- **SHA256 Signature Generation**: Added secure signature generation for API authentication | 1595 | +- **Legacy Credential Removal**: Eliminated dependency on deprecated API credentials | 
| 1596 | -- **Device Info Utilities**: Enhanced device information collection for headers | 1596 | +- **Compilation Fixes**: Resolved all compilation errors and warnings | 
| 1597 | -- **Platform-Specific Headers**: iOS-specific headers for better backend compatibility | 1597 | +- **Authentication Logic**: Enhanced with graceful degradation for non-authenticated users | 
| 1598 | +- **Error Handling**: Comprehensive error handling throughout the framework | ||
| 1599 | + | ||
| 1600 | +#### **📦 Dependencies** | ||
| 1601 | +- **Added**: SQLite.swift (~> 0.12.2) for database operations | ||
| 1602 | +- **Maintained**: RSBarcodes_Swift (~> 5.2.0) and SwiftEventBus | ||
| 1598 | 1603 | ||
| 1599 | --- | 1604 | --- | 
| 1600 | 1605 | ... | ... | 
| ... | @@ -646,7 +646,7 @@ public class TokenRefreshManager { | ... | @@ -646,7 +646,7 @@ public class TokenRefreshManager { | 
| 646 | **Key Changes**: | 646 | **Key Changes**: | 
| 647 | ```swift | 647 | ```swift | 
| 648 | // Added SQLite.swift dependency | 648 | // Added SQLite.swift dependency | 
| 649 | -.package(url: "https://github.com/stephencelis/SQLite.swift.git", from: "0.14.1"), | 649 | +.package(url: "https://github.com/stephencelis/SQLite.swift.git", from: "0.12.2"), | 
| 650 | 650 | ||
| 651 | // Updated target dependencies | 651 | // Updated target dependencies | 
| 652 | .target( | 652 | .target( | ... | ... | 
| ... | @@ -2,7 +2,7 @@ | ... | @@ -2,7 +2,7 @@ | 
| 2 | 2 | ||
| 3 | ## 🚀 Essential Guide for Developers | 3 | ## 🚀 Essential Guide for Developers | 
| 4 | 4 | ||
| 5 | -**Version**: 2.2.10 | **iOS**: 17.0+ | **Swift**: 5.0+ | 5 | +**Version**: 2.3.0 | **iOS**: 17.0+ | **Swift**: 5.0+ | 
| 6 | 6 | ||
| 7 | --- | 7 | --- | 
| 8 | 8 | ||
| ... | @@ -10,7 +10,7 @@ | ... | @@ -10,7 +10,7 @@ | 
| 10 | 10 | ||
| 11 | ```ruby | 11 | ```ruby | 
| 12 | # Podfile | 12 | # Podfile | 
| 13 | -pod 'SwiftWarplyFramework', :git => 'https://git@git.warp.ly/open-source/warply_sdk_framework.git', :tag => ‘2.2.10’ | 13 | +pod 'SwiftWarplyFramework', :git => 'https://git@git.warp.ly/open-source/warply_sdk_framework.git', :tag => ‘2.3.0’ | 
| 14 | ``` | 14 | ``` | 
| 15 | 15 | ||
| 16 | --- | 16 | --- | 
| ... | @@ -323,7 +323,7 @@ func safeAPICall() { | ... | @@ -323,7 +323,7 @@ func safeAPICall() { | 
| 323 | ## 🔍 Debug Info | 323 | ## 🔍 Debug Info | 
| 324 | 324 | ||
| 325 | ```swift | 325 | ```swift | 
| 326 | -print("SDK Version: 2.2.10") | 326 | +print("SDK Version: 2.3.0") | 
| 327 | print("App UUID: \(WarplySDK.shared.appUuid)") | 327 | print("App UUID: \(WarplySDK.shared.appUuid)") | 
| 328 | print("Merchant ID: \(WarplySDK.shared.merchantId)") | 328 | print("Merchant ID: \(WarplySDK.shared.merchantId)") | 
| 329 | print("Language: \(WarplySDK.shared.applicationLocale)") | 329 | print("Language: \(WarplySDK.shared.applicationLocale)") | ... | ... | 
| 1 | Pod::Spec.new do |spec| | 1 | Pod::Spec.new do |spec| | 
| 2 | 2 | ||
| 3 | spec.name = "SwiftWarplyFramework" | 3 | spec.name = "SwiftWarplyFramework" | 
| 4 | - spec.version = "2.2.10" | 4 | + spec.version = "2.3.0" | 
| 5 | spec.summary = "A framework used for several functionalities." | 5 | spec.summary = "A framework used for several functionalities." | 
| 6 | 6 | ||
| 7 | spec.description = "This is the Warply framework used for react native or swift apps for analytics, push notifications and the functionality of the app." | 7 | spec.description = "This is the Warply framework used for react native or swift apps for analytics, push notifications and the functionality of the app." | 
| ... | @@ -17,7 +17,7 @@ Pod::Spec.new do |spec| | ... | @@ -17,7 +17,7 @@ Pod::Spec.new do |spec| | 
| 17 | 17 | ||
| 18 | spec.platform = :ios, "17.0" | 18 | spec.platform = :ios, "17.0" | 
| 19 | 19 | ||
| 20 | - spec.source = { :git => "https://git.warp.ly/open-source/warply_sdk_framework.git", :tag => "2.2.10" } | 20 | + spec.source = { :git => "https://git.warp.ly/open-source/warply_sdk_framework.git", :tag => "2.3.0" } | 
| 21 | # spec.public_header_files = "SwiftWarplyFramework.framework/Headers/*.h" | 21 | # spec.public_header_files = "SwiftWarplyFramework.framework/Headers/*.h" | 
| 22 | 22 | ||
| 23 | # ==> OLD | 23 | # ==> OLD | ... | ... | 
No preview for this file type
| ... | @@ -9,7 +9,7 @@ SwiftWarplyFramework is an iOS SDK that provides loyalty program functionality, | ... | @@ -9,7 +9,7 @@ SwiftWarplyFramework is an iOS SDK that provides loyalty program functionality, | 
| 9 | - Minimum iOS Version: 17.0 | 9 | - Minimum iOS Version: 17.0 | 
| 10 | - Swift Version: 5.0+ | 10 | - Swift Version: 5.0+ | 
| 11 | - Distribution: CocoaPods + Swift Package Manager (SPM) | 11 | - Distribution: CocoaPods + Swift Package Manager (SPM) | 
| 12 | -- Framework Version: 2.2.10 | 12 | +- Framework Version: 2.3.0 | 
| 13 | 13 | ||
| 14 | ### Dependencies | 14 | ### Dependencies | 
| 15 | - RSBarcodes_Swift (~> 5.2.0) - Barcode scanning and generation | 15 | - RSBarcodes_Swift (~> 5.2.0) - Barcode scanning and generation | ... | ... | 
| ... | @@ -637,7 +637,7 @@ Use **SQLite.swift** (modern, pure Swift, type-safe) to implement the same datab | ... | @@ -637,7 +637,7 @@ Use **SQLite.swift** (modern, pure Swift, type-safe) to implement the same datab | 
| 637 | - [x] Update `Package.swift` to include SQLite.swift dependency: | 637 | - [x] Update `Package.swift` to include SQLite.swift dependency: | 
| 638 | ```swift | 638 | ```swift | 
| 639 | dependencies: [ | 639 | dependencies: [ | 
| 640 | - .package(url: "https://github.com/stephencelis/SQLite.swift", from: "0.14.1") | 640 | + .package(url: "https://github.com/stephencelis/SQLite.swift", from: "0.12.2") | 
| 641 | ] | 641 | ] | 
| 642 | ``` | 642 | ``` | 
| 643 | - [x] Add import statements in relevant files | 643 | - [x] Add import statements in relevant files | 
| ... | @@ -645,7 +645,7 @@ Use **SQLite.swift** (modern, pure Swift, type-safe) to implement the same datab | ... | @@ -645,7 +645,7 @@ Use **SQLite.swift** (modern, pure Swift, type-safe) to implement the same datab | 
| 645 | - [x] Test basic SQLite.swift functionality | 645 | - [x] Test basic SQLite.swift functionality | 
| 646 | 646 | ||
| 647 | **Implementation Details:** | 647 | **Implementation Details:** | 
| 648 | -- ✅ **Package.swift Updated**: Added SQLite.swift dependency (version 0.14.1+) | 648 | +- ✅ **Package.swift Updated**: Added SQLite.swift dependency (version 0.12.2+) | 
| 649 | - ✅ **Dependency Resolution**: Successfully fetched and resolved SQLite.swift and dependencies | 649 | - ✅ **Dependency Resolution**: Successfully fetched and resolved SQLite.swift and dependencies | 
| 650 | - ✅ **DatabaseManager Created**: `SwiftWarplyFramework/Database/DatabaseManager.swift` with actor pattern | 650 | - ✅ **DatabaseManager Created**: `SwiftWarplyFramework/Database/DatabaseManager.swift` with actor pattern | 
| 651 | - ✅ **Database Schema Defined**: Tables for `requestVariables`, `events`, and `pois` matching original Objective-C | 651 | - ✅ **Database Schema Defined**: Tables for `requestVariables`, `events`, and `pois` matching original Objective-C | 
| ... | @@ -1658,7 +1658,7 @@ This phase focuses on making the SwiftWarplyFramework production-ready for distr | ... | @@ -1658,7 +1658,7 @@ This phase focuses on making the SwiftWarplyFramework production-ready for distr | 
| 1658 | ### **Step 6.1.1: Swift Package Manager (SPM) Validation** ✅ **COMPLETED** | 1658 | ### **Step 6.1.1: Swift Package Manager (SPM) Validation** ✅ **COMPLETED** | 
| 1659 | - [x] **Dependency Resolution Testing** ✅ **COMPLETED** | 1659 | - [x] **Dependency Resolution Testing** ✅ **COMPLETED** | 
| 1660 | - [x] Test `swift package resolve` works correctly with all dependencies | 1660 | - [x] Test `swift package resolve` works correctly with all dependencies | 
| 1661 | - - [x] Validate SQLite.swift dependency integration (0.14.1+ - stable and compatible) | 1661 | + - [x] Validate SQLite.swift dependency integration (0.12.2+ - stable and compatible) | 
| 1662 | - [x] Validate RSBarcodes_Swift dependency integration (5.2.0+ - stable and compatible) | 1662 | - [x] Validate RSBarcodes_Swift dependency integration (5.2.0+ - stable and compatible) | 
| 1663 | - [x] Validate SwiftEventBus dependency integration (5.0.0+ - compatible, migration to internal EventDispatcher recommended) | 1663 | - [x] Validate SwiftEventBus dependency integration (5.0.0+ - compatible, migration to internal EventDispatcher recommended) | 
| 1664 | - [x] Test dependency version compatibility and conflicts (no conflicts found) | 1664 | - [x] Test dependency version compatibility and conflicts (no conflicts found) | 
| ... | @@ -1685,7 +1685,7 @@ This phase focuses on making the SwiftWarplyFramework production-ready for distr | ... | @@ -1685,7 +1685,7 @@ This phase focuses on making the SwiftWarplyFramework production-ready for distr | 
| 1685 | 1685 | ||
| 1686 | ### **Step 6.1.2: CocoaPods Distribution** ✅ **COMPLETED** | 1686 | ### **Step 6.1.2: CocoaPods Distribution** ✅ **COMPLETED** | 
| 1687 | - [x] **Podspec Configuration** ✅ **COMPLETED** | 1687 | - [x] **Podspec Configuration** ✅ **COMPLETED** | 
| 1688 | - - [x] Update SwiftWarplyFramework.podspec with new dependencies (SQLite.swift ~> 0.14.1 added) | 1688 | + - [x] Update SwiftWarplyFramework.podspec with new dependencies (SQLite.swift ~> 0.12.2 added) | 
| 1689 | - [x] Configure proper resource file inclusion (ResourcesBundle with xcassets and fonts) | 1689 | - [x] Configure proper resource file inclusion (ResourcesBundle with xcassets and fonts) | 
| 1690 | - [x] Set correct iOS deployment target (17.0+ configured) | 1690 | - [x] Set correct iOS deployment target (17.0+ configured) | 
| 1691 | - [x] Define proper source file patterns (SwiftWarplyFramework/**/*.{h,m,swift,xib,storyboard}) | 1691 | - [x] Define proper source file patterns (SwiftWarplyFramework/**/*.{h,m,swift,xib,storyboard}) | ... | ... | 
- 
Please register or login to post a comment