Skip to content

Conversation

rhamzeh
Copy link
Member

@rhamzeh rhamzeh commented Jul 1, 2025

Description

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

  • Documentation
    • Updated changelog and README to reflect the new version 0.8.2 and document a fix for model ID handling.
  • Chores
    • Bumped version references from 0.8.1 to 0.8.2 across build and configuration files.
    • Updated publishing configuration to use central Sonatype OSSRH repository URLs.
  • Bug Fixes
    • Corrected model ID override handling in BatchCheck client method.
  • New Features
    • Added access to the internal API client via a new method.

@rhamzeh rhamzeh requested review from a team as code owners July 1, 2025 21:34
Copy link
Contributor

coderabbitai bot commented Jul 1, 2025

Walkthrough

The changes update the project version from 0.8.1 to 0.8.2 across documentation, build files, configuration constants, and tests. The changelog adds a new release section documenting an internal API client accessor and a fix for the BatchCheck method. Publishing configuration now uses updated Sonatype OSSRH repository URLs. Java 24 was removed from the GitHub Actions test matrix.

Changes

Files / Areas Change Summary
CHANGELOG.md, README.md Updated version references from 0.8.1 to 0.8.2; changelog added 0.8.2 release notes including API client accessor and BatchCheck fix.
build.gradle, example/example1/build.gradle, publish.gradle Updated project and dependency versions to 0.8.2; publish.gradle updated Sonatype OSSRH repository URLs.
src/main/java/dev/openfga/sdk/api/configuration/Configuration.java Updated version and user agent constants from 0.8.1 to 0.8.2.
src/test/java/dev/openfga/sdk/api/configuration/ConfigurationTest.java Updated default user agent string to reflect version 0.8.2.
.github/workflows/main.yaml Removed Java 24 from the test matrix; tests now run on Java 11, 17, and 21 only.

Sequence Diagram(s)

No sequence diagram generated as the changes are limited to version updates, documentation, and build configuration adjustments without any new or modified control flow.

Possibly related PRs

✨ Finishing Touches
  • 📝 Generate Docstrings

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
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Nitpick comments (4)
example/example1/build.gradle (1)

25-27: Hard-coding SDK version here invites future skew

Consider reusing a single declared version (e.g. in gradle.properties or in the root project’s ext block) so examples stay in sync with releases:

implementation "dev.openfga:openfga-sdk:${rootProject.ext.openfgaVersion}"

This keeps the sample compiling after the next bump without manual edits.

README.md (1)

80-90: Minor Markdown style nits

markdownlint flags mixed list markers (* vs -). While harmless, aligning with the chosen - style keeps lint quiet.

Example:

-* Gradle (Groovy)
+- Gradle (Groovy)

Apply similarly to the other package-manager lists.

Also applies to: 94-116

src/test/java/dev/openfga/sdk/api/configuration/ConfigurationTest.java (1)

24-27: Avoid hard-coding versioned strings in tests

Duplicating the DEFAULT_USER_AGENT literal here requires a commit every time the SDK version bumps. Import Configuration.DEFAULT_USER_AGENT (or expose a constant specifically for tests) so the test auto-follows version changes.

-import static org.junit.jupiter.api.Assertions.*;
+import static org.junit.jupiter.api.Assertions.*;
+import static dev.openfga.sdk.api.configuration.Configuration.DEFAULT_USER_AGENT;
...
-    private static final String DEFAULT_USER_AGENT = "openfga-sdk java/0.8.2-beta.1";
+    private static final String DEFAULT_USER_AGENT = Configuration.DEFAULT_USER_AGENT;
publish.gradle (1)

8-11: Use the project’s version property instead of repeating the literal

Hard-coding the same version string in multiple Gradle files is error-prone. Reference project.version (already set in build.gradle) so the POM always stays in sync.

-                version = '0.8.2-beta.1'
+                version = project.version
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a7fa884 and dabe43f.

📒 Files selected for processing (7)
  • CHANGELOG.md (1 hunks)
  • README.md (2 hunks)
  • build.gradle (1 hunks)
  • example/example1/build.gradle (1 hunks)
  • publish.gradle (2 hunks)
  • src/main/java/dev/openfga/sdk/api/configuration/Configuration.java (1 hunks)
  • src/test/java/dev/openfga/sdk/api/configuration/ConfigurationTest.java (1 hunks)
🧰 Additional context used
🪛 GitHub Actions: Java CI with Gradle
build.gradle

[error] 1-1: Build failed: BUG! exception in phase 'semantic analysis' in source unit 'BuildScript'. Unsupported class file major version 68.

publish.gradle

