Skip to content

Releases: globus/globus-sdk-python

v4.0.0b2

24 Sep 18:20
4.0.0b2
6a9e604

Choose a tag to compare

v4.0.0b2 Pre-release
Pre-release

Added

  • On Python 3.11+, the SDK will populate the __notes__ of API errors with a message containing the full body of the error response.
    __notes__ is part of the default presentation of a traceback. (#1299)

Removed

  • The following methods and parameters, which were deprecated in globus-sdk v3, have been removed (#1309):

    • The skip_activation_check parameter for TransferData and DeleteData.
    • The recursive_symlinks parameter for TransferData.
    • The add_symlink_item method of TransferData.

Changed

  • Passing non-Scope types to Scope.with_dependency and Scope.with_dependencies now raises a TypeError. Previously, this was allowed at runtime but created an invalid Scope object. (#1300)

v3.64.0

24 Sep 16:14
3.64.0
38569b7

Choose a tag to compare

Added

  • Added SearchClient.update_index as a method for modifying index names and descriptions. (#1310)

Deprecated

  • The following Transfer features have been deprecated: (#1308, #1309)

    • The add_symlink_item method of TransferData.
      This is not supported by any collections.

    • The recursive_symlinks parameter to TransferData.
      This is not supported by any collections.

    • The skip_activation_check parameter to TransferData and DeleteData.
      This no longer has any effect when set.

v3.63.0

08 Sep 14:08
3.63.0
9d3fd95

Choose a tag to compare

Changed

  • Renamed the GroupsClient method set_subscription_admin_verified_id to
    set_subscription_admin_verified. (#1302)

    • GroupsClient.set_subscription_admin_verified_id still exists but emits a
      deprecation warning.

v4.0.0b1

31 Jul 20:30
4.0.0b1
40a0cf7

Choose a tag to compare

v4.0.0b1 Pre-release
Pre-release

Breaking Changes

  • The RequestsTransport object has been refactored to separate it from configuration which controls request retries. A new RetryConfig object is introduced and provided as client.retry_config on all client types. The interface for controlling these configurations has been updated. (#1275)

    • The transport_class attribute has been removed from client classes.

    • Clients now accept transport, an instance of RequestsTransport, and retry_config, an instance of RetryConfig, instead of transport_params.

    • Users seeking to customize the retry backoff, sleep maximum, and max retries should now use retry_config, as these are no longer controlled through transport.

    • The capabilities of the RequestsTransport.tune() context manager have been divided into RequestsTransport.tune() and RetryConfig.tune().

    • The retry configuration is exposed to retry checks as an attribute of the RequestCallerInfo, which is provided on the RetryContext. As a result, checks can examine the configuration.

  • Interfaces for normalizing scope data have changed. (#1289)

    • The scopes_to_str function has been replaced with ScopeParser.serialize.

    • ScopeParser.serialize will raise an error if the serialized data is empty. A flag, reject_empty=False, can be passed to disable this check.

    • The scopes_to_scope_list function has been removed.

Removed

  • Removed the filter_role parameter to FlowsClient.list_flows.
    This parameter was deprecated in globus-sdk version 3. (#1291)

  • Removed SearchClient.update_entry.
    This method was deprecated in globus-sdk version 3. (#1292)

  • Removed SearchClient.create_entry.
    This method was deprecated in globus-sdk version 3. (#1293)

  • Removed the SearchQuery type. Users should use SearchQueryV1 instead.
    SearchQuery was deprecated in globus-sdk version 3. (#1294)

Changed

  • The legacy token storage adapters are now only available from the globus_sdk.token_storage.legacy subpackage.
    Users are encouraged to migrate to the newer tooling available directly from globus_sdk.token_storage. (#1290)

  • Update warn_deprecated to emit RemovedInV5Warning and remove RemovedInV4Warning class (#1295)

v3.62.0

31 Jul 19:02
3.62.0
e0fd47e

Choose a tag to compare

Added

  • Added support for setting a group's subscription_id via GroupsClient.set_subscription_admin_verified_id. (#1287)

v4.0.0a4

25 Jul 21:49
4.0.0a4
a493759

Choose a tag to compare

v4.0.0a4 Pre-release
Pre-release

Breaking Changes

  • The function_data argument to ComputeClientV2.register_function has been renamed to data to be consistent with other usages.

  • AuthClient no longer accepts client_id as a parameter and does not provide it as an attribute. This was deprecated in globus-sdk version 3. (#1271)

Added

  • Add RequestCallerInfo data object to RequestsTransport.request for passing caller context information. (#1261)

Removed

  • The TimerJob.from_transfer_data classmethod, which was deprecated in globus-sdk version 3, has been removed. Users should use the TransferTimer class to construct timers which submit transfer tasks. (#1269)

  • The oauth2_validate_token method has been removed from NativeAppAuthClient and ConfidentialAppAuthClient.
    This method was deprecated in globus-sdk v3. (#1270)

  • Removed AuthClient.oauth2_userinfo. This method was deprecated in globus-sdk version 3. (#1272)

  • Removed support for ConfidentialAppAuthClient.get_identities. This usage was deprecated in globus-sdk version 3. (#1273)

    • Users calling the Get Identities API on behalf of a client identity should instead get tokens for the client and use those tokens to call AuthClient.get_identities. For example, by instantiating an AuthClient using a ClientCredentialsAuthorizer.

    • This also means that it is no longer valid to use a ConfidentialAppAuthClient to initialize an IdentityMap.

  • TransferClient.create_endpoint has been removed. This method primarily supported creation of GCSv4 servers and was deprecated in globus-sdk v3. (#1276)

  • GCSClient.connector_id_to_name() has been removed. It was deprecated in globus-sdk version 3. Users should use globus_sdk.ConnectorTable instead. (#1277)

  • Removed support for Endpoint Activation, a feature which was specific to Globus Connect Server v4. (#1279)

    • Removed the activation methods: TransferClient.endpoint_autoactivate, TransferClient.endpoint_activate, TransferClient.endpoint_deactivate, and TransferClient.endpoint_get_activation_requirements

    • Removed the specialized ActivationRequirementsResponse parsed response type

    • TransferClient.update_endpoint would previously check the myproxy_server and oauth_server parameters, which were solely used for the purpose of configuring activation. It no longer does so.

  • Removed the ComputeClient alias. This name was deprecated in globus-sdk version 3. Users should use ComputeClientV2 or ComputeClientV3 instead. (#1282)

  • Removed GlobusAPIError.raw_text. This attribute was deprecated in globus-sdk version 3. Users should use the text attribute instead. (#1283)

  • Removed TransferClient methods for modifying "endpoint servers", a feature specific to Globus Connect Server v4. Specifically, add_endpoint_server, update_endpoint_server, and delete_endpoint_server. These methods were deprecated in globus-sdk version 3. (#1284)

  • Removed the ComputeFunctionDocument and ComputeFunctionMetadata classes. These helpers were deprecated in globus-sdk version 3.

  • Removed TransferClient.operation_symlink. This method was deprecated in globus-sdk version 3. (#1286)

Changed

  • Renamed the globus_sdk._testing subpackage to globus_sdk.testing. (#1251)

  • Renamed the globus_sdk.tokenstorage subpackage to globus_sdk.token_storage and removed the globus_sdk.experimental.tokenstorage (#1252)

  • Remove support for normalizing nested iterables of scopes, e.g. [["scope1"], "scope2"] (#1259)

v3.61.0

23 Jul 20:06
3.61.0
cf5cdc1

Choose a tag to compare

Deprecated

  • TransferClient methods which are specific to Globus Connect Server v4 are now deprecated and emit deprecation warnings when used. (#1274)

  • The ComputeClient alias for ComputeClientV2 is now deprecated. Users of Globus Compute are encouraged to use ComputeClientV2 or ComputeClientV3 instead. (#1278)

v4.0.0a3

10 Jul 19:11
4.0.0a3
258d69c

Choose a tag to compare

v4.0.0a3 Pre-release
Pre-release

Breaking Changes

  • All defaults of None converted to globus_sdk.MISSING for all payload types in the Transfer client. (#1216)

  • The transfer_client parameter to TransferData and DeleteData has been removed.
    See the upgrading doc for transition details. (#1236)

  • In Globus Auth client classes, defaults of None are converted to MISSING for optional fields. (#1236)

Added

  • SpecificFlowClient has a new method, add_app_transfer_data_access_scope which facilitates declaration of scope requirements when starting flows which interact with collections that need data_access scopes. (#1166)

Removed

  • globus_sdk.experimental.scope_parser has been removed. Use globus_sdk.scopes instead. (#1236)

Changed

  • Scope objects are now immutable. (#1208)

    • Scope.dependencies is now a tuple, not a list.

    • The add_dependency method has been removed, since mutating a Scope is no longer possible.

    • A new evolver method, Scope.with_dependency has been added. It extends the dependencies tuple in a new Scope object.

    • A batch version of Scope.with_dependency has been added, Scope.with_dependencies.

    • An evolver for the optional field of a Scope is also now available, named Scope.with_optional.

  • Scope parsing has been separated from the main Scope class into a dedicated ScopeParser which provides parsing methods. (#1208)

    • Use globus_sdk.scopes.ScopeParser for complex parsing use-cases. The ScopeParser.parse classmethod parses strings into lists of scope objects.

    • Scope.merge_scopes has been moved to ScopeParser.merge_scopes.

    • Scope.parse is changed to call ScopeParser.parse and verify that there is exactly one result, which it returns. This means that Scope.parse now returns a single Scope, not a list[Scope].

    • Scope.serialize and Scope.deserialize have been removed as methods.
      Use str(scope_object) as a replacement for serialize() and Scope.parse as a replacement for deserialize().

  • Payload types now inherit from dict rather than UserDict. The PayloadWrapper utility class has been replaced with Payload. (#1222)

  • Payload types are more consistent about encoding missing values using MISSING. (#1222)

  • The SDK's ScopeBuilder types have been replaced with StaticScopeCollection and DynamicScopeCollection types. (#1237)

    • Scopes provided as constants by the SDK are now Scope objects, not strings. They can be converted to strings trivially with str(scope).

    • The various scope builder types have been renamed. SpecificFlowScopes, GCSEndpointScopes, and GCSCollectionScopes replace SpecificFlowScopeBuilder, GCSEndpointScopeBuilder, and GCSCollectionScopeBuilder.

  • The ScopeBuilder types have been simplified and improved as the new ScopeCollection types. (#1237)

    • ScopeBuilder is replaced with StaticScopeCollection and DynamicScopeCollection. The scopes attribute of client classes is now a scope collection.

    • The attributes of ScopeCollections are Scope objects, not strings.

    • ScopeCollections define __iter__, yielding the provided scopes, but not __str__.

v3.60.0

09 Jul 21:32
3.60.0
ba1bbce

Choose a tag to compare

Added

  • Recognize dependent_consent_required errors from the Auth API as a Globus Auth Requirements Error (GARE) and support converting them to GAREs. (#1246)

Fixed

  • Accept authorization parameters containing dependent scopes when app.login() is called with a GARE's authorization parameters. (#1247)

v3.59.0

01 Jul 14:47
3.59.0
ad63244

Choose a tag to compare

Added

  • Added the TransferClient.set_subscription_admin_verified() method. (#1227)

  • Updated ComputeClientV2.get_endpoints with a new role kwarg. (#1238)

Development

  • Convert the CHANGELOG to Markdown-compatible headers.

    This resolves rendering issues in Dependabot PRs in the CLI,
    and simplifies compatibility between RST and Markdown.