Releases: globus/globus-sdk-python
Release list
v3.61.0
Deprecated
v4.0.0a3
Breaking Changes
-
All defaults of
Noneconverted toglobus_sdk.MISSINGfor all payload types in the Transfer client. (#1216) -
The
transfer_clientparameter toTransferDataandDeleteDatahas been removed.
See the upgrading doc for transition details. (#1236) -
In Globus Auth client classes, defaults of
Noneare converted toMISSINGfor optional fields. (#1236)
Added
SpecificFlowClienthas a new method,add_app_transfer_data_access_scopewhich facilitates declaration of scope requirements when starting flows which interact with collections that needdata_accessscopes. (#1166)
Removed
globus_sdk.experimental.scope_parserhas been removed. Useglobus_sdk.scopesinstead. (#1236)
Changed
-
Scopeobjects are now immutable. (#1208)-
Scope.dependenciesis now a tuple, not a list. -
The
add_dependencymethod has been removed, since mutating aScopeis no longer possible. -
A new evolver method,
Scope.with_dependencyhas been added. It extends thedependenciestuple in a newScopeobject. -
A batch version of
Scope.with_dependencyhas been added,Scope.with_dependencies. -
An evolver for the
optionalfield of aScopeis also now available, namedScope.with_optional.
-
-
Scope parsing has been separated from the main
Scopeclass into a dedicatedScopeParserwhich provides parsing methods. (#1208)-
Use
globus_sdk.scopes.ScopeParserfor complex parsing use-cases. TheScopeParser.parseclassmethod parses strings into lists of scope objects. -
Scope.merge_scopeshas been moved toScopeParser.merge_scopes. -
Scope.parseis changed to callScopeParser.parseand verify that there is exactly one result, which it returns. This means thatScope.parsenow returns a singleScope, not alist[Scope]. -
Scope.serializeandScope.deserializehave been removed as methods.
Usestr(scope_object)as a replacement forserialize()andScope.parseas a replacement fordeserialize().
-
-
Payload types now inherit from
dictrather thanUserDict. ThePayloadWrapperutility class has been replaced withPayload. (#1222) -
Payload types are more consistent about encoding missing values using
MISSING. (#1222) -
The SDK's
ScopeBuildertypes have been replaced withStaticScopeCollectionandDynamicScopeCollectiontypes. (#1237)-
Scopes provided as constants by the SDK are now
Scopeobjects, not strings. They can be converted to strings trivially withstr(scope). -
The various scope builder types have been renamed.
SpecificFlowScopes,GCSEndpointScopes, andGCSCollectionScopesreplaceSpecificFlowScopeBuilder,GCSEndpointScopeBuilder, andGCSCollectionScopeBuilder.
-
-
The
ScopeBuildertypes have been simplified and improved as the newScopeCollectiontypes. (#1237)-
ScopeBuilderis replaced withStaticScopeCollectionandDynamicScopeCollection. Thescopesattribute of client classes is now a scope collection. -
The attributes of
ScopeCollections areScopeobjects, not strings. -
ScopeCollections define__iter__, yielding the provided scopes, but not__str__.
-
v3.60.0
v3.59.0
Added
-
Added the
TransferClient.set_subscription_admin_verified()method. (#1227) -
Updated
ComputeClientV2.get_endpointswith a newrolekwarg. (#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
v4.0.0a2
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
MutableScopetype has been removed. (#1198)- The
make_mutablemethod onScopeBuilderobjects has also been removed as a consequence of this change.
- The
-
Defaults of
Nonewere converted toglobus_sdk.MISSINGfor multiple client methods and payload types, covering Compute, Flows, Groups, GCS, and Search. (#1205, #1207, #1212, #1214)
Removed
-
globus_sdk.experimental.auth_requirements_errorhas been removed. Useglobus_sdk.gareinstead. (#1202) -
GlobusAPIErrorno longer provides a setter formessage. Themessageproperty is now read-only. (#1204) -
Deprecated aliases for
TimersClient,TimersScopes, andTimersAPIErrorhave been removed. (#1206)
v3.57.0
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.experimentalnow 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
Breaking Changes
-
The SDK no longer sets default scopes for direct use
of client credentials and auth client login flow methods.
Users should either useGlobusAppobjects,
which can specify scopes based on the clients in use,
or else pass a list of scopes explicitly to
oauth2_client_credentials_tokensoroauth2_start_flow. (#1186) -
The default
GlobusAPIError.codevalue is nowNone
whencodeis not supplied in the error body.
Previously, the default was"Error". (#1190) -
The default
TimersAPIError.codevalue is nowNone
when an error which appears to be validation-related has nocode.
Previously, the default was"ValidationError". (#1191) -
SDK client classes no longer define nor prepend a
base_pathattribute 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
v3.56.0
Added
-
Transport objects now provide a
close()method for closing resources which
belong to them, primarily the underlying session. (#1171) -
Add
activity_notification_policyto GuestCollectionDocument,
associating it with GCS collection document version 1.14.0. (#1172) -
FlowsClient.list_flowsandFlowsClient.list_runsnow support the
filter_rolesparameter to filter results by one or more roles. (#1174) -
AuthLoginClientnow supports asession_messagewhen constructing an
OAuth2 authorization URL. (#1179) -
LoginFlowManagerwill now use asession_messagepresent in the
suppliedGlobusAuthorizationParametersas part of the login flow. (#1179)
Changed
- When parsing GAREs using
to_gareandto_gares, the root document is
now considered a possible location for a GARE when subdocument errors are
present on aGlobusAPIErrorobject. Previously, the root document would
only be considered in the absence of subdocument errors. (#1173)
Deprecated
filter_roleparameter forFlowsClient.list_flowsis deprecated. Use
filter_rolesinstead. (#1174)