This guide contains instructions for migration from PowerAuth Push Server version 1.4.x
to version 1.5.x
.
The PowerAuth Server was upgraded to Spring Boot 3, Spring Framework 6, and Hibernate 6. It requires Java 17 or newer.
Remove this property.
spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults=false
Make sure that you use dialect without version.
# spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect
# spring.jpa.database-platform=org.hibernate.dialect.OracleDialect
When sending a push notification or batch of notifications, it is now possible to specify an additional mode
parameter. The parameter specifies if the request processing should wait for sending all push notifications (SYNCHRONOUS
, default value), or if the request processing should return value immediately (ASYNCHRONOUS
). When ASYNCHRONOUS
mode is specified, the response object does not include the number of sent, failed, pending and total messages.
{
"requestObject": {
"appId": "mobile-app",
"mode": "SYNCHRONOUS",
"message": {
"userId": "test-user",
"priority": "NORMAL",
"body": {
"title": "Some title",
"body": "Some message body",
"sound": "default"
}
}
}
}
{
"status": "OK",
"responseObject": {
"mode": "SYNCHRONOUS",
"ios": {
"sent": 1,
"failed": 0,
"pending": 0,
"total": 1
},
"android": {
"sent": 2,
"failed": 0,
"pending": 0,
"total": 2
}
}
}
{
"requestObject": {
"appId": "mobile-app",
"mode": "ASYNCHRONOUS",
"message": {
"userId": "test-user",
"priority": "NORMAL",
"body": {
"title": "Some title",
"body": "Some message body",
"sound": "default"
}
}
}
}
{
"status": "OK",
"responseObject": {
"mode": "ASYNCHRONOUS"
}
}
Migration guide to PowerAuth Push Server 1.3.0 was not clear enough about changing application ID from number to string,
so you may miss the unique index push_app_credentials(app_id)
.
Please double-check its presence and add it if needed.
-- reintroduce the unique index
CREATE UNIQUE INDEX push_app_cred_app ON push_app_credentials(app_id);
Inbox table is missing not null constraint for inbox_id
.
alter table push_inbox alter column inbox_id set not null;
alter table push_inbox modify inbox_id not null;
Since version 1.5.0
, MySQL database is not supported anymore.
PostgreSQL JDBC driver is already included in the WAR file. Oracle JDBC driver remains optional and must be added to your deployment if desired.