This document describes changes between each past release. For information about future releases, check milestones [1] and Vision.

2.1 (unreleased)

  • Feature #105 - Added tabs support in Role model.

2.0 (2017-09-05)

  • Remove callback support.
  • Remove python 3.3 support.

1.2 (2016-12-04)

  • Fix request headers in DocuSignClient.get_envelope_document method.

1.1 (2016-12-02)

  • Bug #96 - Fixed expected status_code for DocuSignClient.add_envelope_recipients method.

1.0 (2016-09-02)

  • Added support of python3.
  • Feature #66 - Added support for creating envelope with multiple documents. Method DocuSignClient.create_envelope_from_document is deprecated in favor of DocuSignClient.create_envelope_from_documents.
  • Feature #70 - Added support of the add/update/delete recipient APIs. Added methods: DocuSignClient.add_envelope_recipients, DocuSignClient.update_envelope_recipients, DocuSignClient.delete_envelope_recipient, DocuSignClient.delete_envelope_recipients.
  • Feature #71 - Added DocuSignClient.void_envelope method to void an envelope.
  • Feature #90 - Added ability to void envelope from Envelope object.
  • Feature #74 - Refactored DocuSignObject to simplify creation and extension of objects.
  • Feature #76 - Added authentication via OAuth2 and acting on behalf of other users.
  • Feature #83 - Added DocuSignClient.get_connect_failures method.
  • Feature #85 - Added DocuSignClient.get_envelope method to get all envelope details.
  • Feature #88 - Added TitleTab model.
  • Bug #67 - Fixed spelling of requireAcknowledgment attribute.
  • Bug #94 - requests>=2.9.0 is now required.

0.13.2 (2015-09-10)

  • Added accessCode to signer model.

0.13.1 (2015-03-16)

Bugfixes/refactoring related to release 0.13.

  • Refactoring #57 - Envelope.post_recipient_view() takes recipient argument instead of ambiguous routingOrder.

0.13 (2015-03-16)

Work around signer model: routingOrder, recipientId and clientUserId.

  • Feature #51 - Added routingOrder attribute to Signer model. Defaults to 0.
  • Feature #50 - DocuSignCallbackParser.recipients_events returns recipientId and clientUserId (former recipient value gets deprecated).
  • Bug #49 - Improved update of envelope’s recipients via Envelope.get_recipients(). Fixes potential KeyError from models.Envelope.get_recipients().
  • Refactoring #52 - Project’s repository moved to

0.12 (2015-01-30)

Workaround environment variables for configuration, and bugfix.

  • Feature #45 - DocuSignClient can be configured using environment variables. Supported environment variables are: DOCUSIGN_ROOT_URL, DOCUSIGN_USERNAME, DOCUSIGN_PASSWORD, DOCUSIGN_INTEGRATOR_KEY, DOCUSIGN_ACCOUNT_ID, DOCUSIGN_APP_TOKEN and DOCUSIGN_TIMEOUT.

    Obviously, arguments you explicitely pass to the constructor have priority over environment variables.

    Demo scripts were using environment variables with prefix PYDOCUSIGN_TEST_. The environment variables have been renamed with either DOCUSIGN_ (the ones in the list above) or DOCUSIGN_TEST_ prefix.

  • Bug #44 - Using in pydocusign.test.generate_notification_callback_body(). Secure URL was broken because of SSL certificate.

0.11 (2015-01-23)

  • Bug #41 - demo/ cannot be completed automatically: user interaction is required to activate account. Added an interactive prompt in demo. Removed demo/ from tests.
  • Feature #34 - DocuSignClient accepts timeout option (defaults to 30 seconds). This timeout is used as connection timeout when performing HTTP requests to DocuSign API.

0.10 (2014-12-03)

Features around DocuSign accounts.

  • Feature #28 - pydocusign.DocuSignClient can create, read and delete accounts.

0.9 (2014-11-26)

New feature around envelope creation.

  • Feature #29 - pydocusign.DocuSignClient can create envelope using template. Added method create_envelope_from_template(). Check the demo in documentation. When running tests or demo, you need an additional DOCUSIGN_TEST_TEMPLATE_ID environment variable, which is the UUID of a DocuSign template having 2 signers with routing order set to “1”.

0.8 (2014-11-13)

Feature around internationalization.

  • Feature #26 - pydocusign.Signer model accepts new optional arguments: emailSubject, emailBody and supportedLanguage. They are used to setup DocuSign’s emailNotification for recipient, which makes it possible to change default language shown in DocuSign user interface for each recipient.

0.7.2 (2014-10-22)


  • Bug #23 - Using pseudo-constants of pydocusign.Envelope and pydocusign.Recipient instead of raw strings in DocuSignCallbackParser. As a consequence, parser’s recipient_events, envelope_events and events properties also use values from pseudo-constants. They use CamelCase (they used to be all lowercase).
  • Bug #22 - Fixed DeclineReason in notification callback template.

0.7.1 (2014-10-17)

Improved retro-compatibility of release 0.7.

  • Bug #20 - Restored pseudo-constants in Envelope model. They were removed in version 0.7, but it appeared they are useful, and probably the simplest way to access them, since pydocusign.Envelope is part of the main API, whereas pydocusign.models is not.


    • added keys/values to Envelope‘s pseudo-constants.
    • registered pseudo-constants in Recipient model.

0.7 (2014-10-16)

Testing tools around notification callbacks.

  • Features #14 and #16 - pydocusign.test provides utilities to test notification callbacks: generate body content for notification requests, post fake notification requests to a custom URL.

  • Added pseudo-constants in pydocusign.models, so that you can use them instead of strings. As an example, you’d better use pydocusign.models.ENVELOPE_STATUS_SENT instead of "Sent".

    Removed STATUS_SENT and STATUS_DRAFT from Envelope model.

0.6 (2014-10-08)

Improvements around event notifications.

  • Feature #15 - On envelope creation, register callback URL for recipient events.
  • Feature #17 - pydocusign.DocuSignCallbackParser can extract data from DocuSign’s event notification callbacks.

0.5 (2014-09-26)

Minor feature around document download.

  • Feature #12: DocuSignClient.get_envelope_document() returns a file-like object with a close() method.

0.4 (2014-09-17)

Feature: download envelope’s documents.

  • Feature #10 - Introduced methods for client and envelope instances to get the list of envelope’s documents, and download documents.

0.3 (2014-09-12)

Minor API simplification.

  • Feature #7 - Since most methods of DocuSignClient require account_url attribute, they can initialize it automatically with a call to login_information().
  • Bug #6 - Added “URL” and “license” fields to Python package metadata (were missing).

0.2 (2014-09-05)

Integrate more DocuSign features.

  • Feature #1 - Envelopes can be created with eventNotification argument, which allows to setup API callbacks on signature updates.
  • Feature #3 - Added support for “approve tabs”, which allow signer to sign a document without adding visible text/graphic to the document.
  • Feature #5 - DocuSignClient.login_information raises DocuSignException and emits logs on error.

0.1 (2014-07-30)

Initial release.

  • Introduced DocuSignClient client and models. Initial features around embedded signing workflow:
    • login
    • create envelope
    • get envelope’s recipients (read envelope)
    • post recipient view (get embedded signing URL)

Notes & references