Skip to content

Latest commit

 

History

History
251 lines (168 loc) · 11.3 KB

CHANGELOG.md

File metadata and controls

251 lines (168 loc) · 11.3 KB

Changelog

v0.9.0

0.9.0 (2024-12-19)

  • feat: remove client-side validation - thanks @GMorris-professional (#155)
  • feat: add support for start_time parameter in ReadChanges 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.

v0.8.1

0.8.1 (2024-11-26)

  • feat: allow specifying a request timeout (#151) - thanks @Oscmage!

v0.8.0

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)

v0.7.2

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)

v0.7.1

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() and requestDuration()
  • fix: some attributes may not have been exported as expected under some conditions
  • fix: queryDuration() and requestDuration() may not have updated their histograms reliably when attr_http_client_request_duration or attr_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.

v0.7.0

0.7.0 (2024-08-30)

  • feat: enhancements to OpenTelemetry support (#120)

Note this introduces some breaking changes to our metrics:

  1. fga-client.request.method is now in TitleCase to match the naming conventions in the Protos, e.g. Check, ListObjects, etc..
  2. 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

v0.6.1

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

v0.6.0

0.6.0 (2024-06-28)

  • feat: add OpenTelemetry metrics reporting

v0.5.0

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

v0.4.3

0.4.3 (2024-06-07)

  • feat: support for list users

v0.4.2

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 and disabled_client_side_validations validation issues
  • chore: update aiohttp to 3.9.2
  • chore: update black to 24.3.0

v0.4.1

0.4.1 (2024-02-13)

  • feat: support api_url configuration option and deprecate api_scheme and api_host
  • fix: use correct content type for token request

v0.4.0

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: the TupleKey field is now of interface CheckRequestTupleKey, you can also now pass in Context
    • ExpandRequest: the TupleKey field is now of interface ExpandRequestTupleKey
    • ReadRequest: the TupleKey field is now of interface ReadRequestTupleKey
    • WriteRequest: now takes WriteRequestWrites and WriteRequestDeletes, the latter of which accepts TupleKeyWithoutCondition
    • 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.

v0.3.4

0.3.4 (2024-01-09)

Note: v0.3.4 has been re-released as v0.4.0 due to breaking changes

v0.3.3

0.3.3 (2024-01-02)

  • fix: correct type hints for list_relations
  • fix: handle empty TupleKey in read
  • chore: add example project

v0.3.2

0.3.2 (2023-12-15)

  • feat: allow passing ssl certs to client configuration
  • feat: setup openfga_sdk.help for bug info

v0.3.1

0.3.1 (2023-12-01)

  • chore(deps): reduce min urllib3 to 1.25.11, add dependabot & bump deps

v0.3.0

0.3.0 (2023-11-02)

v0.2.1

0.2.1 (2023-09-05)

v0.2.0

0.2.0 (2023-05-25)

Changes:

  • [BREAKING] feat!: schema_version is now required when calling write_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

v0.1.1

0.1.1 (2023-01-17)

  • chore(deps): upgrade dependencies

v0.1.0

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

v0.0.1

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