1.0.0.Beta3
·
766 commits
to main
since this release
This is the third beta release of the Inrupt Client Libraries for Java.
The Inrupt Client Libraries are designed to make it easier for developers to interact with Solid Resources. The libraries provide a session management abstraction that supports OpenID Connect tokens as well as Access Grants. In addition, there are mechanisms for mapping RDF-based resources into domain-specific Java objects.
Features
Below is a summary of the new features included in this release:
- A caching layer is now present, including implementations written with Guava and Caffeine (#410)
Sessionobjects are more efficient by caching access tokens (#459)Sessionobjects now support a reset() method to clear any internal state (#475)- An
inrupt-client-runtimemodule is now present, allowing application developers to add a single dependency to their application (#416) - Weak authorization mechanisms are explicitly disallowed in the reactive authorization module, such as
BasicandDigest(#479) - The high level
SolidClientnow generates specialized exceptions corresponding to specific HTTP error codes, such asNotFoundException(#480) - The AccessGrant client now supports a
verifymethod (#403) - The AccessGrantClient includes two new methods:
requestAccessandgrantAccess, making the type structure reflect the access request/grant interaction (#461) - The AccessGrantClient now also supports a
denyAccessmethod for generatingAccessDenialobjects (#476) - The AccessGrantClient
querymethod now distinguishes between the creator and recipient of an access credential (#505) - The AccessGrantClient
querymethod now accepts a purpose argument (#499) - The AccessGrant module now includes a utility to make it easier to edit Access Control resources so that Access Grants may be used for authorization (#473)
Bug Fixes
Below is a summary of bug fixes included in this release:
- Fixed concurrent OpenID Connect session refresh error, improving concurrency support generally (#456)
- The AccessGrant library now uses the correct data subject property for access requests (#446)
- Improved support for reading non-RDF resources via the high-level
SolidClient(#445) - The AccessGrant library now correctly serializes expiration dates as ISO-8601 strings (#437)
- The AccessGrantClient now uses the correct integer value for revocation status requests (#502)
Complete Changelog: 1.0.0.Beta2 ... 1.0.0.Beta3
Upgrade notes
- In the
accessgrantmodule, the type hierarchy has been expanded to include anAccessRequestandAccessDenialclass. These and theAccessGrantclass now both derive from theAccessCredentialbase class. Many of the existingAccessGrantClientmethods have been deprecated in favor of new methods that work with this type hierarchy (#461) - As part of (#449) the getter methods in the
WebIdProfileclass have been pluralized. For example,Set<URI> getType()is nowSet<URI> getTypes(). The previous methods have been marked as deprecated. - Jakarta EE 10+ is now supported throughout the code base. This is particularly relevant for the
inrupt-client-jsonbmodule, which now will require a Jakarta EE 10+ implementation for any application code that uses that module (#432) - The
UmaSessionclass is now deprecated. Please use theOpenIdSessionclass directly (#411)