Skip to content

[Feature]: OpenAPI Generator v7 upgrade #469

@gcatanese

Description

@gcatanese

Feature summary

Upgrade the underlying OpenAPI Generator and regenerate the source code with the latest versions of the supported APIs

Problem statement

Our SDK generation pipeline currently relies on an outdated version of OpenAPI Generator (v6.0.1). This legacy version lacks support for critical OpenAPI Specification features and contains bugs that have been fixed in newer releases.

Warning

Currently, we cannot generate the code necessary to support Checkout, Balance Platform and Session Authentication APIs.

Motivations

Similarly to the PHP library, an upgrade is required for several key reasons:

Improved OpenAPI Feature Support: The current generator has limited support for allOf, which prevents us from correctly generating models for complex schemas. This directly impacts critical APIs, including SessionAuthentication, BalancePlatform, and Checkout. Newer versions have robust support for these features.

Access to Bug Fixes and Enhancements: We are missing out on years of improvements and bug fixes. Upgrading will improve the quality, correctness, and reliability of the generated SDK source code by leveraging the community's latest contributions.

Enable Webhook Model Automation: This upgrade is a prerequisite for automating the generation of webhook models, which is a significant goal for improving our developer experience and reducing manual effort.

Align with Other Adyen Libraries: Our other open-source libraries are also being upgraded to use newer versions of the OpenAPI Generator. Standardizing the generator version across our public SDKs provides a consistent and predictable experience for our customers and contributors, ensuring a uniform level of code quality and feature support.

Reduced Technical Debt: Staying on an old, unmaintained version creates technical debt, making future upgrades exponentially more difficult. A proactive upgrade simplifies long-term maintenance.

Action plan

Upgrade the OpenAPI Generator version in the SDK Automation Bot, revise Gradle script to ensure the code generation runs correctly.

Update all existing Mustache templates that define how the generated PHP code looks like.

Keep backward compatibility with the previous version: when this is not possible, make sure the Release Notes explain the necessary changes during the upgrade of the library.

Implement the Webhook class generation, as already done in the other libraries (Java, Node)

Regenerate the code for all supported APIs, expand and adjust unit tests

Provide comprehensive Release Notes (migration guide, see an example here)

Timeline

Q1 2026

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions