Release Notes#

1.1.0#

  • 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, including RDFSource, 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 an asSession(OAuth2User) method to convert a Spring user object into a Session 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 an asSession(JsonWebToken) utility method to convert a Microprofile JSON Web Token into a Session 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:

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:

For more information, see Access Requests and Grants.

Patch Releases and Changelogs#

For patch releases, see Patch Releases.

For changelogs, see 1.0 Changelog.