Migration from 1.5.0 to 1.6.0
This guide contains instructions for migration from User Data Store version 1.5.x to version 1.6.0.
Database Changes
For convenience, you can use liquibase for your database migration.
The main Liquibase script is located in path ./docs/db/changelog/db.changelog-master.xml.
For manual changes use SQL scripts:
audit_log Table
Added a new indexed column subject_id holding an identifier linking the audit record to an entity it is related to (e.g. user ID for user-related audit records).
The auditing tables may be already updated in your database schema if the database schema is not separated for different PowerAuth applications. In case the column audit_log.subject_id and its index audit_log_subject_id_idx are already present, you can safely skip this migration step.
REST API Changes
GET /documents Filtering
The GET /documents endpoint now supports two additional optional query parameters used to filter the returned documents:
documentType- return only documents of the given document type.attributes- return only documents whoseattributesmap contains all of the given key-value pairs. The parameter accepts entries in the formkey:valueand can be repeated (e.g.attributes=status:active&attributes=category:contract).
Both parameters are optional and can be combined. When neither is provided, the endpoint behaves as in previous versions and returns all documents.
Java Client Changes
Breaking: UserDataStoreClient.fetchDocuments Signature Changed
The overloaded methods fetchDocuments(String userId, String documentId) have been replaced with a single method accepting a request object:
DocumentResponse fetchDocuments(DocumentGetRequest request) throws UserDataStoreClientException;
Use DocumentGetRequest.builder() to construct the request:
// Before
client.fetchDocuments("alice", documentId);
// After
client.fetchDocuments(DocumentGetRequest.builder()
.userId("alice")
.documentId(documentId)
.build());
The new DocumentGetRequest also supports documentType and attributes fields for filtering.
Dependency Updates
Docker Base Image Upgrade
The Docker base image has been upgraded from ibm-semeru-runtimes:open-21.0.9_10-jre-noble (OpenJDK 21) to ibm-semeru-runtimes:open-jdk-25.0.3.0-jre-noble (OpenJDK 25).
No action is required.
Spring Boot 4 and Jackson 3
User Data Store has been migrated to Spring Boot 4 and Jackson 3.