Skip to content

Releases: pace/cloud-sdk-ios

12.0.0

06 Oct 19:16

Choose a tag to compare

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

11 Aug 10:03

Choose a tag to compare

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

08 Jun 09:26

Choose a tag to compare

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 isCoFuGasStation property to also reflect geojson online status
  • Add isCoFuGasStation to POIKit.GasStation model
  • 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 logo property in PaymentMethodVendor
  • 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 fuelingURLs property to POIKit.CofuGasStation model and extract its value from geojson file
  • Add label config for PACEBot
  • Remove GitLab issue templates
  • Update GitLab templates
  • Make BiometryTOTPData publicly accessible
  • Add function to retrieve a single payment method vendor icon
  • Introduce authorization canceled error
  • Add default implementations for AppKitDelegate didReceiveAppDrawers(...) and didFail(...)
  • 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

24 Jan 08:04

Choose a tag to compare

Fixes

  • Fix Swift variable shadowing problems

Internal

  • Add job to validate commit messages
  • Remove changelog template
  • Add script for auto semantic versioning

9.2.0

07 Dec 17:58

Choose a tag to compare

Enhancements

  • Add additionalProperties property to POIKit.GasStation
  • The domainACL will now be set to pace.cloud by default
  • Introduce PACECloudSDK.shared.application(open:) to handle deep links. Please use this method to handle incoming redirect URLs as AppKit.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) and didReceiveText(String,String) in AppKitDelegate when triggered multiple times

Internal

  • Adjust API URLs
  • Adjust invalidation token handling for POIKit.BoundingBoxNotitficationToken
  • Forward PACECloudSDK.shared.additionalQueryParams to IDKit.OIDConfiguration.additionalParameters
  • Adjust Bundle.main.bundleName to now return bundle name with whitespaces.
  • Add Bundle.main.bundleNameWithoutWhitespaces which returns bundle name without whitespaces.
  • Add integrated parameter to openURLInNewTab communication request

9.1.0

09 Nov 10:53

Choose a tag to compare

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 IDKitDelegate method willResetSession() 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

14 Oct 10:00

Choose a tag to compare

Breaking Changes

  • TokenValidator is now part of IDKit instead of AppKit
  • 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 NSPhotoLibraryUsageDescription to 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 geoAppsScope in the SDK configuration the POIKit.CofuGasStation property polygon will from now on be nil.
  • For all AppViewController instances the property isModalInPresentation is now true by default. Setting it to false can be done via the initializer or afterwards by directly accessing the property.
  • Rework Logger - PACECloudSDKLoggingDelegate does not exist any more.

Enhancements

  • Implement new price history endpoints
  • Add bearing to GetLocation call
  • Add 'isSignedIn' sdk call
  • Add isRemoteConfigAvailable call

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 PACECloudSDK target
  • Upgrade to XCode 13
  • Use system font instead of embedding SFUIDisplay

8.0.0

16 Aug 11:11

Choose a tag to compare

Breaking Changes

  • Set default authenticationMode of the SDK to .native.

NOTE: If you are not using native authentication make sure to explicitely set the mode to .web in the SDK configuration if it isn't already.

  • The data type of the completion parameter for the didCreateApplePayPaymentRequest callback has been changed from [String: Any]? to API.Communication.ApplePayRequestResponse?
  • The data type of the completion parameter for the getAccessToken callback has been changed from AppKit.GetAccessTokenResponse to API.Communication.GetAccessTokenResponse
  • AppKit's isPoiInRange(...) is now part of POIKit, available under POIKit.isPoiInRange(...)
  • AppKit's requestCofuGasStations(...) is now part of POIKit, available under POIKit.requestCofuGasStations(...)
  • AppKit's model CofuGasStation is now part of POIKit, available under POIKit.CofuGasStation
  • AppKit's shared property is no longer publicly accessible. All methods and properties of type AppKit.shared.fooBar() are now accessible via AppKit.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 poisOfType has been removed from POIKitManager's methods fetchPOIs(boundingBox:) and loadPOIs(boundingBox:)
  • POIKitManager's loadPOIs(locations:) has been renamed to fetchPOIs(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 didPerformAuthorization to IDKitDelegate to 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 to AppKitDelegate. 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 AppRedirect handler 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 IDKit that returns the user's payment methods, transactions and checks the PIN requirements
  • Add requestCofuGasStations method to POIKit with location and radius parameter that returns connected fueling gas stations with detailed information
  • Add optional location parameter to isPoiInRange call

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 ApproachingAtForecourt success response

Internal

  • Rework communication between apps and SDK
  • Implement isBiometryAuthEnabled call
  • Include POIKit in PACECloudWatchSDK

7.0.0

30 Jun 14:47

Choose a tag to compare

7.0.0 Release notes (2021-06-30)

Breaking Changes

  • Added new SDK methods getAccessToken and 'logout'. The getAccessToken call replaces the invalidToken method.
  • 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 the PACECloudSDK.shared property. This functionality is no longer needed.
  • Implement automatic session handling for apps. If IDKit is used the SDK will now try to renew the session automatically when an app requests a new token. In this case the getAccessToken callback will no longer be called. If the renewal fails an IDKitDelegate may 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 the PACECloudSDK.Configuration or by adding both PACECloudSDKOIDConfigurationClientID and PACECloudSDKOIDConfigurationRedirectURI with 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 property redirectUrl has been renamed to redirectUri.

Enhancements

  • Introduce requestCofuGasStations to AppKit to fetch all available CofuGasStation which 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 Authorization header 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 the merchantIdentifier needs to be implemented
  • Improve selection of app drawer icon size
  • Rename GeoGasStation to CofuGasStation to match capabilities of the new Geo API
  • Upgrade to XCode 12.5

6.3.0

01 Jun 12:34

Choose a tag to compare

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 domainACL if 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 verifyLocation call