Skip to content

chore(release): v0.10.0#191

Merged
SoulPancake merged 1 commit into
mainfrom
release/v0.10.0
Mar 24, 2026
Merged

chore(release): v0.10.0#191
SoulPancake merged 1 commit into
mainfrom
release/v0.10.0

Conversation

@SoulPancake

@SoulPancake SoulPancake commented Mar 24, 2026

Copy link
Copy Markdown
Member

Description

What problem is being solved?

How is it being solved?

What changes are made to solve it?

References

Review Checklist

  • I have clicked on "allow edits by maintainers".
  • I have added documentation for new/changed functionality in this PR or in a PR to openfga.dev [Provide a link to any relevant PRs in the references section above]
  • The correct base branch is being used, if not main
  • I have added tests to validate that the change in functionality is working as expected

Summary by CodeRabbit

  • Chores
    • Released version 0.10.0 of the OpenFGA .NET SDK with corresponding version updates across all SDK components, example projects, and related dependencies
    • Updated SDK version identifiers, package metadata, HTTP User-Agent headers, and changelog to ensure consistency across the release
    • Documented the new v0.10.0 release in the changelog with appropriate version comparison references

@SoulPancake
SoulPancake requested a review from a team as a code owner March 24, 2026 08:35
Copilot AI review requested due to automatic review settings March 24, 2026 08:35
@coderabbitai

coderabbitai Bot commented Mar 24, 2026

Copy link
Copy Markdown

Walkthrough

Version 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

Cohort / File(s) Summary
Release Configuration
CHANGELOG.md
Updated unreleased compare link to use v0.10.0 as base; added new v0.10.0 release section dated 2026-03-24 with compare link from v0.9.1...v0.10.0, consolidating existing Fixed and Added items.
SDK Version Constants
src/OpenFga.Sdk/Constants/FgaConstants.cs
Updated SdkVersion and UserAgent constants from 0.9.1 to 0.10.0 to maintain SDK version and HTTP User-Agent alignment.
Project Dependencies
src/OpenFga.Sdk/OpenFga.Sdk.csproj, example/Example1/Example1.csproj
Updated NuGet package versions from 0.9.1 to 0.10.0 in SDK project and example project files.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • #175 — Performs similar release version bumps across the same set of files (CHANGELOG.md, Example1.csproj, OpenFga.Sdk.csproj, FgaConstants.cs).
  • #162 — Modifies release-related files and version symbols in CHANGELOG, project configuration, and SDK constants.

Suggested labels

release

Suggested reviewers

  • evansims
  • ewanharris
  • curfew-marathon
🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'chore(release): v0.10.0' clearly and concisely summarizes the main change: a version release bump to v0.10.0.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch release/v0.10.0

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@dosubot

dosubot Bot commented Mar 24, 2026

Copy link
Copy Markdown

Documentation Updates

2 document(s) were updated by changes in this PR:

Retry-After Header and Retry Strategy
View 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 Overview
View 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

How did I do? Any feedback?  Join Discord

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.0 section and update the “Unreleased” compare link in CHANGELOG.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.

Comment thread src/OpenFga.Sdk/Constants/FgaConstants.cs

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
example/Example1/Example1.csproj (1)

14-20: Make example target mode explicit (package vs local project).

This file currently enables both PackageReference and ProjectReference while 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

📥 Commits

Reviewing files that changed from the base of the PR and between 6bebdf7 and c83827f.

📒 Files selected for processing (4)
  • CHANGELOG.md
  • example/Example1/Example1.csproj
  • src/OpenFga.Sdk/Constants/FgaConstants.cs
  • src/OpenFga.Sdk/OpenFga.Sdk.csproj

@SoulPancake
SoulPancake added this pull request to the merge queue Mar 24, 2026
Merged via the queue into main with commit c0ecaa9 Mar 24, 2026
27 of 29 checks passed
@SoulPancake
SoulPancake deleted the release/v0.10.0 branch March 24, 2026 09:13
@coderabbitai coderabbitai Bot mentioned this pull request Apr 6, 2026
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants