- Authorization issue that prevented some of the network calls to be successfully completed with DocusignAPI SDK.
- Network calls with boolean parameters on DocusignAPI SDK interface now allows nil values as well. With earlier versions, these parameters were sent as either default true or false.
- Optional Sign and Initial tabs show the dependent tabs correctly when used with conditional setup.
- Templates with multichannel (SMS, Whatsapp) delivery recipients are currently blocked. Reach out to customer support or raise an issue on Github if you need this supported.
- Outdated fonts replaced with modern assets.
- Branding update.
- Support for Sending online Templates with Signing Groups.
- Support Xcode 15 Requirements for Signing Certification and Privacy Manifest.
- Support for Conditional Tabs for offline downloaded envelopes.
- Added Configuration
DSM_SETUP_DISABLE_APPEARANCE
to Disable Applying Appearance changes Automatically on SDK setup Issue #130
- Fixes in Request layer and API calls setup.
- (iOS 12+) Support for OAuthLogin with helper functions for Authentication to DocuSign. If you use oAuth no need to create your own Authentication browser you can simply call
loginWithOAuthEnv
and pass the needed params to authenticate to DocuSignSDK.
- Added two new parameters Optional to
loginWithAccessToken
method forrefreshToken
andexpiresIn
in case of oAuth happening from Host App side. - Prep work for spinning off DocuSignAPI as a separate Pod.
- Legacy Libraries (KeyChain)
- Conditional Tabs are now supported for Templates and envelopes created locally (Envelopes downloaded from remote server are not supported yet)
- During Offline Signing,
Sign Later
is now preferred option to be shown for all envelopes created on device using documents or templates.Discard Progress
option is now deprecated.
- Checkbox group validation has been updated to resolve issue #145.
- Allow sending online envelopes with templates that have recipients with SBS (Standard Based Signature) by default.
- New setup configuration
DSM_SETUP_DISABLE_STANDARD_BASED_SIGNATURE
to disable template sends that have SBS.
- Fix issue with Resuming envelopes created offline Issue #143
- Support to Paper signing through Fax flow with a new Signing Exit Notification reason
DSMSigningExitReasonFaxPending
- Issue with Templates to disable templates with SBS recipients
- 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.