Skip to content

Releases: pingidentity/scim2

UnboundID SCIM 2 SDK 3.0.0

03 Oct 23:09
Compare
Choose a tag to compare

We have just released version 3.0.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:

  • Removed support for Java 8. The UnboundID SCIM 2 SDK now requires Java 11 or a later release.

  • Migrated javax.* namespaces to use Jakarta EE. Since Oracle has given stewardship of the Java EE project to Eclipse, this change facilitates the usage of these libraries under the Jakarta name, which provides better integration with projects such as Spring Boot 3.0. If your project uses components from JAX-RS or Jersey related to the SCIM SDK, then these references must be updated to match the new method definitions. For example, any code that creates a javax.ws.rs.client.WebTarget before passing it to the SCIM SDK will need to provide a jakarta.ws.rs.client.WebTarget instead. To support this change, the following project dependencies were also upgraded:

    • Updated javax.xml.bind-api to jakarta.xml.bind-api version 4.0.
    • Updated javax.ws.rs-api to jakarta.ws.rs-api version 3.1.0
    • Updated javax.annotation-api to jakarta.annotation-api version 2.1.1
    • Updated Jersey from 2.39.1 to 3.1.3
  • Overhauled many of the class-level Javadocs in the scim2-sdk-common package. This provides better descriptions for SCIM entities, SDK-specific constructs (e.g., ScimResource), and more background on SCIM conventions such as filtering. The new documentation also provides better descriptions for how certain classes in the SDK should be used, such as the Filter class.

  • Added new constructors for some exception types involving the scimType field. This field is empty in many cases, so these new constructors set the scimType value to be null with the goal of simplifying the process of creating exceptions.

  • Added support for patch operations of type ADD that contain a value selection filter in the path, e.g.,
    emails[type eq "work"].value. This type of request is used by some SCIM service providers to append extra data for multi-valued attributes such as emails or addresses.

  • Removed deprecated methods in PatchOperation.java and GenericScimResource.java that utilized multi-valued boolean arrays.

SCIM 2 SDK 2.4.0

28 Jul 21:02
Compare
Choose a tag to compare

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 to user.setEmails(email). Note that the existing methods are still available and have not been deprecated. Other examples include BaseScimResource.setSchemaUrns(), GenericScimResource.addStringValues(), PatchOperation.addDoubleValues(), and the PatchRequest constructor.

  • Updated the schema URNs field of BaseScimResource to use a LinkedHashSet instead of a generic HashSet. 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() and getBooleanValueList() on the GenericScimResource and PatchOperation 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 a replace operation type rather than an add.

  • Fixed an issue where AttributeDefinition.toString() would not print the mutability of an attribute.

  • Added a type field to the Member 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 of members are all immutable.

  • Fixed an issue where calling ObjectMapper.copy() would fail for object mappers that were created with JsonUtils.createObjectMapper().

SCIM 2 SDK 2.3.8

17 May 21:28
Compare
Choose a tag to compare

We have just released version 2.3.8 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 the deserialized form of ListResponse objects so that the itemsPerPage and startIndex fields are listed at the top with totalResults. This matches the form of ListResponses shown in RFC 7644.
  • Updated the PatchOperation class to accept operation types where the first letter is capitalized, e.g., "Add". This makes the SDK more permissive of operation types that violate RFC 7644, which is a known problem with Azure Active Directory as a SCIM client.
  • Updated the Jackson and jackson-databind dependencies to 2.14.2.
  • Updated the jersey dependency to 2.39.1 to address a ClassCastException error.

SCIM 2 SDK 2.3.7

08 Sep 16:46
Compare
Choose a tag to compare

Changes In This Release

  • Added ParserOptions class, which may be used to extend the set of characters allowed in filtered
    attribute names.
  • Updated the TestNG dependency to 7.4.0 and corrected its scope from the default 'compile' to 'test'.

SCIM 2 SDK 2.3.6

14 Jun 18:19
Compare
Choose a tag to compare

This release updates the jackson-databind dependency to 2.10.5.1.

SCIM 2 SDK 2.3.5

25 Aug 17:28
Compare
Choose a tag to compare

This release updates the guava version to 29.0-jre which includes the latest known security fixes.

This release and future releases of the SCIM SDK require Java 8 or greater. Java 7 is no longer supported.

SCIM 2 SDK 2.3.4

16 Jun 18:57
Compare
Choose a tag to compare

This release contains a security-related change.

  • Fix possible template variable injection within search parameters and returned resource location URLs.

SCIM 2 SDK 2.3.2

07 Oct 19:51
Compare
Choose a tag to compare

This release updates the jackson-databind version to 2.9.10 which includes the latest known security fixes.

SCIM 2 SDK 2.3.1

16 Aug 15:20
Compare
Choose a tag to compare

This release updates the jackson-databind version to 2.9.9.3, which includes a number of security fixes.

SCIM 2 SDK 2.3.0

05 Aug 16:58
Compare
Choose a tag to compare

Serialization and deserialization code for the SCIM 2 DateTime type has been revamped in this release to rely on JAXB rather than deprecated APIs in Jackson. A DateTimeUtils class has been added to perform conversions between SCIM 2 DateTime strings and Java Date and Calendar objects. The ScimDateFormat class is now deprecated and should not be used.

Other fixes and enhancements in this release:

  • The build no longer produces multiple Version classes.
  • A GroupResource POJO class is now provided for working with SCIM Group resources.
  • The ListResponse#getTotalResults() method has been updated to return a value of type int rather than long.
  • Changed the mutability value of the UserResource "groups" attribute to 'readOnly' for conformance with RFC 7643.