---------------------
Removed
~~~~~~~
* Remove ``allowed_authorizer_types`` restriction from ``BaseClient`` (:pr:`407`)
* Remove ``auth_client=...`` parameter to
``OAuthTokenResponse.decode_id_token`` (:pr:`400`)
Added
~~~~~
* ``globus-sdk`` now provides PEP561 typing data (:pr:`420`)
* ``OAuthTokenResponse.decode_id_token`` can now be provided a JWK and openid
configuration as parameters. ``AuthClient`` implements methods for fetching
these data, so that they can be fetched and stored outside of this call.
There is no automatic caching of these data. (:pr:`403`)
Changed
~~~~~~~
* The interface for ``GlobusAuthorizer`` now defines
``get_authorization_header`` instead of ``set_authorization_header``, and
additional keyword arguments are not allowed (:pr:`422`)
* New Transport layer handles HTTP details, variable payload
encodings, and automatic request retries (:pr:`417`)
* Instead of ``json_body=...`` and ``text_body=...``, use ``data=...``
combined with ``encoding="json"``, ``encoding="form"``, or
``encoding="text"`` to format payload data. ``encoding="json"`` is the
default when ``data`` is a dict.
* By default, requests are retried automatically on potentially transient
error codes (e.g. ``http_status=500``) and network errors with exponential
backoff
* ``globus_sdk.BaseClient`` and its subclasses define ``retry_policy``
and ``transport_class`` class attributes which can be used to customize the
retry behavior used
* The JWT dependency has been updated to ``pyjwt>=2,<3`` (:pr:`416`)
* The config files in ``~/.globus.cfg`` and ``/etc/globus.cfg`` are no longer
used. Configuration can now be done via environment variables (:pr:`409`)
* ``BaseClient.app_name`` is a property with a custom setter, replacing
``set_app_name`` (:pr:`415`)
Documentation
~~~~~~~~~~~~~
* Update documentation site style and layout (:pr:`423`)
.. _changelog_version2:
.. _changelog-2.0.1: