diff --git a/CHANGELOG.md b/CHANGELOG.md index 01124b6..3c64672 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,15 +1,18 @@ # Changelog -## [Unreleased](https://github.com/openfga/python-sdk/compare/v0.9.8...HEAD) +## [Unreleased](https://github.com/openfga/python-sdk/compare/v0.9.9...HEAD) -### [0.9.8](https://github.com/openfga/python-sdk/compare/v0.9.7...0.9.8) (2025-11-04) +### [0.9.9](https://github.com/openfga/python-sdk/compare/v0.9.8...v0.9.9) (2025-12-09) +- feat: improve error messaging (#245) + +### [0.9.8](https://github.com/openfga/python-sdk/compare/v0.9.7...v0.9.8) (2025-11-04) - feat: add support for conflict options for Write operations: (#235) The client now supports setting `ConflictOptions` on `ClientWriteOptions` to control behavior when writing duplicate tuples or deleting non-existent tuples. This feature requires OpenFGA server [v1.10.0](https://github.com/openfga/openfga/releases/tag/v1.10.0) or later. See [Conflict Options for Write Operations](./README.md#conflict-options-for-write-operations) for more. - `on_duplicate` for handling duplicate tuple writes (ERROR or IGNORE) - `on_missing` for handling deletes of non-existent tuples (ERROR or IGNORE) -### [0.9.7](https://github.com/openfga/python-sdk/compare/v0.9.6...0.9.7) (2025-10-06) +### [0.9.7](https://github.com/openfga/python-sdk/compare/v0.9.6...v0.9.7) (2025-10-06) - feat: `headers` configuration property (#233) - fix: per-request custom header precedence (#230) diff --git a/README.md b/README.md index 2f81122..1222ccc 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Python SDK for OpenFGA [![pypi](https://img.shields.io/pypi/v/openfga_sdk.svg?style=flat)](https://pypi.org/project/openfga_sdk) -[![Socket Badge](https://badge.socket.dev/pypi/package/openfga-sdk/0.9.8](https://socket.dev/pypi/package/openfga-sdk) +[![Socket Badge](https://badge.socket.dev/pypi/package/openfga-sdk/0.9.9](https://socket.dev/pypi/package/openfga-sdk) [![DeepWiki](https://img.shields.io/badge/DeepWiki-openfga%2Fpython--sdk-blue.svg?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAyCAYAAAAnWDnqAAAAAXNSR0IArs4c6QAAA05JREFUaEPtmUtyEzEQhtWTQyQLHNak2AB7ZnyXZMEjXMGeK/AIi+QuHrMnbChYY7MIh8g01fJoopFb0uhhEqqcbWTp06/uv1saEDv4O3n3dV60RfP947Mm9/SQc0ICFQgzfc4CYZoTPAswgSJCCUJUnAAoRHOAUOcATwbmVLWdGoH//PB8mnKqScAhsD0kYP3j/Yt5LPQe2KvcXmGvRHcDnpxfL2zOYJ1mFwrryWTz0advv1Ut4CJgf5uhDuDj5eUcAUoahrdY/56ebRWeraTjMt/00Sh3UDtjgHtQNHwcRGOC98BJEAEymycmYcWwOprTgcB6VZ5JK5TAJ+fXGLBm3FDAmn6oPPjR4rKCAoJCal2eAiQp2x0vxTPB3ALO2CRkwmDy5WohzBDwSEFKRwPbknEggCPB/imwrycgxX2NzoMCHhPkDwqYMr9tRcP5qNrMZHkVnOjRMWwLCcr8ohBVb1OMjxLwGCvjTikrsBOiA6fNyCrm8V1rP93iVPpwaE+gO0SsWmPiXB+jikdf6SizrT5qKasx5j8ABbHpFTx+vFXp9EnYQmLx02h1QTTrl6eDqxLnGjporxl3NL3agEvXdT0WmEost648sQOYAeJS9Q7bfUVoMGnjo4AZdUMQku50McDcMWcBPvr0SzbTAFDfvJqwLzgxwATnCgnp4wDl6Aa+Ax283gghmj+vj7feE2KBBRMW3FzOpLOADl0Isb5587h/U4gGvkt5v60Z1VLG8BhYjbzRwyQZemwAd6cCR5/XFWLYZRIMpX39AR0tjaGGiGzLVyhse5C9RKC6ai42ppWPKiBagOvaYk8lO7DajerabOZP46Lby5wKjw1HCRx7p9sVMOWGzb/vA1hwiWc6jm3MvQDTogQkiqIhJV0nBQBTU+3okKCFDy9WwferkHjtxib7t3xIUQtHxnIwtx4mpg26/HfwVNVDb4oI9RHmx5WGelRVlrtiw43zboCLaxv46AZeB3IlTkwouebTr1y2NjSpHz68WNFjHvupy3q8TFn3Hos2IAk4Ju5dCo8B3wP7VPr/FGaKiG+T+v+TQqIrOqMTL1VdWV1DdmcbO8KXBz6esmYWYKPwDL5b5FA1a0hwapHiom0r/cKaoqr+27/XcrS5UwSMbQAAAABJRU5ErkJggg==)](https://deepwiki.com/openfga/python-sdk) [![Release](https://img.shields.io/github/v/release/openfga/python-sdk?sort=semver&color=green)](https://github.com/openfga/python-sdk/releases) [![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fopenfga%2Fpython-sdk.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Fopenfga%2Fpython-sdk?ref=badge_shield) diff --git a/VERSION.txt b/VERSION.txt index e3e1807..7e310ba 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -1 +1 @@ -0.9.8 +0.9.9 diff --git a/example/example1/requirements.txt b/example/example1/requirements.txt index 0a9f181..52047eb 100644 --- a/example/example1/requirements.txt +++ b/example/example1/requirements.txt @@ -4,7 +4,7 @@ attrs >= 25.3.0 frozenlist >= 1.7.0 idna >= 3.10 multidict >= 6.6.4 -openfga-sdk >= 0.9.8 +openfga-sdk >= 0.9.9 python-dateutil >= 2.9.0.post0 urllib3 >= 1.26.19, != 2.0.*, != 2.1.*, != 2.2.0, != 2.2.1, < 3 yarl >= 1.20.1 diff --git a/example/example1/setup.py b/example/example1/setup.py index 248c51b..88b0377 100644 --- a/example/example1/setup.py +++ b/example/example1/setup.py @@ -15,7 +15,7 @@ NAME = "example1" VERSION = "0.0.1" -REQUIRES = ["openfga-sdk >= 0.9.8"] +REQUIRES = ["openfga-sdk >= 0.9.9"] setup( name=NAME, diff --git a/openfga_sdk/constants.py b/openfga_sdk/constants.py index 8c67d47..3d9a113 100644 --- a/openfga_sdk/constants.py +++ b/openfga_sdk/constants.py @@ -14,10 +14,10 @@ # Version of the OpenFGA Python SDK. -SDK_VERSION: Final[str] = "0.9.8" +SDK_VERSION: Final[str] = "0.9.9" # User agent used in HTTP requests. -USER_AGENT: Final[str] = "openfga-sdk python/0.9.8" +USER_AGENT: Final[str] = "openfga-sdk python/0.9.9" # Example API domain for documentation/tests. SAMPLE_BASE_DOMAIN: Final[str] = "fga.example" diff --git a/pyproject.toml b/pyproject.toml index 574fc73..75fcbf5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -10,7 +10,7 @@ [project] name = "openfga-sdk" -version = "0.9.8" +version = "0.9.9" description="A high performance and flexible authorization/permission engine built for developers and inspired by Google Zanzibar." authors = [ { name = "OpenFGA (https://openfga.dev)", email = "community@openfga.dev"} diff --git a/uv.lock b/uv.lock index 7ba785b..4b52fbe 100644 --- a/uv.lock +++ b/uv.lock @@ -662,7 +662,7 @@ wheels = [ [[package]] name = "openfga-sdk" -version = "0.9.8" +version = "0.9.9" source = { editable = "." } dependencies = [ { name = "aiohttp" },