Skip to content

Fork for pb-universe: networknt 3.x / Jackson 3 + io.github.productboardlabs release - #1

Merged
njuro merged 3 commits into
masterfrom
networknt-3x
Jul 29, 2026
Merged

Fork for pb-universe: networknt 3.x / Jackson 3 + io.github.productboardlabs release#1
njuro merged 3 commits into
masterfrom
networknt-3x

Conversation

@njuro

@njuro njuro commented Jul 28, 2026

Copy link
Copy Markdown

Productboard fork of openapi-request-validator so pb-universe can run OpenAPI request validation on networknt json-schema-validator 3.x / Jackson 3, alongside the MCP / Spring AI 2.0 stack (which forces networknt 3.x). Upstream is effectively unmaintained (atlassian/openapi-request-validator#24 — the fix — is a stalled external draft with no maintainer left to merge).

Commits

  1. Build against networknt 3.x (cherry-picked from upstream PR Build against networknt json-schema-validator 3.x atlassian/openapi-request-validator#24, author @stefanobaghino): networknt 3.x replaced its Jackson 2 node API with Jackson 3 and dropped the getSchema(com.fasterxml…JsonNode) overloads this library called. Feeds schema + instance to networknt as JSON text via InputFormat.JSON; custom Format validators move to Jackson 3 nodes. com.atlassian.oai.validator.* public API unchanged. networknt 2.0.13.0.4.
  2. Prepare productboardlabs release: retarget coordinates com.atlassian.oaiio.github.productboardlabs, version 3.0.1-pb.1, SCM/url → this fork, and add central-publishing-maven-plugin (publishingServerId=central, autoPublish=true).

Verified

openapi-request-validator-core builds green — 90 tests, 0 failures on networknt 3.0.4 (incl. the networknt-3.x probe tests). openapi-request-validator-spring-webmvc packages cleanly under the new coordinates.

Release (manual, per DEPLOYMENT.md)

mvn clean deploy → publishes io.github.productboardlabs:openapi-request-validator-spring-webmvc:3.0.1-pb.1 to Maven Central (needs GPG key + Sonatype "Stargate" token). pb-universe then swaps com.atlassian.oai:swagger-request-validator-spring-webmvc:3.0.0 → the fork coordinate (note artifact rename swagger-openapi-; Java package com.atlassian.oai.validator.* is unchanged).

stefanobaghino and others added 3 commits June 18, 2026 06:55
networknt 3.x replaced its Jackson 2 node API with Jackson 3 and removed the
getSchema/validate(JsonNode) overloads this library called, so consumers that
put networknt 3.x on the classpath hit NoSuchMethodError when the first schema
is compiled. Feed networknt JSON text via its InputFormat.JSON entry points,
move the custom Format validators to Jackson 3 nodes, and pin the Jackson 3 BOM
to the version networknt depends on. The public API is unchanged.

One behaviour change: a value beyond Double.MAX_VALUE is now rejected as a type
error ("number expected") rather than reaching the custom double-format
validator. The value is still rejected.

Refs atlassian#21
….1-pb.1)

Retarget coordinates com.atlassian.oai -> io.github.productboardlabs across
all reactor modules and set version 3.0.1-pb.1, point SCM/url at the fork,
and add the Sonatype central-publishing-maven-plugin (publishingServerId=central,
autoPublish=true) mirroring productboardlabs/jackson-kafka-avro-serializer so
`mvn clean deploy` publishes to Maven Central.

Builds on top of the networknt 3.x migration (PR atlassian#24) so swagger/OpenAPI request
validation is compatible with Jackson 3 / networknt 3.x.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants