Releases: globus/action-provider-tools
v0.14.0
Note that this release includes all of the changes in the 0.13.0 release candidate series.
Features
-
Added a CloudWatchEMFLogger
RequestLifecycleHook
class.
When attached to anActionProviderBlueprint
, it will emit request count, latency, and response category (2xxs, 4xxs, 5xxs) count metrics through CloudWatch EMF. Metrics are emitted both for the aggregate AP dimension set and the individual route dimension set.- Classes may be provided at Blueprint instantiation time to register before, after, and/or teardown functionality wrapping route invocation.
v0.13.0rc2
Python support
- Support Python 3.12.
- Drop support for Python 3.7.
Development
- Remove unused dependencies.
Dependencies
- Raise the minimum Flask version to 2.3.0, which dropped support for Python 3.7.
v0.13.0rc1
Changes
- The minimum pyyaml version is now 6.0
Deprecations
- Imports from
globus_action_provider_tools.flask
will no longer emit aDeprecationWarning
Development
-
During local testing, build a shared wheel.
Previously, a shared
.tar.gz
file was created.
However, in each tox environment, pip would convert this to a wheel during installation.This change decreases local test times from ~20 seconds to ~12 seconds.
-
Support running tox test environments in parallel (run
tox p
).This change decreases local test times to only ~3 seconds.
-
Overhaul CI.
-
Introduce caching of the
.tox/
and.venv/
directories.The cache is invalidated once each week (
date %U
rolls the week on Sundays). -
Build a shared wheel once as an artifact and re-use it across all test environments.
-
Consolidate standard testing and testing of minimum Flask versions.
-
0.13.0b2
0.13.0b1
Python support
- Add support for Python 3.11.
- Drop support for Python 3.6.
Bugfixes
-
Fix a crash that will occur if a non-object JSON document is submitted.
For example, this will happen if the incoming JSON document is"string"
or["array"]
. -
Fix a crash that occurs when an HTTP 400 "invalid grant" error is received
from Globus Auth while getting an authorizer for a given scope.This is now caught by
AuthState.get_authorizer_for_scope()
andNone
is returned.
Changes
-
Remove the
__version__
attribute.The
importlib.metadata
module in Python 3.8 and higher
(or the backportedimportlib_metadata
package)
can be used to query the version of installed packages if needed. -
jsonschema>=4.17,<5
is now required by action-provider-tools.Consumers of the library will have to update to a more recent version of
jsonschema
if they are using it explicitly.
v0.12.0
[No changes since v0.12.0b; this is simply re-publishing the beta release as non-beta (gamma?).]
v0.12.0b1
Features
- Upgrade to use major version 3 of the Globus SDK. If you are using Action
Provider Tools in an environment which is currently using an earlier version
of the Globus SDK, then you will need to upgrade first in order for this
version to be compatible.
Bugfixes
- Fixes an issue where the
ActionProviderBlueprint
decorators were not
returning the decorated functions. This meant that the registered functions
were loaded onto the Action Provider correctly but wereNone
in the module
in which they were defined.
v0.11.5
0.11.5 - 2021-12-13
Documentation
- Add a CHANGELOG and include it in the documentation.
- Use scriv for CHANGELOG management.
Added
- Improved logging around the authentication module's cache hits and misses.
Fixed
- Fixed handling of missing refresh tokens in dependent token grants. Now, even if a refresh token is expected in a dependent grant, it falls back to just using the access token up until the time the access token expires. We also shorten the dependent token grant cache to be less than the expected lifetime of an access token and, thus, from cache, we should not retrieve an access token which is already expired.
v0.11.4
Features
- Adds caching to the following Globus Auth operations: token introspection, group membership, dependent token grants.
Documentation
- Adds documentation around the new caching behavior: https://action-provider-tools.readthedocs.io/en/latest/toolkit/caching.html
v0.11.3
Features
- Bumps globus-sdk version dependency.