0.9.0 (2024-12-19)
- feat: remove client-side validation - thanks @GMorris-professional (#155)
- feat: add support for
start_time
parameter inReadChanges
endpoint (#156) - Note, this feature requires v1.8.0 of OpenFGA or newer - feat!: add support for
BatchCheck
API (#154) - Note, this feature requires v1.8.2 of OpenFGA or newer - fix: change default max retry limit to 3 from 15 - thanks @ovindu-a (#155)
BREAKING CHANGE:
Usage of the existing batch_check should now use client_batch_check instead, additionally the existing BatchCheckResponse has been renamed to ClientBatchCheckClientResponse.
Please see (#154)(#154) for more details on this change.
0.8.1 (2024-11-26)
- feat: allow specifying a request timeout (#151) - thanks @Oscmage!
0.8.0 (2024-11-15)
- feat: allow configuring the token endpoint (#137)
- feat: add per-HTTP request counter metric (#135)
- refactor: remove SDK version for OpenTelemetry meter name (#134)
- fix: only send SDK method header from SDK wrapper methods (#142)
- fix: unable to pass
retry_params
(#144) - fix: list users should send contextual tuples as a list (#147)
- fix: handle no models existing in
read_latest_authorization_model
(#147)
0.7.2 (2024-09-22)
This release includes improvements to the OpenTelemetry configuration API introduced in the previous releases
- refactor: improve OpenTelemetry configuration (#127)
This release also includes fixes for several bugs identified in previous releases:
- fix: ensure max_parallel_requests is an int value in batch_check (#132)
- fix: inconsistency in 429 handling between sync/async client (#131)
- fix: ensure telemetry is reported when API exceptions are raised (#127)
0.7.1 (2024-09-16)
This release includes fixes for several bugs identified in the previous release related to OpenTelemetry metrics reporting: (#124)
- fix: attribute values are now correctly exported as their intended types (previously, these were all sent as string values)
- fix:
http_client_request_duration
being reported in seconds rather than the intended milliseconds - fix: sync client mistakenly passing the entire configuration (rather than just the OpenTelemetry configuration as intended) to
queryDuration()
andrequestDuration()
- fix: some attributes may not have been exported as expected under some conditions
- fix:
queryDuration()
andrequestDuration()
may not have updated their histograms reliably whenattr_http_client_request_duration
orattr_http_server_request_duration
(respectively) were not enabled (which is the default)
Please note that if you use third-party OpenTelemetry tooling to visualize the attributes mentioned above, you may need to update your queries to account for these changes.
0.7.0 (2024-08-30)
- feat: enhancements to OpenTelemetry support (#120)
Note this introduces some breaking changes to our metrics:
fga-client.request.method
is now in TitleCase to match the naming conventions in the Protos, e.g.Check
,ListObjects
, etc..- Due to possible high costs for attributes with high cardinality, we are no longer including the following attributes by default:
fga-client.user
http.client.request.duration
http.server.request.duration
We added configuration options to allow you to set which specific metrics and attributes you care about in case the defaults don't work for your use-case
0.6.1 (2024-07-31)
-
feat: add support for specifying consistency when evaluating or reading (#129) Note: To use this feature, you need to be running OpenFGA v1.5.7+ with the experimental flag
enable-consistency-params
enabled. See the v1.5.7 release notes for details. -
feat: add OpenTelemetry metrics reporting
0.6.0 (2024-06-28)
- feat: add OpenTelemetry metrics reporting
0.5.0 (2024-06-17)
- fix: ClientTuple condition property type
- fix: list_users should accept FgaObject type
- fix: remove ReadAuthorizationModel calls from BatchCheck and writes
- chore!: remove excluded users from ListUsers response
0.4.3 (2024-06-07)
- feat: support for list users
0.4.2 (2024-04-04)
- feat: support for modular models metadata
- feat: support auto-retry of failed network requests
- refactor: remove Python 2 code
- fix: limit the number of network retries
- fix: Configuration class
api_scheme
,min_wait_in_ms
anddisabled_client_side_validations
validation issues - chore: update aiohttp to 3.9.2
- chore: update black to 24.3.0
0.4.1 (2024-02-13)
- feat: support
api_url
configuration option and deprecateapi_scheme
andapi_host
- fix: use correct content type for token request
0.4.0 (2024-01-11)
- feat: support for conditions
- chore!: use latest API interfaces for type info
- chore: add example project
- chore: dependency updates
BREAKING CHANGES: Note: This release comes with substantial breaking changes, especially to the interfaces due to the protobuf changes in the last release.
While the http interfaces did not break (you can still use v0.3.3
SDK with a v1.3.8+
server),
the grpc interface did and this caused a few changes in the interfaces of the SDK.
If you are using OpenFgaClient
, the changes required should be smaller, if you are using OpenFgaApi
a bit more changes will be needed.
You will have to modify some parts of your code, but we hope this will be to the better as a lot of the parameters are now correctly marked as required, and so the Pointer-to-String conversion is no longer needed.
Some of the changes to expect:
- The following request interfaces changed:
CheckRequest
: theTupleKey
field is now of interfaceCheckRequestTupleKey
, you can also now pass inContext
ExpandRequest
: theTupleKey
field is now of interfaceExpandRequestTupleKey
ReadRequest
: theTupleKey
field is now of interfaceReadRequestTupleKey
WriteRequest
: now takesWriteRequestWrites
andWriteRequestDeletes
, the latter of which acceptsTupleKeyWithoutCondition
- And more
- The following interfaces had fields that were optional are are now required:
CreateStoreResponse
GetStoreResponse
ListStoresResponse
ListObjectsResponse
ReadChangesResponse
ReadResponse
AuthorizationModel
- And more
Take a look at the changes in models in https://github.com/openfga/python-sdk/commit/9ed1f70d64db71451de2eb26e330bbd511625c5c and https://github.com/openfga/python-sdk/pull/59/files for more.
0.3.4 (2024-01-09)
Note: v0.3.4
has been re-released as v0.4.0
due to breaking changes
0.3.3 (2024-01-02)
- fix: correct type hints for list_relations
- fix: handle empty TupleKey in read
- chore: add example project
0.3.2 (2023-12-15)
- feat: allow passing ssl certs to client configuration
- feat: setup openfga_sdk.help for bug info
0.3.1 (2023-12-01)
- chore(deps): reduce min urllib3 to 1.25.11, add dependabot & bump deps
0.3.0 (2023-11-02)
- feat(client): introduce synchronous OpenFgaClient (https://github.com/openfga/python-sdk/commit/c92b436543e263f2c1af6af15f1c4fda1c9dad21)
- refactor(config): extract oauth2 from credentials, removing logic from credentials configuration (https://github.com/openfga/python-sdk/commit/f91d14b25f86dd3f2e4d48229bb53cc7d9b20f1b)
- feat(client): performance improvements to batch_check (https://github.com/openfga/python-sdk/commit/d8f2d429d2c279c0e56d5ef2a6172df8bfadd82b)
0.2.1 (2023-09-05)
- fix(client): fix a crash when calling check with contextual tuples (https://github.com/openfga/python-sdk/commit/dded83f9a75dc1f01c1cfbd8385a25654129f78f)
- chore(docs): update README and fix a few typos (#21, #31, #32, #33, #34, #37)
0.2.0 (2023-05-25)
Changes:
- [BREAKING] feat!:
schema_version
is now required when callingwrite_authorization_model
- [BREAKING] chore!: drop support for python < 3.10
- feat(client): add OpenFgaClient wrapper see docs, see the
v0.1.1
docs for the OpenFgaApi docs - feat(client): implement
batch_check
to check multiple tuples in parallel - feat(client): implement
list_relations
to check in one call whether a user has multiple relations to an objects - feat(client): add support for a non-transactional
write
- feat(validation): ensure storeId and authorizationModelId are in valid ulid format
- chore(config): bump default max retries to
15
- chore(deps): upgrade dependencies
0.1.1 (2023-01-17)
- chore(deps): upgrade dependencies
0.1.0 (2022-12-14)
Updated to include support for OpenFGA 0.3.0
Changes:
- [BREAKING] feat(list-objects)!: response has been changed to include the object type
e.g. response that was
{"object_ids":["roadmap"]}
, will now be{"objects":["document:0192ab2a-d83f-756d-9397-c5ed9f3cb69a"]}
Fixes:
- fix(models): update interfaces that had incorrectly optional fields to make them required
0.0.1 (2022-08-31)
Initial OpenFGA Python SDK release
- Support for OpenFGA API
- CRUD stores
- Create, read & list authorization models
- Writing and Reading Tuples
- Checking authorization
- Using Expand to understand why access was granted