Skip to content

Releases: globus/globus-sdk-python

v3.61.0

Choose a tag to compare

@sirosen sirosen released this 23 Jul 20:06
3.61.0
cf5cdc1

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

v4.0.0a3 Pre-release
Pre-release

Choose a tag to compare

@m1yag1 m1yag1 released this 10 Jul 19:11
4.0.0a3
258d69c

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

Choose a tag to compare

@m1yag1 m1yag1 released this 09 Jul 21:32
3.60.0
ba1bbce

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

Choose a tag to compare

@m1yag1 m1yag1 released this 01 Jul 14:47
3.59.0
ad63244

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.

v3.58.0

Choose a tag to compare

@kurtmckee kurtmckee released this 16 Jun 23:31
3.58.0
2b442f1

Added

  • Add the SpecificFlow.validate_run() method. (#1221)

Fixed

  • Fix an error which caused the restrict_transfers_to_high_assurance field
    to be malformed when set on a collection payload type. (#1211)

v4.0.0a2

v4.0.0a2 Pre-release
Pre-release

Choose a tag to compare

@sirosen sirosen released this 05 Jun 16:17
4.0.0a2
d78879d

Breaking Changes

  • The SDK version is no longer available in globus_sdk.version.__version__. (#1195)

    Packages that want to query the SDK version must use importlib.metadata:

    import importlib.metadata
    
    GLOBUS_SDK_VERSION = importlib.metadata.distribution("globus_sdk").version
  • The legacy MutableScope type has been removed. (#1198)

    • The make_mutable method on ScopeBuilder objects has also been removed as a consequence of this change.
  • Defaults of None were converted to globus_sdk.MISSING for multiple client methods and payload types, covering Compute, Flows, Groups, GCS, and Search. (#1205, #1207, #1212, #1214)

Removed

  • globus_sdk.experimental.auth_requirements_error has been removed. Use globus_sdk.gare instead. (#1202)

  • GlobusAPIError no longer provides a setter for message. The message property is now read-only. (#1204)

  • Deprecated aliases for TimersClient, TimersScopes, and TimersAPIError have been removed. (#1206)

v3.57.0

Choose a tag to compare

@sirosen sirosen released this 04 Jun 21:01
3.57.0
c2f7a3d

Added

  • Globus Connect Server collection document classes now support attributes up to document version 1.15.0. (#1197)

Deprecated

  • Importing scope parsing tools from globus_sdk.experimental now emits a deprecation warning. These names were previously deprecated in documentation only. (#1201)

Documentation

  • Remove the badges at the top of the README. (#1194)

v4.0.0a1

v4.0.0a1 Pre-release
Pre-release

Choose a tag to compare

@kurtmckee kurtmckee released this 20 May 15:55
4.0.0a1
f4ce312

Breaking Changes

  • The SDK no longer sets default scopes for direct use
    of client credentials and auth client login flow methods.
    Users should either use GlobusApp objects,
    which can specify scopes based on the clients in use,
    or else pass a list of scopes explicitly to
    oauth2_client_credentials_tokens or oauth2_start_flow. (#1186)

  • The default GlobusAPIError.code value is now None
    when code is not supplied in the error body.
    Previously, the default was "Error". (#1190)

  • The default TimersAPIError.code value is now None
    when an error which appears to be validation-related has no code.
    Previously, the default was "ValidationError". (#1191)

  • SDK client classes no longer define nor prepend a base_path attribute to paths.
    Make sure to use the full path now when using client methods. (#1185)

  • Updated MappedCollectionDoc and GuestCollectionDoc with MissingType. (#1189)

v3.56.1

Choose a tag to compare

@kurtmckee kurtmckee released this 20 May 15:26
3.56.1
659d76b

Fixed

  • Fix the type annotation on filter_roles for FlowsClient to allow non-list iterables. (#1183 )

v3.56.0

Choose a tag to compare

@sirosen sirosen released this 05 May 15:56
3.56.0
18fd4bc

Added

  • Transport objects now provide a close() method for closing resources which
    belong to them, primarily the underlying session. (#1171)

  • Add activity_notification_policy to GuestCollectionDocument,
    associating it with GCS collection document version 1.14.0. (#1172)

  • FlowsClient.list_flows and FlowsClient.list_runs now support the
    filter_roles parameter to filter results by one or more roles. (#1174)

  • AuthLoginClient now supports a session_message when constructing an
    OAuth2 authorization URL. (#1179)

  • LoginFlowManager will now use a session_message present in the
    supplied GlobusAuthorizationParameters as part of the login flow. (#1179)

Changed

  • When parsing GAREs using to_gare and to_gares, the root document is
    now considered a possible location for a GARE when subdocument errors are
    present on a GlobusAPIError object. Previously, the root document would
    only be considered in the absence of subdocument errors. (#1173)

Deprecated

  • filter_role parameter for FlowsClient.list_flows is deprecated. Use
    filter_roles instead. (#1174)