Skip to content

Commit 623750c

Browse files
committed
docs: changelog
1 parent d136ce8 commit 623750c

File tree

1 file changed

+22
-3
lines changed

1 file changed

+22
-3
lines changed

CHANGELOG.md

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,29 +5,46 @@
55
### Features
66

77
- **OpenIAP Compliance**: Implemented changes from [expo-iap PR #158](https://github.com/hyochan/expo-iap/pull/158) for standardized transaction identification
8+
89
- Added `id` field to `Purchase` class that maps to `transactionId` for OpenIAP compliance
910
- Updated native implementations to include `id` field in purchase responses
1011
- Enhanced `finishTransaction` to accept `Purchase` objects directly
1112

13+
- **Unified Purchase Token**: Cross-platform server validation support
14+
- Added unified `purchaseToken` field for both iOS (JWS) and Android (purchase token)
15+
- iOS now includes JWS representation for server-side validation
16+
- Deprecated `jwsRepresentationIOS` and `purchaseTokenAndroid` in favor of `purchaseToken`
17+
- Simplified cross-platform server validation workflow
18+
1219
### Improvements
1320

1421
- **Transaction Management**: Simplified transaction finishing flow
22+
1523
- `finishTransaction` now accepts `Purchase` objects directly, preserving all purchase data
1624
- Removed unnecessary `PurchasedItem` to `Purchase` conversions
1725
- Improved transaction ID handling with proper fallback logic
26+
- Fixed duplicate transaction events with processed transaction tracking
1827

1928
- **iOS StoreKit 2**: Complete StoreKit 2 implementation
29+
2030
- Removed transaction caching in favor of direct StoreKit 2 API usage
2131
- Improved transaction search using `Transaction.all`
2232
- Added comprehensive debug logging for troubleshooting
2333
- Enhanced date handling for purchase timestamps
34+
- Fixed transaction ID issues by removing StoreKit Configuration dependency
2435

2536
- **Date Handling**: Fixed date display issues
37+
2638
- Fixed "1970-01-01" date issue in Available Purchases
27-
- Fixed "Unknown" date issue in Purchase History
39+
- Fixed "Unknown" date issue in Purchase History
2840
- Improved date parsing to handle multiple formats (ISO 8601, milliseconds, DateTime objects)
2941
- Consistent date handling across Android and iOS platforms
3042

43+
- **Error Handling**: Enhanced error reporting
44+
- Added comprehensive purchase-error events following expo-iap patterns
45+
- Better error handling for both iOS and Android platforms
46+
- Improved duplicate event prevention
47+
3148
### Bug Fixes
3249

3350
- **Android**: Added missing `transactionId` field in `getPurchaseHistoryByType` response
@@ -52,19 +69,21 @@ None - This version maintains backward compatibility while adding new features.
5269
If you're upgrading from 6.1.x:
5370

5471
1. **Transaction Finishing**: You can now pass `Purchase` objects directly to `finishTransaction()`:
72+
5573
```dart
5674
// Old way (still works)
5775
await _iap.finishTransaction(purchasedItem, isConsumable: true);
58-
76+
5977
// New way (recommended)
6078
await _iap.finishTransaction(purchase, isConsumable: true);
6179
```
6280

6381
2. **Transaction ID**: Use the `id` field for OpenIAP compliance:
82+
6483
```dart
6584
// OpenIAP compliant way
6685
final transactionId = purchase.id;
67-
86+
6887
// Legacy way (still works)
6988
final transactionId = purchase.transactionId;
7089
```

0 commit comments

Comments
 (0)