Migrating to v4.0.0
Elixir 1.18 or newer is required.
Model structs now implement JSON.Encoder instead of Jason.Encoder. If your
application called Jason.encode!(%DocuSign.Model.X{}), switch to
JSON.encode!(%DocuSign.Model.X{}). Jason will raise Protocol.UndefinedError for
these model structs now.
Jason is no longer a direct dependency of docusign. Applications that relied on
Jason being available transitively must add Jason to their own dependencies.
The minimum Req version is now ~> 0.7.
Any value passed as a request body through a generated API function (opts[:body])
or DocuSign.RequestBuilder.add_param/4 is now encoded with JSON.encode!/1.
Custom structs used as request bodies must implement JSON.Encoder, for example
with @derive JSON.Encoder. A struct that only implements Jason.Encoder raises
Protocol.UndefinedError even when Jason is still installed.
Migrating to v2.0 from v1.x
Version 2.0.0 removes previously deprecated functionality. If you're still using any of these functions or configuration options, you'll need to update your code:
- Removed
DocuSign.Connection.newwith arity 0 - useDocuSign.Connection.get/1and provide a user ID - Removed
DocuSign.Connection.default_accountwith arity 0 - the app_account is included in the connection returned byDocuSign.Connection.get/1 - Removed
:private_keyconfiguration option - use:private_key_fileor:private_key_contentsinstead - Removed the entire
DocuSign.APIClientmodule - use corresponding functions inDocuSign.ClientRegistryinstead - Removed
DocuSign.User.infowith arity 0 - useDocuSign.User.info/1and provide a client parameter
Migrating to v0.4.0 from v0.3.x
Version 0.4.0 brings the ability to call DocuSign API with different user IDs. This is useful if your users have different security restrictions in DocuSign. The ClientRegistry takes care of tracking the API client for those users and refreshing the access tokens.
Connection.new/0has been deprecated. You should replace calls toConnection.new/0withConnection.get/1and provide a user ID.APIClientfunctions have been deprecated. Please use corresponding functions inClientRegistry.
Migrating to v1.0 from an earlier version
This version contains some breaking changes. You may need to modify your code.
DocuSign.Model.EnvelopeTemplateResulthas been renamed toDocuSign.Model.EnvelopeTemplateDocuSign.Model.Numberhas been renamed toDocuSign.Model.DocuSignNumber- Use
bodyas an optional argument to some functions, e.g. usebodyinstead ofEnvelopeRecipientTabswhen callingDocuSign.Api.EnvelopeRecipientTabs.recipients_put_recipient_tabs())