Skip to content

Commit

Permalink
Merge pull request #386 from onfido/release/29.6.0
Browse files Browse the repository at this point in the history
Release 29.6.0
  • Loading branch information
ivan-onfido authored Nov 30, 2023
2 parents 3a1cc7d + d286249 commit 8b4ba7f
Show file tree
Hide file tree
Showing 53 changed files with 3,992 additions and 1,295 deletions.
37 changes: 29 additions & 8 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,27 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.

**Note**: If the strings translations change it will result in a MINOR version change, therefore you are responsible for testing your translated layout in case you are using custom translations. [More on language localisation](README.md#language-customisation)

## [29.6.0] - 2023-11-14

### Added

- UI customisation is now applied to Motion
- Improved document capture image validation logic
- Added support for the integration of Qualified Electronic Signature (QES) and One-Time Password (OTP) capture steps via Studio

### Changed

- NFC enforcement (through Studio) and UI/UX improvements added
- Due to a change introduced by Apple in March 2023 with iOS v16.0, PACE-only documents can no longer be read by iOS devices installed with iOS 16 (or newer). To minimise integration complexity and instability with future releases of iOS, Onfido is removing support for NFC-PACE.

### Fixed

- Fixed issue where enterprise features were ignored for studio flows
- Fixed Selfie confirmation screen text not being visible in Dark Mode and not using the custom font set
- Fixed rare race condition that could cause Motion to crash
- Fixed camera permissions checks to handle camera being restricted through "Content & Privacy restrictions"
- Fixed showing a loading placeholder when configuring face step without intro video

## [29.5.2] - 2023-10-19

### Fixed
Expand Down Expand Up @@ -441,7 +462,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.

- Removed mobile token support
- Dropped iOS 10 support. Now supporting iOS 11 or newer.
- Removed initialisers with parameters for Appearance (ONAppearance) and CaptureSuccessColors (ONCaputreSuccessColors), and made properties public.
- Removed initialisers with parameters for Appearance (ONAppearance) and CaptureSuccessColors (ONCaptureSuccessColors), and made properties public.
- Renamed withPassportNFCReadBetaFeatureEnabled sdk configuration function to withNFCReadBetaFeatureEnabled.
- Removed EnterpriseFeature convenience initialiser. Use EnterpriseFeatures.builder().withHideOnfidoLogo(_:).build() instead.

Expand Down Expand Up @@ -500,7 +521,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.

### Fixed

- Fixed missing throwed error when the user didn't give camera permission
- Fixed missing thrown error when the user didn't give camera permission

## [22.2.0] - 2021-08-09

Expand Down Expand Up @@ -684,7 +705,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
- UI: Improved US DL autocapture experience
- Updated readme to mention `NFCReaderUsageDescription` key in app permission section
- UI: Updated video capture confirmation
- Now sharing .strings files for all suported languages
- Now sharing .strings files for all supported languages

### Fixed

Expand All @@ -706,13 +727,13 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
- UI: Added Onfido logo to the document type selection screen
- Removed unused strings from localisation
- Renamed some generic keys
- UI: Changed bubble view position and apperance for document capture flow
- UI: Changed bubble view position and appearance for document capture flow
- Now disabling passport autocapture on simulators

### Fixed

- UI: Now showing wrong side head turn warning again
- UI: Fixed the incorrect captured document positon on confirmation screen for multi format document types
- UI: Fixed the incorrect captured document position on confirmation screen for multi format document types

## [18.8.1] - 2020-10-22

Expand Down Expand Up @@ -806,7 +827,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.

### Changed

- Removed unnnecessary `advertisingIdentifier` usage
- Removed unnecessary `advertisingIdentifier` usage

### Fixed

Expand Down Expand Up @@ -1376,7 +1397,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.

### Fixed
- UI: The document frame aspect ratio, in both capture and confirmation screen,
on iPhone X is now consistent with ther other models.
on iPhone X is now consistent with their other models.

## [5.0.2] - 2017-11-15

Expand Down Expand Up @@ -1404,7 +1425,7 @@ on iPhone X is now consistent with ther other models.

### Changed

- Internal: Cropping of document picture is now less agressive and done with higher precision.
- Internal: Cropping of document picture is now less aggressive and done with higher precision.

## [4.0.0] - 2017-10-09

Expand Down
127 changes: 125 additions & 2 deletions MIGRATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

These guides below are provided to ease the transition of existing applications using the Onfido SDK from one version to another that introduces breaking API changes.

* [Onfido iOS SDK 29.6.0 Migration Guide](#onfido-ios-sdk-2960-migration-guide)
* [Onfido iOS SDK 29.5.0 Migration Guide](#onfido-ios-sdk-2950-migration-guide)
* [Onfido iOS SDK 29.3.0 Migration Guide](#onfido-ios-sdk-2930-migration-guide)
* [Onfido iOS SDK 29.2.0 Migration Guide](#onfido-ios-sdk-2920-migration-guide)
Expand Down Expand Up @@ -64,6 +65,128 @@ These guides below are provided to ease the transition of existing applications
* [Onfido iOS SDK 4.0.0 Migration Guide](#onfido-sdk-400-migration-guide)
* [Onfido iOS SDK 3.0.0 Migration Guide](#onfido-sdk-300-migration-guide)

## Onfido iOS SDK 29.6.0 Migration Guide

### Functionality Changes

#### Removed

Due to a change introduced by Apple in March 2023 with iOS v16.0, PACE-only documents can no longer be read by iOS devices installed with iOS 16 (or newer). To minimise integration complexity and instability with future releases of iOS, Onfido is removing support for NFC-PACE.

PACE is an optional authentication protocol used by some identity documents during NFC processing. All passports support BAC which is still supported by both iOS and the Onfido iOS SDK.

Impact:
- None: all currently [supported NFC documents](https://developers.onfido.com/guide/supported-documents-nfc#pacific) can still be read by the Onfido iOS SDK, including the documents that support both BAC and PACE as authentication methods (e.g. French passport, Dutch national ID card, Polish ID card).
- CAN-entry: As CAN (Card Authentication Number) is only required for PACE Authentication, for documents require the user to enter the CAN, those screens will no longer be shown but the NFC read will proceed with BAC (which is based on the extracted MRZ).


### String Changes

#### Added

The following string keys have been **added**:

- `onfido_nfc_scan_error_final_possible_passport_title` ()

- `onfido_nfc_scan_error_final_possible_passport_list_item_1` ()

- `onfido_nfc_scan_error_final_possible_passport_list_item_2` ()

- `onfido_nfc_scan_error_final_possible_passport_list_item_3` ()

- `onfido_nfc_scan_error_final_possible_passport_list_item_4` ()

- `onfido_nfc_scan_error_final_possible_passport_primary_button` ()

- `onfido_nfc_scan_error_final_possible_passport_secondary_button` ()

- `onfido_nfc_scan_error_final_required_passport_title` ()

- `onfido_nfc_scan_error_final_required_passport_list_item_1` ()

- `onfido_nfc_scan_error_final_required_passport_list_item_2` ()

- `onfido_nfc_scan_error_final_required_passport_list_item_3` ()

- `onfido_nfc_scan_error_final_required_passport_list_item_4` ()

- `onfido_nfc_scan_error_final_required_passport_primary_button` ()

- `onfido_nfc_scan_error_final_required_passport_secondary_button` ()

- `onfido_nfc_scan_error_document_title` ()

- `onfido_nfc_scan_error_document_subtitle` ()

- `onfido_nfc_scan_error_document_primary_button` ()

- `onfido_nfc_scan_doc_selection_disclaimer` ()

- `onfido_nfc_scan_error_final_possible_card_title` ()

- `onfido_nfc_scan_error_final_possible_card_list_item_1` ()

- `onfido_nfc_scan_error_final_possible_card_list_item_2` ()

- `onfido_nfc_scan_error_final_possible_card_list_item_3` ()

- `onfido_nfc_scan_error_final_possible_card_list_item_4` ()

- `onfido_nfc_scan_error_final_possible_card_primary_button` ()

- `onfido_nfc_scan_error_final_possible_card_secondary_button` ()

- `onfido_nfc_scan_error_final_required_card_title` ()

- `onfido_nfc_scan_error_final_required_card_list_item_1` ()

- `onfido_nfc_scan_error_final_required_card_list_item_2` ()

- `onfido_nfc_scan_error_final_required_card_list_item_3` ()

- `onfido_nfc_scan_error_final_required_card_list_item_4` ()

- `onfido_nfc_scan_error_final_required_card_primary_button` ()

- `onfido_nfc_scan_error_final_required_card_secondary_button` ()

- `onfido_nfc_scan_welcome_card_disclaimer` ()

- `onfido_enter_can_secondary_button` ()

- `onfido_enter_can_warning` ()

- `onfido_nfc_scan_error_can_title` ()

- `onfido_nfc_scan_error_can_subtitle` ()

- `onfido_nfc_scan_error_can_primary_button` ()


#### Changed

The following string keys have been **changed**:

- `onfido_nfc_intro_title_passport` ()

- `onfido_nfc_intro_subtitle_passport` ()

- `onfido_nfc_intro_passport_scan_guide_1` ()

- `onfido_nfc_intro_passport_scan_guide_2` ()

- `onfido_nfc_intro_passport_scan_guide_3` ()

- `onfido_nfc_intro_passport_scan_guide_4` ()

- `onfido_enter_can_title` ()

- `onfido_enter_can_subtitle` ()

- `onfido_nfc_scan_sheet_success` ()



## Onfido iOS SDK 29.5.0 Migration Guide

### String Changes
Expand Down Expand Up @@ -486,7 +609,7 @@ The following string keys have been **removed**:
- Removed cases missingApplicant, multipleTokenTypes, applicantProvidedWithSDKToken and enterpriseFeatureProvidedWithMobileToken from OnfidoConfigError. Mobile tokens are no longer supported.
- Renamed OnfidoConfigError.missingToken to OnfidoConfigError.missingSDKToken.
- Added new OnfidoConfigError case named invalidSDKToken when invalid SDK token supplied.
- Removed initialisers with parameters for Appearance (ONAppearance) and CaptureSuccessColors (ONCaputreSuccessColors), and made properties public. i.e. let appearance = Appearance(); appearance.primaryColor = UIColor.red;
- Removed initialisers with parameters for Appearance (ONAppearance) and CaptureSuccessColors (ONCaptureSuccessColors), and made properties public. i.e. let appearance = Appearance(); appearance.primaryColor = UIColor.red;
- Renamed withPassportNFCReadBetaFeatureEnabled sdk configuration function to withNFCReadBetaFeatureEnabled.
- Removed EnterpriseFeature convenience initialiser. Use EnterpriseFeatures.builder().withHideOnfidoLogo(_:).build() instead.

Expand Down Expand Up @@ -1201,7 +1324,7 @@ The following string keys have been **added**:

- `onfido_nfc_intro_button_primary` (en, fr, es, de)

- `onfido_nfc_sheet_ready_intruction` (en, fr, es, de)
- `onfido_nfc_sheet_ready_instruction` (en, fr, es, de)

- `onfido_nfc_sheet_scanning_subtitle` (en, fr, es, de)

Expand Down
4 changes: 2 additions & 2 deletions Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ let package = Package(

.binaryTarget(
name: "Onfido",
url: "https://s3-eu-west-1.amazonaws.com/onfido-sdks/ios/Onfido-v29.5.2.zip",
checksum: "7ea97a37b65113f6d30db4cb833405a37c9dd75e7baefb48be6e6283a5c311bc"
url: "https://s3-eu-west-1.amazonaws.com/onfido-sdks/ios/Onfido-v29.6.0.zip",
checksum: "483a7523196c2df3de16466ab87db3d6e661a30af4183b915c48d44fc16ae932"
),


Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -338,7 +338,7 @@ let responseHandler: (OnfidoResponse) -> Void = { response in
|----------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `.success([OnfidoResult])` | User completed the flow. You can now [create a check](#creating-checks) on your backend server. |
| `.error(Error)` | Some error happened. |
| `.cancel` | Flow was cancelled by the user. The reason can be `.userExit` (when the user taps back button on the first screen) or `.deniedConsent` (when the user denies consent on [the consent screen](#consent-step)). |
| `.cancel` | Flow was cancelled by the user. The reason can be `.userExit` (when the user taps back button on the first screen) or `.deniedConsent` (when the user denies consent on [the consent screen](#consent-step)) or `.requiredNFCFlowNotCompleted` (when the NFC step is required and the user did not complete it) |

#### Objective-C

Expand Down
2 changes: 1 addition & 1 deletion SampleApp/Podfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ def setup_shared_pods
use_frameworks!
inhibit_all_warnings!

pod 'Onfido', '29.5.2'
pod 'Onfido', '29.6.0'
end

target 'SampleApp' do
Expand Down
2 changes: 1 addition & 1 deletion SampleApp/SampleApp/AppDelegate.swift
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

import UIKit

@UIApplicationMain
@main
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
}
5 changes: 3 additions & 2 deletions SampleApp/SampleApp/ViewController.swift
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ import Onfido
import UIKit

final class ViewController: UIViewController {
@IBAction func verifyUser(_ sender: Any) {
@IBAction
func verifyUser(_ sender: Any) {
// TODO: Call your backend to get `sdkToken` https://github.com/onfido/onfido-ios-sdk#31-sdk-tokens
let sdkToken = ""

Expand All @@ -20,7 +21,7 @@ final class ViewController: UIViewController {
.build()

let responseHandler: (OnfidoResponse) -> Void = { [weak self] response in
if case OnfidoResponse.error(let error) = response {
if case let OnfidoResponse.error(error) = response {
self?.showError(error)
} else if case OnfidoResponse.success = response {
// SDK flow has been completed successfully. You may want to create a check in your backend at this
Expand Down
2 changes: 1 addition & 1 deletion SampleAppObjC/Podfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ def setup_shared_pods
use_frameworks!
inhibit_all_warnings!

pod 'Onfido', '29.5.2'
pod 'Onfido', '29.6.0'
end

target 'SampleAppObjC' do
Expand Down
2 changes: 1 addition & 1 deletion keys_migration/key_migration_18_7_0_mapping.json
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@
"onfido_nfc_option_epassport_symbol": ["onfido_nfc_select_body"],
"onfido_nfc_option_button_primary": ["onfido_nfc_select_button_primary"],
"onfido_nfc_option_button_secondary": ["onfido_nfc_select_button_secondary"],
"onfido_nfc_sheet_ready_intruction": ["onfido_nfc_intro_sheet_header_ready"],
"onfido_nfc_sheet_ready_instruction": ["onfido_nfc_intro_sheet_header_ready"],
"onfido_nfc_sheet_scanning_subtitle": ["onfido_nfc_intro_sheet_header_scanning"],
"onfido_nfc_failed_title": ["onfido_nfc_fail_title"],
"onfido_nfc_failed_list_item_remove_covers": ["onfido_nfc_fail_list_item_remove_covers"],
Expand Down
Loading

0 comments on commit 8b4ba7f

Please sign in to comment.