Skip to content

feat #37: support spring boot 4 - #36

Merged
michal-rozehnal-w merged 16 commits into
developfrom
import-issues/2088-Support-Spring-Boot-4
Jun 19, 2026
Merged

feat #37: support spring boot 4#36
michal-rozehnal-w merged 16 commits into
developfrom
import-issues/2088-Support-Spring-Boot-4

Conversation

@michal-rozehnal-w

@michal-rozehnal-w michal-rozehnal-w commented Jun 18, 2026

Copy link
Copy Markdown
Member

🤖
PR migrated from wultra/powerauth-webflow#2092

Closes

Closes #37

@vita-kotacka vita-kotacka left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 Reviewed the Spring Boot 4 / Jackson 3 migration. Built locally (mvn clean test, Java 21): BUILD SUCCESS, 109 tests pass. No blocking issues — nicely scoped migration. A few non-blocking items to confirm:

Confirm before merge

  1. SNAPSHOT dependencieswultra-core, powerauth, and powerauth-crypto are all 2.2.0-SNAPSHOT. The release will be gated until those are published as GA.
  2. OperationPersistenceService — the new mapper uses changeDefaultPropertyInclusion(NON_EMPTY, NON_EMPTY), which also applies NON_EMPTY to content (map/collection values). The previous setSerializationInclusion(NON_EMPTY) only set value-level inclusion. Since this mapper serializes data persisted to the DB (operation form data, params, steps), please confirm the stricter content filtering is intended.
  3. WebApplicationConfignew JacksonJsonHttpMessageConverter((JsonMapper) objectMapper) relies on the objectMapper bean always being a JsonMapper; if that bean is ever changed to a plain ObjectMapper it becomes a startup ClassCastException. Consider typing the bean as JsonMapper.

Nits (optional)

  • Missing trailing newline at EOF in NextStepClientException.java and CHANGELOG.md.
  • The @JsonSetter(nulls = Nulls.SKIP) null-handling is unit-tested for the Map case (OperationFormFieldAttributeFormattedTest) but not for the List fields (e.g. GetOperationDetailResponse.steps/history/afsActions); a single assertion there would close the gap.

Nicely done: correct use of Jackson 3 defaults (dropped redundant FAIL_ON_UNKNOWN_PROPERTIES / WRITE_DATES_AS_TIMESTAMPS / JavaTimeModule), consistent @JsonSetter(nulls = SKIP) on final collections, and annotations correctly kept in com.fasterxml.jackson.annotation.

@vita-kotacka vita-kotacka changed the title Import issues/2088 support spring boot 4 feat #37: support spring boot 4 Jun 18, 2026
@michal-rozehnal-w

Copy link
Copy Markdown
Member Author

🤖 Reviewed the Spring Boot 4 / Jackson 3 migration. Built locally (mvn clean test, Java 21): BUILD SUCCESS, 109 tests pass. No blocking issues — nicely scoped migration. A few non-blocking items to confirm:

Confirm before merge

  1. SNAPSHOT dependencieswultra-core, powerauth, and powerauth-crypto are all 2.2.0-SNAPSHOT. The release will be gated until those are published as GA.
  2. OperationPersistenceService — the new mapper uses changeDefaultPropertyInclusion(NON_EMPTY, NON_EMPTY), which also applies NON_EMPTY to content (map/collection values). The previous setSerializationInclusion(NON_EMPTY) only set value-level inclusion. Since this mapper serializes data persisted to the DB (operation form data, params, steps), please confirm the stricter content filtering is intended.
  3. WebApplicationConfignew JacksonJsonHttpMessageConverter((JsonMapper) objectMapper) relies on the objectMapper bean always being a JsonMapper; if that bean is ever changed to a plain ObjectMapper it becomes a startup ClassCastException. Consider typing the bean as JsonMapper.

Nits (optional)

  • Missing trailing newline at EOF in NextStepClientException.java and CHANGELOG.md.
  • The @JsonSetter(nulls = Nulls.SKIP) null-handling is unit-tested for the Map case (OperationFormFieldAttributeFormattedTest) but not for the List fields (e.g. GetOperationDetailResponse.steps/history/afsActions); a single assertion there would close the gap.

Nicely done: correct use of Jackson 3 defaults (dropped redundant FAIL_ON_UNKNOWN_PROPERTIES / WRITE_DATES_AS_TIMESTAMPS / JavaTimeModule), consistent @JsonSetter(nulls = SKIP) on final collections, and annotations correctly kept in com.fasterxml.jackson.annotation.

Thank you, I fixed the mentioned issues.
For the 1. - it is ok because next release will be 2.2
For the 2. - it should be ok, since DB is used only in scope of this application, other interactions are done via REST API

@michal-rozehnal-w
michal-rozehnal-w merged commit 11d223d into develop Jun 19, 2026
4 checks passed
@michal-rozehnal-w
michal-rozehnal-w deleted the import-issues/2088-Support-Spring-Boot-4 branch June 19, 2026 07:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support Spring Boot 4

2 participants