Skip to content

docs: MIGRATION.md notes from a downstream (springdoc-openapi) migration - #5363

Merged
daniel-kmiecik merged 2 commits into
swagger-api:3.0.0from
bnasslahsen:docs/jackson3-migration-notes
Oct 26, 2026
Merged

daniel-kmiecik merged 2 commits into
swagger-api:3.0.0from
bnasslahsen:docs/jackson3-migration-notes

Conversation

@bnasslahsen

Copy link
Copy Markdown

Pull Request

Description

These are points that cost time while porting springdoc-openapi to Swagger Core 3.0 (feedback in #4991), added to
MIGRATION.md. The change is documentation only, in one file.

  • commons-lang3 is no longer brought by Swagger Core (refactor: drop commons-lang3 dependency #5323). springdoc-openapi had about 90 compile errors
    until it declared the dependency itself.
  • SwaggerAnnotationIntrospector subclasses: its methods take a MapperConfig<?> first parameter. An override
    with the 2.x signature and no @Override still compiles, and is silently never called.
  • Generated schemas and DETECT_PARAMETER_NAMES: constructor parameters without a matching getter or field
    become writeOnly schema properties. The example is verified against the 3.0.0 branch.
  • Mappers outside ObjectMapperFactory silently drop $ref, $id, $schema… from Swagger models, because of
    Jackson 3's accessor naming. springdoc-openapi lost the $refs of a user-provided OpenAPI bean this way.
  • Two migration checklist entries.

Fixes:

Type of Change

  • 🐛 Bug fix
  • ✨ New feature
  • ♻️ Refactor (non-breaking change)
  • 🧪 Tests
  • 📝 Documentation
  • 🧹 Chore (build or tooling)

Checklist

  • I have added/updated tests as needed: not applicable
  • I have added/updated documentation where applicable
  • The PR title is descriptive
  • The code builds and passes tests locally: not applicable, documentation only
  • I have linked related issues (if any): [Feature] Support Jackson 3.x release line #4991

- commons-lang3 is no longer brought by Swagger Core (swagger-api#5323).
- SwaggerAnnotationIntrospector methods take a MapperConfig<?> first
  parameter; overrides with the 2.x signature compile but are no longer
  called.
- DETECT_PARAMETER_NAMES adds writeOnly properties to generated schemas
  for constructor parameters without a matching getter or field.
- Mappers created outside ObjectMapperFactory silently drop $ref, $id,
  $schema... from Swagger models.

See swagger-api#4991.

Signed-off-by: Badr NASS LAHSEN <badr.nasslahsen@gmail.com>
@daniel-kmiecik
daniel-kmiecik merged commit 5086388 into swagger-api:3.0.0 Oct 26, 2026
8 checks passed
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.

2 participants