[error] 54-54: Build failed: Cannot convert a null value to a File or URI. Supported types include String path, URI, File, Path, Directory, RegularFile, URI/URL, or TextResource.

🪛 markdownlint-cli2 (0.17.2)
README.md

85-85: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


101-101: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


107-107: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


113-113: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)

🪛 GitHub Actions: PR #180
publish.gradle

[error] 54-54: Gradle build failed: Cannot convert a null value to a File or URI. This error occurred while evaluating the script at line 54 in publish.gradle.

🔇 Additional comments (2)
build.gradle (1)

21-23: CI build currently fails – check toolchain / JDK pinning

The GitHub Action reported Unsupported class file major version 68, which means a very new JDK compiled the build-script classes while Gradle/Groovy only understands ≤ 21.
Please ensure the workflow (and local builds) run with JDK 17 – 21, e.g.

- uses: actions/setup-java@v4
  with:
    distribution: temurin
    java-version: '17'

or configure Gradle toolchains:

java {
    toolchain {
        languageVersion = JavaLanguageVersion.of(17)
    }
}

Once the runtime is pinned, the semantic-analysis error should disappear.

CHANGELOG.md (1)

3-9: Changelog entry looks good

Release notes are clear and correctly linked.

@rhamzeh rhamzeh force-pushed the release/v0.8.2-beta.1 branch from dabe43f to 4491321 Compare July 1, 2025 22:19
@codecov-commenter
Copy link

codecov-commenter commented Jul 1, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 33.65%. Comparing base (a7fa884) to head (fe7c0af).

Additional details and impacted files
@@            Coverage Diff            @@
##               main     #180   +/-   ##
=========================================
  Coverage     33.65%   33.65%           
  Complexity     1003     1003           
=========================================
  Files           182      182           
  Lines          6890     6890           
  Branches        776      776           
=========================================
  Hits           2319     2319           
  Misses         4467     4467           
  Partials        104      104           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@rhamzeh rhamzeh force-pushed the release/v0.8.2-beta.1 branch from 5fae3b9 to df62f79 Compare July 2, 2025 01:51
@rhamzeh rhamzeh changed the title release: v0.8.2-beta.1 release: v0.8.2 Jul 2, 2025
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (2)
README.md (2)

94-99: Keep badge & docs in sync

The Maven snippet now references 0.8.2; ensure the “Release” badge at the top of the README (line 5) and CHANGELOG both reflect the same tag so readers aren’t confused.


103-106: Optional: deduplicate version strings

The same version appears in five code blocks; a future bump will require editing all occurrences.
Consider using a placeholder in docs (e.g., ${openfga.version}) or an include file during doc generation to reduce churn.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 5fae3b9 and fe7c0af.

📒 Files selected for processing (7)
  • CHANGELOG.md (1 hunks)
  • README.md (2 hunks)
  • build.gradle (1 hunks)
  • example/example1/build.gradle (1 hunks)
  • publish.gradle (2 hunks)
  • src/main/java/dev/openfga/sdk/api/configuration/Configuration.java (1 hunks)
  • src/test/java/dev/openfga/sdk/api/configuration/ConfigurationTest.java (1 hunks)
✅ Files skipped from review due to trivial changes (1)
  • src/main/java/dev/openfga/sdk/api/configuration/Configuration.java
🚧 Files skipped from review as they are similar to previous changes (5)
  • example/example1/build.gradle
  • build.gradle
  • CHANGELOG.md
  • src/test/java/dev/openfga/sdk/api/configuration/ConfigurationTest.java
  • publish.gradle
🧰 Additional context used
🪛 markdownlint-cli2 (0.17.2)
README.md

85-85: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


101-101: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


107-107: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


113-113: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)

⏰ Context from checks skipped due to timeout of 90000ms (1)
  • GitHub Check: Analyze (java)
🔇 Additional comments (3)
README.md (3)

81-89: Confirm artifact availability on Maven Central

Version bump looks fine, but please verify that 0.8.2 has finished propagating to Maven Central before merging; otherwise users following the README will get a 404.

Optionally, you can add a note like:

> ⚠️ It may take a few minutes for a new release to appear in Maven Central.  

to pre-empt installation issues.


109-112: SBT syntax LGTM

No issues—syntactically correct and matches the new version.


115-117: Leiningen snippet LGTM

Dependency string updated correctly.

@rhamzeh rhamzeh added this pull request to the merge queue Jul 2, 2025
Merged via the queue into main with commit 9ac9fa0 Jul 2, 2025
24 checks passed
@rhamzeh rhamzeh deleted the release/v0.8.2-beta.1 branch July 2, 2025 04:10
@coderabbitai coderabbitai bot mentioned this pull request Aug 15, 2025
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.

4 participants