- Fix Bug for Envelope resume after saving Issue 137( #137)
- Checkbox tab and groups are supported with the DSMEnvelopeDefaults. Use
true
andfalse
with checkboxtabLabel
i.e.Data Label
to set the default value. - Radio tab and groups are supported with the
DSMEnvelopeDefaults
. Usetrue
andfalse
with radiotabValue
i.e.Radio Button Values
, a difference when compared toCheckbox
, to set the default value.
- Bug fixes and enhancements related to offline & online signing for Tab Groups & other features.
- New REST ESignature APIs added all in Swift
- Support for Envelope Caching
- Support for Template Search and filtering
- Support for new Signature pallet
- New setup configuration key
DSM_SETUP_DISABLE_CUSTOMFIELD_DOCUSIGNIT
to control Custom tabAppName=DocuSignIt
from being sent with all envelopes. The default of this config isFalse
. Enabling it withTrue
will only send this custom tab with Sign and Return envelopes. A Sign and Return envelope has a Signer (not a host or in-person-signer) with email that is the same as the Sender email.
- Radio Buttons and tabs in general were not maintaining
value
attribute offline, now it can be used to identify tabs.
- Radio tabs during offline signing processes the
locked
andselected
attributes correctly.
- DocuSign telemetry improvements with a resolved issue related to reporting events.
Now DocuSign XCFramework is built with Xcode13.3.
- Offline envelope sending is now blocked if no tabs are added to any of the recipients.
- Turn off location prompt when signing is in progress. Removed the associated configuration
DSM_SETUP_CAPTIVE_SIGNING_DISABLE_LOCATION_PERMISSION
. Refer the online guide to disable location tracking during Signing.
- DocuSign Native iOS SDK supports Bitcode.
- Removed the
DSMAppearance
method to set navigation bar tint color separately+ (void)setNavigationBarTintColor:(UIColor *)color;
.
- Added
backgroundTintColor
andfontSize
as additional parameters to set navigation bar text attributes withDSMAppearance
. The updated method is+ (void)setNavigationBarTitleTextColor:(UIColor *)textColor backgroundTintColor:(UIColor *)backgroundTintColor fontSize:(CGFloat)fontSize;
.
- DocuSign-ESign REST API endpoints are now available to use with Native-iOS-SDK. DocuSign-ESign (
DSES*
) interface exposes functionality in addition to the regular DocuSign-Mobile (DSM*
) classes. Newly added headers are part ofDocuSignSDK.framework/Headers/DSES*.h
files and could be used withDSESApiClient
and corresponding API service (e.g.DSESAccountsApi
).
- Fix Issue with RadioGroupTabs #103
- Fix Locale Name for Greek
- Fix issue with UIViewController Initialization for iOS 15
- Fixes related to background tasks on embedded-signing.
- Removed legacy auth methods in
DSMManager
. The deprecated methods areloginWithEmail:password:integratorKey:host:completion
andloginWithApiPassword:accountId:userId:username:email:host:integratorKey:completion
.
- New interface to launch captive signing using recipient view url with
presentCaptiveSigningWithPresentingController:signingUrl:envelopeId:recipientId:animated:completion:
inDSMEnvelopesManager
. - New interface to clear web cookies
clearAllWebCookies
onDSMManager
. - New setup configuration
DSM_SETUP_CAPTIVE_SIGNING_DISABLE_LOCATION_PERMISSION
to disable location tracking during captive signing.
- Fixes related to embedded-signing session time out. When session times out during Captive Signing with Url,
DSMSigningCancelledNotification
Notification is now sent with additional parameter associated withexitReason
key inuserInfo
. - Fixed
DSMDocumentBuilderException
that is caused when a filePath is passed toDSMDocumentBuilder
.
- IPA export no longer fails for certain conditions.
- Native-iOS-SDK is built with Xcode12.5 and now includes XCFramework as the primary framework for CocoaPods distribution.
- Online signing for failing envelopes returns signing-cancelled notification with
error
details inuserInfo
.
- Deprecation for the legacy auth methods in
DSMManager
. The deprecated methods areloginWithEmail:password:integratorKey:host:completion
andloginWithApiPassword:accountId:userId:username:email:host:integratorKey:completion
.
- Fixes related to embedded-signing finish later.
DSMSigningCancelledNotification
Notification is now sent with additional parameter associated withexitReason
key inuserInfo
.
- Online Signing loading indicator is displayed by default for all signing sessions.
- New setup configuration
DSM_SETUP_HIDE_ONLINE_SIGNING_LOADING_INDICATOR_KEY
to allow client apps to hide the Online Signing loading spinner.
- New interface to create envelopes and start signing directly using Compose Envelopes flow with
composeEnvelopeWithEnvelopeDefinition:signingMode:completion
inDSMEnvelopesManager
.
- Support client apps to send responsive documents using templates for responsive signing. Such templates need to be configured to use responsive documents.
- New setup configuration
DSM_SETUP_ONLY_USE_COMPANY_NAME_WITH_CD
to allow client apps to customize Consumer Disclosures to use only company name.
- Additional SDK events and properties are captured and sent using DocuSign Telemetry API.
- Fixes related to tabs placement in the document.
- Embedded (Captive) Signing is now supported with
presentCaptiveSigningWithPresentingController
viaDSMEnvelopesManager
. API reference available at Embedded Signing. - New setup configuration
DSM_SETUP_DISABLE_EMAIL_IPS_FIELD_CD
to allow client apps to hide the email field when the consumer disclosure screen is displayed.
- Bug fixes and enhancements.
- Now
fontSize
property on the text tabs is used during offline signing. Tab level,fontSize
ranges fromsize7
tosize72
.
- Bug fixes and enhancements.
- Fix to allow Offline Signing to complete in single session for a resumed envelope with signers in later routing order.
- New setup configuration
DSM_SETUP_ENABLE_TELEMETRY
to configure client telemetry. When this configuration is enabled, SDK captures various events using DocuSign Telemetry API.
- Offline Signing Crash related to
NSInvalidArgumentException
with[DSMPTNPDFViewController toolOverlayView]
onv2.3
.
- New setup configuration
DSM_SETUP_ONLINE_SIGNING_DISABLE_NATIVE_COMPONENTS
to disable the native components such as SignatureAdoption, ConsumerDisclosure during Online Signing. When native components are disabled, online web signing components are used instead. - Ability to online sign a remote envelope that has been sent to get signatures using
+[DSMEnvelopesManager presentSigningWithPresentingController:envelopeId:animated:completion]
.
- Native iOS SDK is built with Xcode 11.5
- Replaced deprecated instances of UIWebView with WKWebView in settings storyboard.
- Replaced deprecated instances of UIWebView with WKWebView.
- Ability to save signing session of an offline envelop locally on a device and ability to resume signing progress for the saved envelope at a later time.
DSMEnvelopesManager
allows presenting an offline signing session with a previously saved envelope on same device using+[DSMEnvelopesManager resumeSigningEnvelopeWithPresentingController:envelopeId:completion
. - New setup configuration
DSM_SETUP_ENABLE_OFFLINE_SIGNING_SAVE_ENVELOPE_PROGRESS_KEY
to enable the UI components to prompt users to save progress of an offline signed envelope to a device locally. If this configuration is enabled, by default it's disabled,DSMEnvelopeCachedNotification
is sent whenever a local signer finishes signing session, this notification also contains theenvelopeId
that can be used later to resume signing progress of a saved envelope. - Additional notification
DSMOfflineEnvelopeSaveErrorNotification
is sent if an envelope fails to save on device with error underDSM_ENVELOPE_SAVE_ERROR
domain. - Resuming a fully signed envelope, which is ready for sync, is not allowed and it results in a new error under
DSM_ENVELOPE_RESUME_ERROR
domain.
- Patch for App Store Connect error code
ERROR ITMS-90542
related toUnexpected CFBundleSupportedPlatforms Key in Tools.Bundle/Info.plist
of a 3rd party library.
- Native iOS SDK is built with Xcode 11.3
- Patch for App Store Connect error code
ERROR ITMS-90535
related toUnexpected CFBundleExecutable Key in Tools.Bundle/Info.plist
of a 3rd party library.
- Native iOS SDK is built with Xcode 11.1 and supports iOS13 & iPadOS.
- Dark Mode - The SDK UI Components uses light mode and overrides the dark mode.
- Signature adoption fix for iOS13 & iPadOS.
- NetworkMode - Removed all instances of NetworkMode. Login methods have been updated to remove NetworkMode parameter.
- Login with userId - Class method for login with userId
+[DSMManager loginWithUserId:password:integratorKey:host:completion:]
has been removed in favor of login with email class method+[DSMManager loginWithEmail:password:integratorKey:host:completion]
. - Clear credentials and cached templates: Class method
+[DSMManager clearCredentialsAndCachedTemplates]
is removed in favour of+[DSMManager logout]
.
- Login with email: Class method for login with email
+[DSMManager loginWithEmail:password:integratorKey:host:completion]
. - Account Setup: Class method to fetch additional account data
+[DSMManager fetchSettingsWithAccountInfo:completion]
. This gets additional account data that includes consumer disclosure and various settings. - Logout: Class method to perform user logout with credential and cache document deletion
+[DSMManager logout]
. - Is Session Active: Class method to query if there is an active user authentication session
+[DSMManager isSessionActiveWithEmail:password:integratorKey:host]
. - API Timeout: New setup configuration
DSM_SETUP_DEFAULT_API_TIMEOUT
to customize the API session timeout. Class method to query configured value of API timeout+[DSMManager configuredValueForSetupKeyAPITimeout]
. - Setup Constants: Constants to query API timeouts defined in
DSMSetupConstants header
. New constants:DSM_SETUP_API_TIMEOUT_MIN_VALUE
,DSM_SETUP_API_TIMEOUT_MAX_VALUE
andDSM_SETUP_API_TIMEOUT_DEFAULT_VALUE
.
- Login Session - Authentication sessions are cached and reused whenever applicable to reduce the API calls related to user login and account data persistence.
- Persistence - Improved keychain handling with the data persistence.
- Login with accessToken - Removed
networkMode
parameter from the class method+[DSMManager loginWithAccessToken:accountId:userId:userName:email:host:integratorKey:networkMode:completion:]
. It's now changed to+[DSMManager loginWithAccessToken:accountId:userId:userName:email:host:integratorKey:completion:]
. - Login with apiPassword - Removed
networkMode
parameter from the class method+[DSMManager loginWithApiPassword:accountId:userId:userName:email:host:integratorKey:networkMode:completion:]
. It's now changed to+[DSMManager loginWithApiPassword:accountId:userId:userName:email:host:integratorKey:completion:]
.
- New setup configuration
DSM_SETUP_RECIPIENT_DEFAULTS_CASE_INSENSITIVELY_MATCH_ROLE_NAME
allows more flexible recipient matching based on case insensitiveroleName
comparasion in the templates. This can be used to override the default strictroleName
match behaviour during application of recipient-default-values. - New setup configuration
DSM_SETUP_TAB_DEFAULTS_COMPARISION
allows more flexible tab matching based on data-label comparasion during application of tab-default-values.DSMTabComparision
enum valuesDSMTabComparisionCaseAndDiacriticInsensitive
andDSMTabComparisionContains
can be used to override the defaultDSMTabComparisionStrictMatch
behaviour.
- Improved Next Field Navigation - The initial navigation moves to the next empty required field. New setup configuration
DSM_SETUP_OFFLINE_SIGNING_NAVIGATE_BLANK_REQUIRED_FIELDS
to enableNavigate blank required fields
.
- Enhanced client logging - Verbose error logging for ‘login, persistence, & sync’ related methods.
- Responsive signing is disabled for DocuSign SDK.
- New setup configuration
DSM_SETUP_OFFLINE_SIGNING_USE_PLACEHOLDER_TAB_VALUE
exposed to allow replacing placeholder values for empty text-based tabs (for example "Text", "Company", "Title", etc) with empty strings during offline signing.
Next Field Navigation
ignores the non-editable text tabs in all cases and keeps the previous assigned tab value unchanged. (bug-fix)- DocuSign branding update for Momentum 2019
TransactionId
is sent in addition withEnvelopeId
andTemplateId
with notifications to help track templates and corresponding envelopes.- Ability to track and link the offline & corresponding online envelope using
TransactionId
for updatedEnvelopeId
upon successful sync.
Consumer Disclosure
is dismissed in all cases; earlier misconfigured tabs in templates causedConsumer Disclosure
to not get dismissed if error alerts were also hidden via setup configuration.
- CocoaPods support added for Native iOS SDK. Use
pod 'DocuSign'
to fetch the latest SDK framework. Note: Recommended to use CocoaPodsv1.4.0
and up. - New notification
DSMOfflineEnvelopeSigningErrorNotification
added to track misc offline signing errors related to template setup (for example invalid formula used).
- Three Properties such as
syncFailureReason(String)
,failedAttemptsToSync (Integer)
andlastModifiedDateTime
shall be updated onDSMEnvelopeDefinition
when envelope fails to Sync (meta data to track envelopes & sync process).
- New notification
DSMFoundReadonlyAndRequiredTabsWithInvalidDefaultsNotification
is added to notify when Readonly AND Required AND nil-value Text based tabs are detected during envelope creation. Related configurationDSM_SETUP_OFFLINE_SIGNING_CONVERT_INVALID_READONLY_REQUIRED_TEXTTABS_TO_EDITABLE
to auto-convert such tabs to non-Readonly is exposed, it's default value istrue
to allow signers to finish offline signing such envelopes.
DSMTemplateIdKey
("templateId") is sent in addition withDSMEnvelopeIdKey
("envelopeId") for some notifications.
- Support for
DSMAccountInfo
with alllogin*
methods in theDSMManager
.DSMAccountInfo
object is retuned with the completioncompletion:^(DSMAccountInfo *accountInfo, NSError *error)
for login methods exposed inDSMManager
.
- Method signatures for following
loginWith*
methods now include additionalnetworkMode
parameter andcompletion:^(DSMAccountInfo *accountInfo, NSError *error)
has additional parameterDSMAccountInfo *accountInfo
:loginWithUserId:password:integratorKey:host:completion:
loginWithAccessToken:accountId:userId:userName:email:host:integratorKey:networkMode:completion:
loginWithAPIPassword:accountId:userId:userName:email:host:integratorKey:networkMode:completion:
- Support for compose envelope functionality for both online and offline capability. Start creating an envelope to manually add documents, recipients and tags using the method
presentComposeEnvelopeControllerWithPresentingController:signingMode:resumeWithDraft:animated:completion:
onDSMEnvelopesManager
. - Utility method to determine whether there is a previously cached draft envelope (there can only be one at a time) by invoking
hasCachedDraftEnvelope
onDSMEnvelopesManager
. - Powered By DocuSign footer for online and offline signing ceremony. This feature can be enabled or disabled using setup configuration and the constants can be found in
DSMSetupConstants
.
- Updated Swift and Objective-C Sample Apps.
- Support for radio tabs with offline signing.
- Recipient defaulting and switching from an InPersonSigner type to a RemoteSigner type and vice versa before initiating the offline signing ceremony with
DSMRecipientDefault
. - Tab value defaulting for text-based tabs for offline signing through
tabValueDefaults
. - Support for account-level envelope custom fields. They can be created with
DSMCustomFields
throughDSMEnvelopeDefaults
. - Setup configuration for hiding alerts that are shown during offline signing. The setup constants can be found in
DSMSetupConstants
. - Support for formula fields in offline signing that are only based on date signed tabs.
- Updated signature drawing tools on signature pad
- Enhanced visual representation of tabs when highlighted.
- Maintain aspect ratio of captured signature during signing ceremony.
- The method
presentSendTemplateControllerWithTemplateWithId:tabValueDefaults:pdfToInsert:insertAtPosition:signingMode:presentingController:animated:completion:
inDSMTemplatesManager
should be replaced bypresentSendTemplateControllerWithTemplateWithId:envelopeDefaults:pdfToInsert:insertAtPosition:signingMode:presentingController:animated:completion:
.
- Updated Swift and Objective-C Sample Apps.
- Error validations on unsupported tab types.
- Dismiss keyboard after editing text fields in Swift Sample App.
- DocuSign Native iOS SDK launch.