We have just released version 3.1.0 of the UnboundID SCIM 2 SDK. It is available for download from GitHub and the Maven Central Repository. This release includes the following changes:
-
Updated all classes within the UnboundID SCIM 2 SDK to utilize
@Nullable
and@NotNull
annotations for all non-primitive input parameters, member variables, and return values. These annotations are designed to assist with the following:- Help provide insight when invoking SCIM SDK library methods
- Help interface with languages like Kotlin (which has built-in null types for variables)
- Help applications become less prone to nullability errors.
Furthermore, the annotations will also appear in the Javadocs. This reflects a similar pattern used by the UnboundID LDAP SDK for Java, though the fully-qualified class names of the annotations are different since they take the form of
com.unboundid.scim2.common.annotations.Nullable
. For more information on leveraging IDE analysis with these annotations, view the README. -
Resolved an issue with replace operations that set the
value
field to an empty array. For example:{ "schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ], "Operations": [ { "op": "replace", "path": "emails[type eq \"work\"]", "value": [] } ] }
When these operations are applied, the SCIM SDK now deletes all matching values of the targeted multi-valued attribute. If the
path
of the replace operation does not have a filter (type eq "work"
in the example above), then the multi-valued attribute will be deleted from the resource.