Skip to content

Conversation

hildo
Copy link

@hildo hildo commented Aug 17, 2025

#86

Removed Guava. Previous attempts stalled over concerns about thread safety. These changes attempt to address those concerns by using threadsafe classes (like ConcurrentHashMap)

@hildo hildo force-pushed the remove-guava-threadsafe branch from 7e782d0 to e156a5e Compare August 18, 2025 01:32
@exceptionfactory
Copy link
Contributor

Thanks for working on this @hildo, it would be great to see the removal of Guava completed.

@muditchaudhary
Copy link
Contributor

The dryrun is failing due to some changes that were made to Cedar Shared Integration Tests. Looking into it

@hildo
Copy link
Author

hildo commented Aug 19, 2025

Thanks for checking @muditchaudhary ... i thought it ran locally for me fine, but I didn't get a chance to look into this further last night. Of course, if there's more work I need to do to address this, please let me know.

@muditchaudhary
Copy link
Contributor

Yeah, the change is very recent and now my local builds are failing too. The updated shared integration tests check for Duration and negative decimals. The tests are failing because we don't support these in CedarJava yet + there might be a bug for Entity tags. I am planning on adding the support soon which should fix the integration tests. Will keep you updated. Thanks for your contributions!

@hildo
Copy link
Author

hildo commented Aug 20, 2025

No worries. Happy to help. If there's anything I can do to assist, please let me know.

*/
@JsonProperty("warnings")
public final ImmutableList<String> warnings;
public final List<String> warnings;
Copy link
Contributor

Choose a reason for hiding this comment

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

Would this count as a breaking change (hence requiring a major version bump) because we are updating type for a public field?

Copy link
Contributor

Choose a reason for hiding this comment

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

In Rust SDK, PE is an experimental feature and hence does not obey SemVer. I'm not sure if CedarJava follows a similar rule given that there's no easy to specify an experimental feature. Just FYI.

Copy link
Author

Choose a reason for hiding this comment

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

@muditchaudhary that is a good pickup. It would be a breaking change, especially if the application was using cedar-java's transitive dependencies to include guava (ImmutableList would not be available anymore). If the code stored this in a variable of type java.util.List, it wouldn't. But that's not an assumption that can be made.

I am not familiar with how the version numbers are managed. If we are to change them, is the change included in this PR? Or is the library versioned using another process? Happy to help where I am able to.

Copy link
Author

Choose a reason for hiding this comment

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

I am assuming that if I am to make the version change, I should be setting the version at line 284 in CedarJava/build.gradle to 4.0.0? But I will wait for confirmation if that's the correct process

Copy link
Contributor

@muditchaudhary muditchaudhary Sep 29, 2025

Choose a reason for hiding this comment

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

@hildo If needed, we'll bump the version on release. So, there shouldn't be any action required within this PR. However, I am checking with others on how we'd want to approach it. Ideally, we want our major versions to be in-sync with Cedar, which is at 4.x. If we bump the major version for CedarJava for this change i.e., 5.x we won't be in-sync with Cedar versions anymore (which might cause some confusion). I'll provide an update soon.

We are also making a public field type change for AuthorizationResponse (which is not experimental)

Copy link
Author

Choose a reason for hiding this comment

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

@muditchaudhary all good. Thanks for the update.

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.

5 participants