chore(release): v0.10.0#191
Conversation
WalkthroughVersion bump from 0.9.1 to 0.10.0 across the SDK codebase, including changelog release notes dated 2026-03-24, SDK version constants, and project package references. Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Possibly related PRs
Suggested labels
Suggested reviewers
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Documentation Updates 2 document(s) were updated by changes in this PR: Retry-After Header and Retry StrategyView Changes@@ -177,7 +177,7 @@
---
### .NET SDK
-**Version Introduced:** v0.8.0 (2025-10-22)
+**Version Introduced:** v0.8.0 (Current version: v0.10.0)
**[Changelog](https://github.com/openfga/dotnet-sdk/pull/142)**
#### Retry-After Handling
@@ -205,11 +205,14 @@
#### Error Exposure
When retries are exhausted, `FgaApiRateLimitExceededError` exposes the parsed `RetryAfter` delay in seconds, the raw header value, and the number of retry attempts made.
+#### Streaming Operations Retry Behavior
+`StreamedListObjects` has special retry characteristics: it correctly retries connection establishment on rate-limit (429) and transient errors. However, once streaming begins, it is intentionally not retried to avoid data duplication or inconsistent state. This behavior was clarified in v0.10.0.
+
#### Migration Guidance
- All `OpenFgaApi` methods now accept an optional `IRequestOptions` parameter. Update direct API calls accordingly.
- The base client request options interface was renamed from `ClientRequestOptions` to `IClientRequestOptions`. Update any references or implementations.
- The maximum allowed `MaxRetry` is now enforced at 15.
-- Upgrade to v0.8.0+ for full `Retry-After` support and improved error handling.
+- Upgrade to v0.10.0+ for the latest features and fixes, including improved streaming retry behavior.
---
StreamedListObjects Feature OverviewView Changes@@ -168,6 +168,13 @@
- Use `await foreach` to iterate over streamed results
- For non-streaming endpoints, use `ExecuteAsync` instead
+**Retry Behavior (v0.10.0):**
+
+As of version 0.10.0 (released 2026-03-24), `StreamedListObjects` correctly retries connection establishment on rate-limit (429) and transient errors. However, once streaming begins, it is intentionally not retried. This means:
+- Retries occur when establishing the initial connection to the streaming endpoint
+- After the stream starts delivering results, any errors will not trigger automatic retries
+- This behavior ensures that partial results are not duplicated or lost during streaming
+
For more details on using ApiExecutor, see the [ApiExecutor Example](https://github.com/openfga/dotnet-sdk/tree/main/example/ApiExecutorExample/).
## Benefits Over ListObjects |
There was a problem hiding this comment.
Pull request overview
Release prep for v0.10.0 of the OpenFGA .NET SDK, updating package/version identifiers and documenting the release in the changelog.
Changes:
- Bump NuGet package version to
0.10.0. - Update SDK version constants and user-agent string to
0.10.0. - Add
v0.10.0section and update the “Unreleased” compare link inCHANGELOG.md.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| src/OpenFga.Sdk/OpenFga.Sdk.csproj | Updates package <Version> to 0.10.0 for the release build. |
| src/OpenFga.Sdk/Constants/FgaConstants.cs | Updates embedded SDK version and user-agent string to match 0.10.0. |
| example/Example1/Example1.csproj | Updates the example’s OpenFga.Sdk package reference to 0.10.0. |
| CHANGELOG.md | Adds v0.10.0 release entry and advances the “Unreleased” compare link baseline. |
Comments suppressed due to low confidence (1)
example/Example1/Example1.csproj:19
- Example1.csproj currently references OpenFga.Sdk both as a NuGet PackageReference and as a ProjectReference at the same time. This can lead to duplicate/conflicting assembly references and makes the “uncomment this section” guidance misleading. Consider keeping only one reference enabled by default (and commenting/conditioning the other) so the example builds deterministically.
<ItemGroup>
<PackageReference Include="OpenFga.Sdk" Version="0.10.0"><PrivateAssets>all</PrivateAssets></PackageReference>
</ItemGroup>
<!-- To target the local build, use project reference -->
<ItemGroup>
<ProjectReference Include="..\..\src\OpenFga.Sdk\OpenFga.Sdk.csproj" />
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
🧹 Nitpick comments (1)
example/Example1/Example1.csproj (1)
14-20: Make example target mode explicit (package vs local project).This file currently enables both
PackageReferenceandProjectReferencewhile comments present them as alternative modes. Consider keeping only one active path (or gating via a property) to avoid ambiguity in the example.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@example/Example1/Example1.csproj` around lines 14 - 20, The project file currently includes both the PackageReference element for OpenFga.Sdk and a ProjectReference to the local OpenFga.Sdk project, which is ambiguous; either remove the inactive reference or gate them behind a MSBuild property. Update Example1.csproj to choose one mode: keep the PackageReference and delete the ProjectReference, or keep the ProjectReference and remove the PackageReference, or add a boolean property (e.g., UseLocalSdk) and add Condition attributes on the PackageReference and ProjectReference so only one is active; target the symbols PackageReference and ProjectReference (or the new UseLocalSdk property) when making the change.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@example/Example1/Example1.csproj`:
- Around line 14-20: The project file currently includes both the
PackageReference element for OpenFga.Sdk and a ProjectReference to the local
OpenFga.Sdk project, which is ambiguous; either remove the inactive reference or
gate them behind a MSBuild property. Update Example1.csproj to choose one mode:
keep the PackageReference and delete the ProjectReference, or keep the
ProjectReference and remove the PackageReference, or add a boolean property
(e.g., UseLocalSdk) and add Condition attributes on the PackageReference and
ProjectReference so only one is active; target the symbols PackageReference and
ProjectReference (or the new UseLocalSdk property) when making the change.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 2c9be832-2cd5-4379-bfa8-3fe6c660a28a
📒 Files selected for processing (4)
CHANGELOG.mdexample/Example1/Example1.csprojsrc/OpenFga.Sdk/Constants/FgaConstants.cssrc/OpenFga.Sdk/OpenFga.Sdk.csproj
Description
What problem is being solved?
How is it being solved?
What changes are made to solve it?
References
Review Checklist
mainSummary by CodeRabbit