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