Releases: Captain-P-Goldfish/SCIM-SDK
Releases · Captain-P-Goldfish/SCIM-SDK
1.18.1
1.18.0
Features server
- A new workaround for MsAzure was added that fixes illegal Patch requests with nested value-sub-nodes. see: #516. This feature must be enabled explicitly in the
PatchConfig
object of theServiceProvider
object
Bug Fixes server
- A bug was fixed that caused the update-method of a
ResourceHandler
to be executed at the end of a patch request eventhough no changes were made. This problem occured only on MultivaluedComplexTypes if no effective change was made to the resource.
Features client
- The TLS algorithm for the http-client is now set to TLS1.2 by default and is configurable. see: #517
Bug Fixes client
- Http StatusCode 204 is now accepted as valid status code. see: #519
1.17.0 / 1.17.1
Features server
- Added a post-construct method to class
ResourceHandler
that can be used to customize the initialization of the resource handlers. - Added a new method to class
ResourceHandler
that allows to identify theResourceType
based on the ref-attribute of a resource - resource IDs in URLs will now be URL-encoded/decoded
- Added a new method to class
ScimResponse
to generate ajakarta.ws.rs.core.Response
object - Added a new configuration attribute on class
ResourceType
. It is now possible to change the behaviour of the roles-attribute.- Default behaviour: all roles for an endpoint must be present for a user in order to access the endpoint. So lets say you configured the roles
user
andcreate
on a resource-type to access the create-endpoint. The user must possess both roles to be able to access this endpoint - Adjusted behaviour: If the
useOrOnRoles
-attribute is set on theResourceType
the user must only possess one of the configured roles.
- Default behaviour: all roles for an endpoint must be present for a user in order to access the endpoint. So lets say you configured the roles
- Added a new convenience method to access the original request-body from the
Context
object withinResourceHandlers
. This was done with the thought in mind that a delete request might have a request-body.
Breaking Changes
- The
get
andlist
endpoints have been separated for role-adjustments. So if you have set roles for a get-endpoint on a specific resource-type thelist
-endpoint will not be affected by it anymore. It must be set explicitly. - Custom attributes not defined by the SCIM specification on the
Schemas
resource will not be returned anymore by default from the/Schemas
endpoint. This includes attributes likeminItems, pattern, minValue
etc. Only the attributes from the SCIM spec will be returned by default.
Bug Fixes server
- A bug was fixed that caused modification of the location-attribute within the meta-attribute. This will now only happen if you did not set this attribute manually.
- Fixed a bug that caused multivalued-complex attributes to be removed from the response on create/update requests if the mutability was set to
request
Difference between 1.17.0 and 1.17.1
I simply forgot to update third party dependencies. So the release 1.17.1 is with the latest updates of third party libraries.
1.16.0
Features server
- Change some logging messages in the
JsonHelper
-class from debug to trace - the
SchemaAttributes
-methods are now public. This allows dynamic configuration changes during runtime - The
binary
type is now supported - Support ms-azure patch-notation for replace and add-operations
- Support for ms-azure patch-requests with filter-expressions. This feature must be explicitly activated.
Features client
- Make
getResource
-method inRequestBuilder
public. This can be used to easily find the corresponding request-objects of bulk-response-objects - Add several convenience methods to the BulkBuilder class
- Allow parallel handling of
BulkRequests
. The client has in inbuilt feature to split aBulkRequest
into tiny pieces by honoring themaxOperations
-value of theServiceProvider
. These tiny pieces can now be sent multithreaded. - The expected response-headers of the client can be changed. Normally the client expects to receive the response-header
Content-Type: application/scim+json
but some providers do not send this header. To prevent the response from being rejected simply override the expectedHeaders in the configuration. - Add a convenience method to add a list of values in
PatchBuilder
- Updated bouncycastle from
bcprov-jdk15on
tobcprov-jdk18on
andbcpkix-jdk15on
tobcpkix-jdk18on
Bug Fixes server
- Fix missing operations in bulk-response. If the precondition of a bulk-request failed the following response-objects were not added to the response
- Changed log-message in ResourceTypeFactory. Due to a bug in the equals-method of jackson-
JsonNode
the comparison of the objects fails and the log-message is erroneously displayed. The message was changed to debug in hope that the comparison bug will be fixed in a later version. - A Bug was fixed that caused the response to fail with HTTP 500 if the attributes or excludedAttributes parameter was used. The parameters could cause a required-attribute to be missing in the response. Required-attributes will no longer be handled as required in the response if the attributes or excludedAttributes parameter was used.
- Fixed a serious bug in bulk-requests that were introduced with version 1.15.0. If some operations did not have a bulkId it might have happened that some operations were executed twice or more often and other operations were never be processed. This was fixed by implicitly adding bulkIds to all operations that had no assigned by the client.
Bug Fixes client
- Fixed a bug that was caused if a returned bulk-response operation did not have an id. This might happen on singleton-endpoints.
1.15.3
Bug fixes
- Fixed erroenous http status code: #385
- Add a better error message in case of missing bulkIds if the bulk-request-auto-splitting-feature is used in the client implementation
- Fix permanent reloading of service provider details within the client if the bulk-request-auto-splitting-feature is used.
Maintenance
- Update dependencies
1.15.2
1.15.1
1.15.0
API Changes
- Removed a method from
ResourceEndpoint
in order to force developers to use theContext
object. - Remove NoArgsConstructor from
Context
in order to force developers to use theAuthorization
-interface - Add convenience-methods to 'BulkResponse' object
- Add documentation links to log-warning for bypassed authentication when using the
DefaultAuthentication
-object that always returnstrue
within theauthenticate
-method. - Reimplemented BulkId reference resolving to be usable with the new custom feature (simple resource references)
- Rename
blockReturnResourcesOnBulk
for service provider toreturnResourcesOnBulk
New Features
- Bulk-Get feature. See: https://github.com/Captain-P-Goldfish/SCIM-SDK/wiki/Bulk-Get-(Custom-Feature)-(@since-1.15.0)
- Simple resource references feature. See: https://github.com/Captain-P-Goldfish/SCIM-SDK/wiki/Simple-Resource-References-(Custom-Feature)-(@since-1.15.0)
- A workaround feature for SailsPoint can now be activated within the
PatchConfig
. see #327
Bug Fixes
- Delete-requests within the client module will no longer fail if the content-type header is missing within response: see #313
- Add missing custom-attribute
returnResource
toBulkRequestBuilder
in order to request resources on response see https://github.com/Captain-P-Goldfish/SCIM-SDK/wiki/Return-resources-on-Bulk-Responses - A bug was resolved that prevented to remove or replace extensions in patch requests
1.14.1
1.14.0
Features
ServiceProviderConfig
has a new property to allow case-insensitive attribute validation (This does not work not for patch requests)- the module
scim-sdk-schema-pojo-creator
was completely rebuilt and is much more powerful now. It is able to create a full start-setup now just from analyzing the createdresource-types
andresource-schemas
- The client-module does now contain a
ResourceType
representation to loadResourceTypes
from SCIM service providers
Bug Fixes
- The schema "urn:ietf:params:scim:schemas:core:2.0:Schema" will no longer be returned from the /Schemas endpoint because it was never fully returned since it was validated with itself. The meta-schema is simply not suited to be returned from the /Schemas endpoint