Releases: pace/cloud-sdk-ios
Releases · pace/cloud-sdk-ios
12.0.0
12.0.0 Release notes (2022-10-06)
Breaking Changes
- Upgrade to XCode 14
Enhancements
- Scope user specific data to user id
- Implement fueling example app
- Add options to retrieve an OTP via biometry, pin and password
Fixes
- Fix handling activated links in AppWebViews
- Fix showing error screen in webviews and enhance error handling
- Adjust modifying requests via request behaviors
Internal
- Remove GeoJSON API leftovers
- Update Fueling API
- Update Pay API
- Update User API
- Update POI API
- Use Xcode 14 runner
- Support absolute paths in manifest
- Make CI jobs interruptible
- Adjust repo upload params
11.0.0
Breaking Changes
- Remove the stage environment
- Remove unnecessary fatal error calls
Fixes
- 0 instead of nil accuracy in verifyLocation
- Fix dispatching the completion block on the main thread when ending a session
- Fix payment method vendor icons url
Internal
- Add migration guide for stage removal
- Retrieve geojson from cdn
- Scope session object to environment
- Make createdAt property of Double type
- Remove bot configs
- Add createdAt to UserInfo
- Update documentation link
- Update gems
10.0.0
Breaking Changes
- Properly remove keycloak session
- Integrate adapted pay api
- Remove geojson api
- Integrate adapted poi api
- Integrate adapted user api
- Integrate adapted fueling api
- Fix token expiry date validation
- Introduce CDN client to fetch payment method vendors and icons
- Integrate adjusted poly type generation
- Check cofustatus of cofugasstation
- Remove native apple pay handling
Enhancements
- Add callback to report breadcrumbs and general sdk errors to client
- Implement interface for customized localization
- Adjust
isCoFuGasStationproperty to also reflect geojson online status - Add
isCoFuGasStationtoPOIKit.GasStationmodel - Implement alternative user agent for authorization flow
- Add functionality to extract payment method kinds from jwt"
- Add more localization
- Add functionality to extract payment method kinds from jwt
Fixes
- Fix required label name
- Fix typo in GitLab bot config
- Fix general logging issues and rework logging tests
- Return correct unix timestamps of closing times
- Correct type of
logoproperty inPaymentMethodVendor - Intercept app webview redirect
- Use pace cloud sdk environment for log files
Internal
- Upgrade OneTimePassword to 3.3.2
- Update cocoapods dependency
- Integrate Japx
- Add
fuelingURLsproperty toPOIKit.CofuGasStationmodel and extract its value from geojson file - Add label config for PACEBot
- Remove GitLab issue templates
- Update GitLab templates
- Make
BiometryTOTPDatapublicly accessible - Add function to retrieve a single payment method vendor icon
- Introduce authorization canceled error
- Add default implementations for
AppKitDelegatedidReceiveAppDrawers(...)anddidFail(...) - Improve error handling of api requests on failed token refreshs
- Make AnyCodable value accessible
- Add IDKit to PACECloudSlimSDK
- Make logger functions overridable
- Add url to api request failure log message
- Remove apps query fallback
- Cleanup documentation in index md
- Correctly open new tab webview on multiple openInNewTab requests
- Remove all obsolete POI files from PACECloudSlimSDK
- Extract apple pay session scope from access token"
- Lokalise updates
- Extract apple pay session scope from access token
- Add job to build a xcframework for the slim sdk
- Add issue templates
- Introduce decimal decoding tests
- Update Fueling and Pay API
9.2.1
9.2.0
Enhancements
- Add
additionalPropertiesproperty toPOIKit.GasStation - The
domainACLwill now be set topace.cloudby default - Introduce
PACECloudSDK.shared.application(open:)to handle deep links. Please use this method to handle incoming redirect URLs asAppKit.handleRedirectURL(url:)is now deprecated and will be removed in a future version. - Add option to evaluate the biometry policy without handling a totp
Fixes
- Fix default implementation for
didReceiveImageData(UIImage)anddidReceiveText(String,String)inAppKitDelegatewhen triggered multiple times
Internal
- Adjust API URLs
- Adjust invalidation token handling for
POIKit.BoundingBoxNotitficationToken - Forward
PACECloudSDK.shared.additionalQueryParamstoIDKit.OIDConfiguration.additionalParameters - Adjust
Bundle.main.bundleNameto now return bundle name with whitespaces. - Add
Bundle.main.bundleNameWithoutWhitespaceswhich returns bundle name without whitespaces. - Add
integratedparameter toopenURLInNewTabcommunication request
9.1.0
Fixes
- Regenerate Fueling and Pay 2021-2 API which replaces number types with decimal format from Double to Decimal due to floating precision problems of Double when using JSONDecoder and JSONEncoder.
Enhancements
- Add
IDKitDelegatemethodwillResetSession()that is triggered when a session is about to be reset. - Introduce share text call
handleShareText - Add dashboard url to
PACECloudSDK.URL
Internal
- Adjust TOTP secret handling
9.0.0
Breaking Changes
TokenValidatoris now part ofIDKitinstead ofAppKit- The response of
POIKit.requestCoFuGasStation(center:, radius:)does not filter the stations by their online status any more. - Implement default receipt image download handling (Requires
NSPhotoLibraryUsageDescriptionto be set in target properties) - Update all apis to v2021-2 - GeoJSON, Fueling, Pay, POI and User (Documentation)
- Change default geo apps scope - When not specifying a custom
geoAppsScopein the SDK configuration thePOIKit.CofuGasStationpropertypolygonwill from now on benil. - For all
AppViewControllerinstances the propertyisModalInPresentationis nowtrueby default. Setting it tofalsecan be done via the initializer or afterwards by directly accessing the property. - Rework Logger -
PACECloudSDKLoggingDelegatedoes not exist any more.
Enhancements
- Implement new price history endpoints
- Add bearing to
GetLocationcall - Add 'isSignedIn' sdk call
- Add
isRemoteConfigAvailablecall
Fixes
- Fix Fueling PWA's URL for non-prod environments
- Correctly remove app drawers based on the user's location if the speed threshold has been exceeded
- Fix close call in
redirect_uri - Fix system passcode fallback for biometric authentication
Internal
- Remove default timeout in communication api
- Respond with 405 if communication operation doesn't exist
- Enable bitcode for the
PACECloudSDKtarget - Upgrade to XCode 13
- Use system font instead of embedding SFUIDisplay
8.0.0
Breaking Changes
- Set default
authenticationModeof the SDK to.native.
NOTE: If you are not using native authentication make sure to explicitely set the mode to
.webin the SDK configuration if it isn't already.
- The data type of the completion parameter for the
didCreateApplePayPaymentRequestcallback has been changed from[String: Any]?toAPI.Communication.ApplePayRequestResponse? - The data type of the completion parameter for the
getAccessTokencallback has been changed fromAppKit.GetAccessTokenResponsetoAPI.Communication.GetAccessTokenResponse - AppKit's
isPoiInRange(...)is now part ofPOIKit, available underPOIKit.isPoiInRange(...) - AppKit's
requestCofuGasStations(...)is now part ofPOIKit, available underPOIKit.requestCofuGasStations(...) - AppKit's model
CofuGasStationis now part ofPOIKit, available underPOIKit.CofuGasStation - AppKit's
sharedproperty is no longer publicly accessible. All methods and properties of typeAppKit.shared.fooBar()are now accessible viaAppKit.fooBar() - The data type of the completion parameter of AppKit's
fetchListOfApps(...)has been changed from([AppKit.AppData]?, AppKit.AppError?)to(Result<[AppKit.AppData], AppKit.AppError>) - The parameter
poisOfTypehas been removed from POIKitManager's methodsfetchPOIs(boundingBox:)andloadPOIs(boundingBox:) - POIKitManager's
loadPOIs(locations:)has been renamed tofetchPOIs(locations:) - The data type of the completion parameter of IDKit's
authorize(...)has been changed from(String?, IDKitError?)to(Result<String?, IDKitError>) - The data type of the completion parameter of IDKit's
refreshToken(...)has been changed from(String?, IDKitError?)to(Result<String?, IDKitError>) - The data type of the completion parameter of IDKit's
discoverConfiguration(...)has been changed from(String?, String?, IDKitError?)to(Result<OIDConfiguration.Response, IDKitError>) - The data type of the completion parameter of IDKit's
userInfo(...)has been changed from(UserInfo?, IDKitError?)to(Result<UserInfo, IDKitError>)
Enhancements
- Add callback
didPerformAuthorizationtoIDKitDelegateto inform client about an authentication triggered via an app - Show AppDrawer based on distance instead of an area
- Add new
func currentLocation(completion: @escaping (CLLocation?) -> Void)callback toAppKitDelegate. This request only gets called if an app requests the user's current location and the SDK can't retrieve a valid one. - Add new target for watch application
- Add code documentation for most of AppKit's and POIKit's / POIKitManager's calls
- Add
AppRedirecthandler to PWA communication to let the client app decide if a redirect from the current PWA to another specified PWA should be allowed - Add methods to
IDKitthat returns the user's payment methods, transactions and checks the PIN requirements - Add
requestCofuGasStationsmethod toPOIKitwith location and radius parameter that returns connected fueling gas stations with detailed information - Add optional location parameter to
isPoiInRangecall
Fixes
- Don't reset session before refreshing if session isn't even available
- Fix overlapping labels in AppDrawer
- Fix generation of accept headers
- Adjust handling of too large bounding boxes when requesting tiles
- Adjust sdk error view
- Fix encoding issue when enabling biometric authentication
- Fix string encoding when evaluating javascript
- Make multiple cofu gas station requests in quick succcession possible and return correct response to all of them
- Fix decoding of
ApproachingAtForecourtsuccess response
Internal
- Rework communication between apps and SDK
- Implement
isBiometryAuthEnabledcall - Include
POIKitinPACECloudWatchSDK
7.0.0
7.0.0 Release notes (2021-06-30)
Breaking Changes
- Added new SDK methods
getAccessTokenand 'logout'. ThegetAccessTokencall replaces theinvalidTokenmethod. - Update all APIs. Previously included enums have been removed. The corresponding properties that were of type of those enums are now directly of type of their former raw representable.
- Remove
resetAccessToken()from thePACECloudSDK.sharedproperty. This functionality is no longer needed. - Implement automatic session handling for apps. If
IDKitis used the SDK will now try to renew the session automatically when an app requests a new token. In this case thegetAccessTokencallback will no longer be called. If the renewal fails anIDKitDelegatemay be implemented to specify a custom behaviour for the token retrieval. Otherwise the sign in mask will be shown. - Combine IDKit setup with PACECloudSDK setup.
IDKit.setup(...)is no longer accessible. The IDKit may now be set up by either passing a custom oid configuration to thePACECloudSDK.Configurationor by adding bothPACECloudSDKOIDConfigurationClientIDandPACECloudSDKOIDConfigurationRedirectURIwith non-empty values to your Info.plist which invokes the setup with the default PACE OID configuration. - The presenting view controller for the sign in mask now needs to be set directy via
IDKit.presentingViewController IDKit.OIDConfiguration's propertyredirectUrlhas been renamed toredirectUri.
Enhancements
- Introduce
requestCofuGasStationstoAppKitto fetch all availableCofuGasStationwhich will have an attribute to tell you, if a gas station is currently online - If using IDKit it is no longer required to set the
Authorizationheader for any requests performed by the SDK. It will be included automatically. - Close app if it contains a specific redirect uri
- Add function to load pois based on their location via the tiles request
- Automatically retry unauthorized api requests
Fixes
- Fix a bug where PWA wasn't closed properly in the AppDrawer
- Don't retrieve any apps if speed threshold is exceeded
Internal
- Refactored the handling of ApplePay requests. The updated callback now already returns a
PKPaymentRequest. Additionally a new callback to retrieve themerchantIdentifierneeds to be implemented - Improve selection of app drawer icon size
- Rename
GeoGasStationtoCofuGasStationto match capabilities of the new Geo API - Upgrade to XCode 12.5
6.3.0
Enhancements
- Make 'Keychain' wrapper accessible
- Make app drawer more robust by allowing a threshold of 150m in which it won't be removed if no other apps are available
- Implemented console warning for a missing
domainACLif using 2FA methods
Fixes
- Fix date encoding to use UTC time format instead of local
- Handle 403 response correctly for
setPIN(with otp:) - Fix wrong status code data type in PWA communication
- Fix faulty message when authorizing biometric authentication
- Implement default completion handlers for
AppKitDelegate
Internal
- Speed up verify location call
- Set default utm source
- Don't send empty network list to Apple Pay availability check
- Return location accuracy in
verifyLocationcall