SCIM 2 SDK 2.4.0
We have just released version 2.4.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:
-
Fixed an issue with PatchOperations that prevented setting the
value
field to an empty array. The constructor would previously reject this kind of operation with a BadRequestException. -
Added a variety of methods for providing multi-valued parameters without needing to wrap the arguments into a List. For example, setting a single email on a UserResource used to be done with
user.setEmails(Collections.singletonList(email))
, but this can now be shortened touser.setEmails(email)
. Note that the existing methods are still available and have not been deprecated. Other examples includeBaseScimResource.setSchemaUrns()
,GenericScimResource.addStringValues()
,PatchOperation.addDoubleValues()
, and thePatchRequest
constructor. -
Updated the schema URNs field of
BaseScimResource
to use aLinkedHashSet
instead of a genericHashSet
. This allows for a SCIM resource with multiple schema URNs to have a predictable order when the resource is deserialized into JSON. -
Deprecated methods of the form
addBooleanValues()
andgetBooleanValueList()
on theGenericScimResource
andPatchOperation
classes. These methods provided an interface for so-called "multi-valued boolean arrays", but boolean data is always single-valued in nature. Updating a boolean value should always be done with areplace
operation type rather than anadd
. -
Fixed an issue where
AttributeDefinition.toString()
would not print the mutability of an attribute. -
Added a
type
field to theMember
class as defined by RFC 7643 section 8.7.1. -
Fixed an issue with the attribute definitions of the
members
field of a GroupResource. The attribute definitions now indicate that the sub-attributes ofmembers
are all immutable. -
Fixed an issue where calling
ObjectMapper.copy()
would fail for object mappers that were created withJsonUtils.createObjectMapper()
.