Skip to content

v4.2.0

Choose a tag to compare

@sirosen sirosen released this 03 Dec 22:48
· 18 commits to main since this release
4.2.0
69a6d82

Python Support

  • Add support for Python 3.14. (#1340)

  • Remove support for Python 3.8. (#1341)

Added

  • GlobusApp and SDK client classes now support usage as context managers, and feature a new close() method to close internal resources. close() is automatically called on exit. (#1326)

    • In support of this, token storages now all feature a close() method, which does nothing in the default implementation.
      Previously, only storages with underlying resources to manage featured a close() method.

    • GlobusApp will close any token storage via close() if the token storage was created by the app on init. Explicitly created storages will not be closed and must be explicitly closed via their close() method.

    • Any class inheriting from BaseClient features close(), which will close any transport object created during client construction.

    • Transports which are created explicitly will not be closed by their clients, and must be explicitly closed.

  • Add TimersClient.add_app_flow_user_scope for TimersClient instances which are integrated with GlobusApp. This method registers the specific flow user scope dependency needed for a flow timer. (#1333)

  • Added automatic Globus Auth Requirements Error (GARE) redriving to GlobusApp (#1339).

    • More details available at globus_app_gare_integration
    • This feature is disabled by default but can be turned on by setting auto_retry_gares=True in a GlobusAppConfig.

Fixed

  • Fixed a resource leak in which a GlobusApp would create internal client objects and never close the associated transports. (#1326)

Development

  • Added a new make install recipe.