Changelog
=========

This document describes changes between each past release. For information
about future releases, check `milestones`_ and :doc:`/about/vision`.


3.3 (2019-04-05)
----------------

- Add support for Django 2.1
- Confirm compatibility with Python 3.7.


3.2 (2018-03-19)
----------------

- Project repository moved to peopledoc organization (was novafloss).

- Confirm compatibility with Django 2.0 and Python 3.6.


3.1 (2017-09-20)
----------------

- Change anysign requirement.


3.0 (2017-09-05)
----------------

- Feature #74 - Drop callback support.

- Confirm compatibility with Django 1.11.


2.1 (2017-03-25)
----------------

- Feature #75 - Add support of Django 1.10.


2.0 (2016-12-06)
----------------

- Refactoring related to callbacks and docusign signer status, to handle
  Bug #72: callbacks are now deprecated, and disabled by default.
  `django-docusign` will fetch the signer status from DocuSign on signer
  return.
  If you absolutly want to use callbacks, override `use_callback` param on
  `DocuSignBackend` instanciation. But remember that there is a major bug on
  callback handling.


1.0 (2016-10-21)
----------------

- Drop support of Django < 1.8
  Explicitly mark Django 1.5, 1.6 and 1.7 as not supported
  (tests fail with those versions) in packaging.

- Add support of Django 1.8 and Django 1.9.

- Breaking: `django_docusign.api` package is no longer imported in
  `django_docusign` root package.
  Instead of doing ``import django_docusign``, just do:
  ``from django_docusign import api as django_docusign``.

- Add support of python3.

- Feature #56 - Added authentication via OAuth2 and acting on behalf of other
  users.

- Feature #66 - Added support for passing arbitrary parameters to pydocusign.


0.12 (2015-09-10)
-----------------

- Support Django 1.7
- Support Tox 2


0.11 (2015-03-16)
-----------------

Refactoring related to `pydocusign` version 0.13.

- Refactoring #37 - Project repository moved to novafloss organization
  (was novapost).

- Refactoring #38 - Upgraded to pydocusign 0.13. Refactored handling of
  routingOrder and Envelope.post_recipient_view.


0.10 (2015-02-04)
-----------------

Features around settings.

- Feature #34 - ``DocuSignBackend`` uses ``settings.DOCUSIGN_*`` to instanciate
  `DocuSign` client. Available settings are ``DOCUSIGN_ROOT_URL``,
  ``DOCUSIGN_USERNAME``, ``DOCUSIGN_PASSWORD``, ``DOCUSIGN_INTEGRATOR_KEY``,
  ``DOCUSIGN_ACCOUNT_ID``, ``DOCUSIGN_APP_TOKEN``, ``DOCUSIGN_TIMEOUT``.

- Bug #30 - Handle DocuSign callbacks that have no "decline reason" attribute
  (was raising errors in such a situation).


0.8 (2014-11-28)
----------------

Introducing DocuSign templates.

- Feature #28 - Introduced support for DocuSign templates to create envelopes.
  To run the tests, you'll need a new ``PYDOCUSIGN_TEST_TEMPLATE_ID``
  environment variable: DocuSign's UUID of a template which has 2 roles.


0.7 (2014-10-22)
----------------

Bugfixes & refactoring, mostly around ``SignatureCallbackView``.

- Bug #20 - In ``SignatureCallbackView``:

  * ``update_signature`` is not triggered if signature is not updated, when a
    signer, not the last, has just signed the envelope.

  * ``update_signer`` is triggered for every signer when signature and signers
    have "Sent" status (signature has just been created in embedded mode).

- Features #16 and #20 - In demo application, ``SignatureCallbackView`` is
  tested using ``pydocusign``'s templates.

- Bug #17 - In demo application, added tests around settings view... and fixed
  it, so that it works as expected.

- Bug #18 - In demo application, replaced using ``iterator.next()`` instead of
  ``list(iterator)[0]``.

- Refactoring #19 - Removed deprecaded ``SignatureCallbackView.clean_status``.
  Use ``pydocusign.DocuSignCallbackParser.envelope_status`` instead.


0.6 (2014-10-10)
----------------

Custom email subject and blurb.

- Feature #10 - DocuSignBackend.create_signature accepts ``subject`` and
  ``blurb`` arguments, in order to customize email subject and body for
  DocuSign messages and embedded signing page.


0.5 (2014-10-08)
----------------

Improvements around multiple signers.

- Feature #13 - ``DocuSignCallbackView`` also handles recipient notifications.

- Feature #11 - Improved ordering of signers, better management of DocuSign's
  ``routingOrder``.

- Feature #12 - Demo project shows how to implement signature of multiple
  signers.

- Bugfix #9 - Fixed default value of ``signer_return_url`` in
  ``DocuSignBackend.post_recipient_view()``. Default value was not assigned
  if value was not passed as argument.


0.4 (2014-09-26)
----------------

- Feature #7 - Introduced ``django_docusign.SignatureCallbackView``, as a
  generic view to handle DocuSign's notification callbacks. Simplified demo's
  code.


0.3 (2014-09-18)
----------------

Updated demo to manage DocuSign API callbacks.

- Feature #1 - Introduced support for DocuSign API callbacks (envelope
  updates). At the moment, the feature is mostly made of sample code in the
  demo project. It shows how `django-docusign` can be used to handle DocuSign's
  API callbacks. The idea is to let users try the feature then, later, add most
  useful parts in ``django_docusign`` package.


0.2 (2014-09-16)
----------------

Introduced demo application (with tests).

- Feature #4 - Introduced demo application: illustrate and test API usage.

- Feature #3 - On signature creation, tabs can be computed by backend.


0.1 (2014-08-12)
----------------

Initial release.

- Introduced ``django_docusign.backend.DocuSignBackend`` with "create
  signature" and "post recipient view" features.


.. rubric:: Notes & references

.. target-notes::

.. _`milestones`: https://github.com/peopledoc/django-docusign/milestones
