-
Notifications
You must be signed in to change notification settings - Fork 47
/
CHANGES
357 lines (287 loc) · 14.6 KB
/
CHANGES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
4.16.2
- Fixed an authorization issue that required users to re-enter their password after updating from versions ≤ 3.15.1 to versions ≤ 4.16.1.
- Deprecated `presentSettingsFromViewController:` API - use `presentSettingsFromViewController:configuration:` instead.
4.16.1
- Introducing support for the new PayPal Reader
- Introducing the Tipping configuration for public use.
- Privacy manifest iteration.
4.0.1
- Privacy manifest fixes.
4.0.0
- Contains privacy manifests and signatures required for app store submissions.
- Requires a new dependency, `PPRiskMagnes`, that you need to ensure is included in your application's target in Xcode (see [Migration Guide](https://developer.zettle.com/docs/ios-sdk/upgrading/sdk-4.0-migration-guide) for upgrade instructions).
- Support for setting `PayPal partner attribution ID` for Manual Card Entry payments.
- Under the hood changes for card payments.
3.22.0
- Same great features, with a fresh style inspired by PayPal.
- Support for setting `PayPal partner attribution ID` for card payments.
3.18.0
- Enhancements in Manual Card Entry user interaction.
- Minor under-the-hood changes and improvements.
- Fixed issue where SDK might crash when forgetting a reader while the reader is updating.
3.15.1
- Fixed an issue with failing payment when a service endpoint is not available.
- Enhancements in Manual Card Entry user interaction.
- Under the hood changes for card payments tipping
3.13.2
- Added support for Manual Card Entry payments.
- Fixed issue with wrong formatting of some Card payment related translations.
- Fixed issue with reader appearing more then once without name.
- Fixed issue with V2 Reader pairing flow not starting by default for V2-Reader only markets.
- Fixed issue where gratuity was not canceled on Reader if merchant cancelled at a certain point.
3.10.0
- Added compliance information to the Reader information page.
- Added payment verification check for unlikely cases where a payment issue occurs mid-transaction which shows to the customer as failed, but still went through.
- Fixed issue with reader appearing more then once for some integrators.
- Decrease SDK binary size.
- Fix issue when no error is returned on Zettle flow start while another VC is being dismissed/shown (support issue https://github.com/iZettle/sdk-ios/issues/424)
3.7.2
- Fix for crash when calling charge while not being logged in.
3.7.1
- Fix for crash on iOS 12 when initialising payment.
3.7.0
- Implemented Developer mode
- Fixed inline documentation format for public API
3.6.0
- Support for Xcode 14.1
- TransactionId is now added to the card- and QRC payments return object.
- Fix translations for Cancel / Abort text keys for certain locales
- Added support for Percentage Tipping (US only)
- Regular maintenance cleanup
3.5.0
- Fix not responding on Approved screen for card payments
- Under the hood changes for cleanup and refactoring
- Bugfixes and performance improvements
3.4.1
- Fixed recurring reader disconnection
3.4.0
- Added support for taking PayPal QRC and Venmo QRC payments in the US, UK, and German markets
- Increased target iOS version to 12.0 (dropping support for iOS10 and iOS11)
- Bug fixes for iOS 15 UI
3.3.0
- Adjustment for new tipping limit in the US
3.2.2
- Added support for tipping in the French market
3.2.1
- Fix the bug preventing sending analytics events for new installs
3.2.0
- Bugfixes and performance improvements. For example:
- Fixed double payments during transactions when card readers are disconnected
- Fixed the missing currency symbol
- Updated the UI for improved SDK experience
- Improved localization
- Hardened file access security policy
- Improved error handling
3.1.1
- Under the hood changes to authentication flow
3.1.0
- Added support for US market where Zettle will launch during 2021. If you are interested to join our pilot program, contact us at [email protected].
- Require Xcode 12.4 from now on with latest swift version
- Support M1 mac simulators
- Bugfixes and performance improvements
- Better debit/credit card selection for Brazil
- Once an update to 3.1 has been performed, end users will be required to re-login. This is due to changes done in the authentication process.
- Currently iZettleSDK crashes on simulated devices running iOS 13.7 or earlier on a Mac with Apple silicon due to a bug in WebKit framework. The WebKit bug was fixed in Xcode 12.5 beta 3 and iZettleSDK crash will be fixed once Xcode 12.5 is out of beta and we support it.
Workaround: On a Mac with Apple silicon use iOS 14+ simulators.
3.0.2
- Implement an improved version of the pairing flow
- Fix an issue where SDK was unable to pair with v2 reader after reconnection failure
- Remove “Connect another reader” from SDK settings
- Removed support for iOS 9
3.0.1
- Automatically restart card reader after an update is finished
- Fix a crash on iOS 9
- Removed extra alert when tapping Continue in the Signature View
- Various crash fixes and performance improvements under the hood
3.0.0
- Migrated SDK binaries to XCFrameworks
- Added support for OAuth 2.0
- Deprecated API keys. SDK will no longer need to accept API key as part of the SDK initialization process.
- Implemented in-app pairing flows for all supported iZettle card readers
- Implemented new version of the SDK settings
2.5.3
- Fix an issue where crashes could occur when using iZettle Reader 2 (#285)[https://github.com/iZettle/sdk-ios/issues/285]
2.5.2
- Fixed an issue where "iZettle SDK" might delete WebKit cookies on login and logout
2.5.1
- Fix "iZettle SDK overrides UIPageControl tint colors using appearance proxy" issue #279
2.5.0
- Better support for background modes
- Bugfixes and improvements
- SDK is now built using Xcode 11 and Swift 5.1. `ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES` flag is required if your project doesn't include Swift
2.3
- Bug fixes and performance improvements
2.2.0
- Background update of `iZettle Reader` and iZettle Reader 2` software:
Updating card reader software is now done automatically in the background by the SDK
when time permits
- Improved handling when re-connection to a card reader
- Bug fixes and performance improvements
2.1.0
- Improved reader software update flow
- Removed support for iOS 8
- Deprecated `currency` parameter in the `charge(amount:_)` method
- Added ability to logout currently logged in account programmatically
- Streamlined signature flow UI
- Bug fixes and performance improvements
2.0.5
- Crash in payment flow due to bluetooth connection lost after card was read #10100
- Increase reader discovery interval up to 20 sec in UI flows
2.0.4
- Present iZettle Reader 2 pairing wizard from payment flow
2.0.3
- Fixed an issue where card reader might not be displayed in SDK settings after pairing
2.0.2
- Remove ability to pair iZettle Reader 2 when using iOS 9. This produced a crash in earlier versions of the SDK. Related issue: #228
- Fixed an issue where setting `enforcedAccount` property would result in requesting logins for each SDK operation. Related issues: #207, #225
2.0.1
- Fixed an issue where iZettleTransport framework was not linked with Cocoapods
2.0.0
- Added support for iZettle Reader 2
- Added support for in-app pairing flow for iZettle Reader 2
- Added support for wake-up/sleep behaviour with iZettle Reader 2
- Fixed an issue where usage of `NSDateFormatter` produced a memory leak
- Fixed a issue that could occur when disconnecting card readers on iOS 9 devices
- Other stability improvements and bug fixes
1.7.1
- Support for tipping with iZettle Reader
- iOS 11 bug fixes
- Better support for Swift programming language
- Stability improvements
1.6.2
- Added a prefix to NSDictionary `dateForKey:` extension
1.6.1
- Fix an issue with "unsupported url" message shown during payment flow
1.6.0
- Stability improvements
- iOS 11 support and fixes
1.5.0
- Stability improvements
- Add support for PIN bypass on supported readers
1.4.2
- Updated deploy targets on frameworks to be 8.0 (instead of the incorrect 9.0)
- Fixed a UI glitch when retrieving info about a payment
1.4.1
- Fixed a bug causing crash
- A new property hasActiveAccount has been added.
- The SDK will now reset UIView.areAnimationsEnabled after being presented.
- Fixed a bug where the version of the framework and hence the iZettleSDK version property still reported "1.3"
- Added iz prefix to dateForKey: NSDictionary extension.
1.4.0
- Partial refunds
- Stability and improvments
1.3.0
- The iZettleSDK now requires iOS SDK 8.0
- The SDK is now distributed as dynamic frameworks to be embedded in your app instead of as before a static library and resource bundles.
- Added support for the new iZettle Reader
- VISA work around a.k.a SMS payments has been removed.
- Manual card entry has been removed.
- The invalidateSession method has been removed (it was deprecated in v1.2.2). Use enforcedUserAccount instead.
- Bug fixes.
1.2.5
- Fixed issues with enforcedUserAccount and fast user switching.
1.2.4
- Fixed issues with enforcedUserAccount, especially on iPhones.
1.2.3
- Added contactless to the iZettlePaymentInfo documentation.
- Fixed a memory leak.
- Improved error reporting for invalid api-key or bundle-id
1.2.2
- Prefixed some audio C++ libraries to avoid linker collisions.
- Added support to disable audio readers by adding IZEnableAudioReaders set to NO to the main bundle's info.plist.
- Fixed crash when manual payment was declined.
- The invalidateSession method has been deprecated and will be removed in a future version.
- Various fixes to the refund dialog
1.2.1
- Fixed issue with unsupported keys in Info.plist
- Fixed dSYM warnings when integrating SDK
- Fixed issue with Bitcode
- Updated sample app and podspec to include CoreData framework
1.2.0
- Updates for iOS SDK 9.0 and Xcode 7.0
- Added support for Bitcode
- Added nullable type annotations
- retrievePaymentInfoForReference now expects a viewController (as it might have to prompt a login screen)
- Some parameter validation that earlier resulted in thrown exceptions will now instead return NSErrors
- Using enforcedUserAccount to handle multiple account won't no longer logout accounts when switching account
- Extended the description of enforcedUserAccount
1.1.1
- Fixes issue with unsupported keys in Info.plists.
1.1.0
- Added new optional property "enforcedUserAccount", that if set, will enforces that only an iZettle user with this account will be allowed to be logged in.
- Added a new method "invalidateSession" to programmatically logout an iZettle user
- The payment result will include Authorization Code
- Improved support pages
- Support for new card reader
- Stability improvements
1.0.0
- Methods for login, logout and user info has been removed. Login will be presented when needed, and logout is now available from the new settings view.
- You can now pass an optional currency parameter to the charge method that will be validated by iZettle (if provided) for the currently logged in user.
- A new method to retrieve information about a payment has been added.
- A new method for refunding a previous payment has been added.
- A new settings view is now accessable from all iZettle views (and is also presentable from the iZettleSDK singleton by itself) and contains iZettle FAQ, card reader settings, etc.
- PaymentInfo is now returned wrapped in an object
- Methods taking completion blocks will now throw an exception if the completion is nil.
- The key "type" in the payment info has been removed as it was redundant. Use entryMode instead.
- MessageUI.framework is now a required framework.
0.8.3
- iZettleSDK will no longer accept method invocation from a background thread
- Fixed a problem where payments would fail if the device failed to get a location
- Added more prefixes to categories and class names.
- The old card reader with Apple dock connector (com.izettle.reader.iOS.a.a.a) is no longer supported.
0.8.2
- Updated the iZettle UI
- Stability improvements and bug fixes
0.8.1
- Support for XCode 6 and compilation with iOS 8
- iZettle SDK no longer supports iOS 6
- UI Tweaks
- The SDK now requires the integrating app to provide values in the info.plist for the keys "NSLocationWhenInUseUsageDescription" (iOS 8 only) and "NSLocationUsageDescription" (iOS 7 and below)
0.8.0
- Fixes iOS8-related bugs, NOTE: XCode5 is still required when using iZettle SDK.
- More detailed NSErrors where the underlying errors are propagated.
- Fixes a bug where the UI could get stuck in the signature view.
- Chip & Pin reader is no longer kept awake when the app is inactive.
0.7.1
- Removed blocking network calls before presenting and after finisihing login or charge flows.
0.7.0
- Removed IZChargeOptions from chargeAmount: method (only card reader payments are now allowed).
- Move API documentation out from this file and the header file into "iZettle API.md"
- Removed payment and user info result constants.
- Added completion blocks to login, logout and userInfo to better match the new URL Scheme Wrapper API's
- Added support for arm64.
- Switched back to create purchases instead of just payments to be able to see them in history and reports.
- Changed the references dictionary to a reference string.
- The completion block of chargeAmount: now either returns a paymentInfo or an NSError
- The paymentInfo dictionary returned has been flattened and some keys have changed names or been removed, see "iZettle API.md"
- Fixed a problem where amounts could loose their decimals if calling charge when not logged in.
0.6.1
- Fixed crash that could occur in a class load method.
0.6.0
- Removed references to purchase and removed purchase related keys.
- Removed description and image from charge method.
- Added references dictionary to charge method to allow user data to be associated with a payment.
- Removed cash payment option.
- Added support for Chip & Pin card reader key injection and firmware updating.
- Only enable location services during payments.
0.5.3
- Fixes a problem with "loginFromViewController:" where the SDK would crash upon cancelling and return NO upon a successful login.
0.5.2
- iZettle views will only be presented in Portrait orientation for iPhone
- Fixes a problem where IZPaymentTypeKey could return the wrong payment type
- iZettle SDK will suppress update-dialogs asking the user to update iZettle
0.5.1
- Added abortOngoingPurchase method
0.5.0
- Prefixed SBJson and Reachability with IZ to avoid symbol collisions
- Resetting NSDecimalNumber number behaviors after a purchase
- Various bug fixes and stability improvements
0.4.3
- Improved handling of bad/no network conditions
0.4.2
- Fixes issues with detection of the Gemalto reader
- Various bug fixes and stability improvements
0.4.1
- Fixes a problem where iZettle asked for microphone access
- Fixes problems with music playback during the use of iZettle
- Various bug fixes