Release Notes#
1.3.0#
1.3.0 Release
1.3.0 GA Released 2024-12-13
Introduce the Access Credential filter API for querying for Access Grants and Access Requests via
AccessGrantClient::query(CredentialFilter<T>)
. This allows developers to perform more sophisticated queries on the ESS Access Grant service. The response from this method is a paged response that can be navigated forwards and backwards.Connect Access Grants to their corresponding Access Request via the
AccessGrantClient::grantAccess(AccessRequest)
method.With the introduction of the
AccessGrantClient::query(CredentialFilter<T>)
method, the existing::query(AccessCredentialQuery<T>)
and::query(URI, URI, ...)
methods have been deprecated. Developers are advised to migrate to use the new formulation.
1.2.0#
1.2.0 Release
1.2.0 GA Released 2024-09-20
Support for RFC 9457: Problem Details in HTTP responses is now available. In the high-level
SolidClient
, any HTTP errors that throw exceptions now give developers access to problem detail data from an RFC 9457-conforming server. This change introduces theSolidClientException::getProblemDetails
method along with acom.inrupt.client.ProblemDetails
interface.The
OpenIdProvider::authorize
method now supportsscope
,state
andnonce
values.Support for qualified type names has been added to the Access Grant client so that names with the
vc:
prefix are now supported across the various Access Grant types. This is an addition to the current support of localname (e.g.SolidAccessGrant
,SolidAccessRequest
,SolidAccessDenial
) and fully qualified names (e.g.http://www.w3.org/ns/solid/vc#SolidAccessGrant
).The
OpenIdProvider
class includes better support for RFC 9207 OAuth 2.0 Authorization Server Issuer Identification during theauthorization_code
flow in a browser-based interaction.The
SolidContainer
class now has better support for thegetHeaders()
method, making it possible for clients using this class to access response headers from remote Web resources.
1.1.0#
1.1.0 Release
1.1.0 GA Released 2023-11-29
The Resource interface includes a
getHeaders()
method, making it possible for clients to access all response headers from remote Web resources. This method is available on all subtypes, includingRDFSource
,NonRDFSource
,SolidRDFSource
,SolidContainer
,SolidNonRDFSource
, and any derived user-defined type.Standard URI normalization is now performed automatically for all resource identifiers; it is now unnecessary to call
URI::normalize
in client code before interacting with SolidClient API methods.An
inrupt-client-spring
module is available to make it easier to integrate Spring applications with the Inrupt Solid Client Libraries. This integration layer includes anasSession(OAuth2User)
method to convert a Spring user object into aSession
object that can be used with these libraries.An
inrupt-client-quarkus
module is available to make it easier to integrate Quarkus applications with the Inrupt Solid Client Libraries. This module includes anasSession(JsonWebToken)
utility method to convert a Microprofile JSON Web Token into aSession
object.
1.0.0#
1.0.0 Release
1.0.0 GA Released 2023-07-17
The first generally available release of Inrupt’s Java Client Libraries include:
Support for mapping Pod resources.
Support for read/write/update/delete (i.e., CRUD) operations on a Solid Pod.
Support for OpenID sessions and Access Grant Sessions
Support for managing access to resources in a Solid Pod using Access Grants.
Inrupt’s Java Client Libraries consist of different modules. For details of the modules, see Introduction.
Pod Resources#
Solid Pods are data storage locations. Both Resource Description
Framework (RDF) resources and non-RDF resources (e.g., .jpg
,
.txt
) can be stored in a Solid Pod.
To support mapping domain specific objects to RDF resources, Inrupt’s Java Client Libraries provides the WrapperIRI class.
To facilitate mapping Pod resources/files, Inrupt’s Java Client Libraries provides the following classes to map to resources:
SolidRDFSource class, which maps to an RDF resource.
SolidContainer class, which maps to a Container.
SolidNonRDFSource class, which maps to a non-RDF resource.
For more information on the classes, see:
For an example, see Getting Started.
CRUD Operations#
To facilitate storing resources/files in a Pod, Inrupt’s Java Client Libraries provides:
SolidClient, the asynchronous client for interacting with Solid resources.
SolidSyncClient, the synchronous client for interacting with Solid resources.
SolidClient and SolidSyncClient provide methods for reading and writing resources to your Solid Pod.
For more information, see
Sessions#
OpenID Sessions#
Inrupt’s Java Client Libraries provide the OpenIdSession class that can work with 3rd party libraries/frameworks that support OpenID Connect and OAuth2 (for example, Spring Security, Quarkus).
In addition, the OpenIdSession class can support client credentials for statically registered single-user application.
For more information, see Sessions.
Access Grant Sessions#
Inrupt’s Java Client Libraries provide AccessGrantSession, which uses an|OpenIdSession| and Access Grant(s) and an OpenID-based session.
For more information, see Sessions.
Access Requests and Grants#
With access requests and grants, a user can request access to resources owned by another user, and the owner user can grant or deny the access request.
To support the access request/grant flow, Inrupt’s Java Client Library provides:
AccessGrantClient, which can be used to create/verify/query/fetch access requests and grants.
AccessGrantSession, which can be used with SolidClient/SolidSyncClient to access resources using the access grant(s).
For more information, see Access Requests and Grants.
Patch Releases and Changelogs#
For patch releases, see Patch Releases.
For changelogs, see Changelog.