Skip to content

Update module github.com/deepmap/oapi-codegen/v2 to v2.6.0#221

Open
renovate[bot] wants to merge 1 commit intomasterfrom
renovate/github.com-deepmap-oapi-codegen-v2-2.x
Open

Update module github.com/deepmap/oapi-codegen/v2 to v2.6.0#221
renovate[bot] wants to merge 1 commit intomasterfrom
renovate/github.com-deepmap-oapi-codegen-v2-2.x

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate bot commented Jun 4, 2024

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
github.com/deepmap/oapi-codegen/v2 v2.1.0v2.6.0 age confidence

Release Notes

deepmap/oapi-codegen (github.com/deepmap/oapi-codegen/v2)

v2.6.0: : 7th anniversary release 🎂

Compare Source

For those that aren't aware, 7 years ago to the day, oapi-codegen was born!

(Well, technically it's tonight at midnight UTC, but who's splitting hairs?)

There's nothing too special planned for today, but we thought it'd be the perfect time to cut a slice of cake a release!

🎉 Notable changes

New generated code requires oapi-codegen/runtime v1.2.0+

As part of #​2256, github.com/oapi-codegen/runtime v1.2.0 is needed alongside github.com/oapi-codegen/oapi-codegen, for new generated code.

This is providing a more future-proofed means to bind parameters.

See the release notes for the runtime package, and #​2256 for more information.

oapi-codegen was part of the GitHub Secure Open Source Fund

oapi-codegen was one of the projects taking part in the third GitHub Secure Open Source Fund session.

We've written up more about what we've learned, and have some more things to share with you over the coming months about lessons we've learned and improvements we've taken that we can share.

We were pretty chuffed to be selected, and it's already helped improve our security posture as a project, which is also very important for the wider ecosystem!

go directive bump in next release

Long-time users will be aware that we work very hard to try and keep our requirement for Go source compatibility, through the go directive, especially as we recommend folks use oapi-codegen as a source-tracked dependency.

For more details about this, see our Support Model docs.

In the next minor release, we'll be setting our minimum go directive to Go 1.24 (End-of-Life on 2026-02-11), as it's required for a number of dependencies of ours to be updated any higher, and a change to the module import path for Speakeasy's OpenAPI Overlay library requires us fix this centrally for our users to be able to continue updating their libraries.

[!NOTE]
Nothing is changing as part of v2.6.0, this is a pre-announcement for v2.7.0.

Behind the scenes cleanup

There's also been some work behind-the-scenes to try and clean up outstanding issues (of which we know there are many!) that have been fixed, as well as Marcin's work on trying to do some more significant rework of the internals with help from Claude.

There's still, as ever, work to go with this - as we've mentioned before, sponsoring our work would be greatly appreciated, so we can continue to put in the work, considering this is a widely used and depended on project.

🚀 New features and improvements

🐛 Bug fixes

📝 Documentation updates

👻 Maintenance

📦 Dependency updates

8 changes
  • chore(deps): update module github.com/golangci/golangci-lint to v2.10.1 (makefile) (#​2153) @​renovate[bot]
  • chore(deps): update github/codeql-action action to v4.32.4 (.github/workflows) (#​2157) @​renovate[bot]
  • chore(deps): update actions/setup-go action to v6.3.0 (.github/workflows) (#​2164) @​renovate[bot]
  • chore(deps): update actions/checkout action to v6 (.github/workflows) - autoclosed (#​2165) @​renovate[bot]
  • chore(deps): update release-drafter/release-drafter action to v6.2.0 (.github/workflows) (#​2253) @​renovate[bot]
  • chore(deps): update actions/upload-artifact action to v7 (.github/workflows) (#​2254) @​renovate[bot]
  • chore(deps): update dessant/label-actions action to v5 (.github/workflows) (#​2255) @​renovate[bot]
  • chore(deps): update release-drafter/release-drafter action to v6.1.0 (.github/workflows) (#​2132) @​renovate[bot]

Sponsors

We would like to thank our sponsors for their support during this release.

DevZero logo

Cybozu logo

v2.5.1: : fix a couple of regressions from v2.5.0

Compare Source

🐛 Bug fixes

📝 Documentation updates

👻 Maintenance

Renovate configuration changes

📦 Dependency updates

9 changes

Sponsors

We would like to thank our sponsors for their support during this release.

DevZero logo

Speakeasy logo

Elastic logo

Cybozu logo

Livepeer logo

v2.5.0: : No more optional pointers (optionally), omitzero, better control over initialisms, and so much more!

Compare Source

v2.5.0: No more optional pointers (optionally)!

🎉 Notable changes

Begone optional pointers! (optionally)

One of the key things oapi-codegen does is to use an "optional pointer", following idiomatic Go practices, to indicate that a field/type is optional.

This can be tuned on a per-field basis, using the x-go-type-skip-optional-pointer extension, but it can be a bit repetitive, or can be more complex when using an OpenAPI Overlay.

As of oapi-codegen v2.5.0, this can be tuned in two specific ways, via the following Output Options:

  • prefer-skip-optional-pointer: a global default that you do not want the "optional pointer" generated. Optional fields will not have an "optional pointer", and will have an omitempty JSON tag
  • prefer-skip-optional-pointer-with-omitzero: when used in conjunction with prefer-skip-optional-pointer, any optional fields are generated with an omitzero JSON tag. Requires Go 1.24+

In both cases, there is control on a per-field level to set x-go-type-skip-optional-pointer: false or x-omitzero: false to undo these to field(s).

[!NOTE]
The default is not changing.

We take care to avoid breaking changes so this is, as many changes, an opt-in.

See Globally skipping the "optional pointer" for more details.

Generating omitzero JSON tags, with x-omitzero

Related to the above functionality, it is possible to define the OpenAPI extension x-omitzero on fields to generate the omitzero JSON tag, based on the (now not-so-new) Go 1.24 release.

Thanks to @​lzap for the contribution 🚀

[!NOTE]
oapi-codegen does not currently validate the Go version that the module it's generating code for.

This could lead to the omitzero JSON tag being generated, but not being actually usable.

Ensure that you're using a Go 1.24+ version, and that your go directive (for source compatibility) is go 1.24 or i.e. go 1.24.1

Using OpenAPI 3.1 with oapi-codegen

There's some promising behind-the-scenes discussions with may lead to OpenAPI 3.1 support (#​373) coming in the not-too-distant future 👀

In the meantime, Jamie (one of the Core Maintainers) has written a blog post about how to use oapi-codegen with OpenAPI 3.1 specs (by downgrading them to OpenAPI 3.0).

Defining your own initialisms

As a means to define your own custom initialisms, it's possible to use the additional-initialisms Output Option.

Thanks @​micaelmalta for the contribution 🚀

If your organisation uses a lot of TLAs (Two Letter Acronyms or Three Letter Acronyms) or any other sorts of initialisms, it's handy to be able to configure these yourself.

For instance, if you regularly use the term CSP to refer to Cloud Service Provider, you may want CSP to be used in variable names.

This makes it possible to define i.e.

# ...
output-options:
  name-normalizer: ToCamelCaseWithInitialisms
  additional-initialisms:
    - CSP

[!NOTE]
This only works when the name-normaliser Output Option is set to ToCamelCaseWithInitialisms. An error will occur if you've not configured this correctly.

Minimum version of Go needed for oapi-codegen is now 1.22.5

As part of a couple of updates in #​1888 and #​1986, we're now requiring Go >= 1.22.5.

Similar to the bump to Go 1.21 in v2.4.0

Notable background work

Since the last oapi-codegen release (all the way in September 2024 🥲) the following big changes towards the project and its ecosystem have been:

🚀 New features and improvements

🐛 Bug fixes

📝 Documentation updates

👻 Maintenance

📦 Dependency updates

13 changes

Sponsors

We would like to thank our sponsors for their support during this release.

DevZero logo

Speakeasy logo

Elastic logo

Cybozu logo

Livepeer logo

New contributors

We had 16 new contributors in this release, thanks folks 🚀

v2.4.1: : A couple of post-release fixes

Compare Source

🐛 Bug fixes
📝 Documentation updates
👻 Maintenance
Sponsors

We would like to thank our sponsors for their support during this release.

DevZero logo

Speakeasy logo

Elastic logo

Cybozu logo

v2.4.0: : OpenAPI Overlay, improved import-mapping functionality, and a whole host of other great things 🚀

Compare Source

🎉 Notable changes
Modifying the input OpenAPI Specification, without needing to modify it directly

Prior to oapi-codegen v2.4.0, users wishing to override specific configuration, for instance taking advantage of extensions such as x-go-type would need to modify the OpenAPI specification they are using.

In a lot of cases, this OpenAPI specification would be produced by a different team to the consumers (or even a different company) and so asking them to make changes like this were unreasonable.

This would lead to the API consumers needing to vendor the specification from the producer (which is our recommendation anyway) and then make any number of local changes to the specification to make it generate code that looks reasonable.

However, in the case that a consumer would update their specification, they would likely end up with a number of merge conflicts.

Now, as of oapi-codegen v2.4.0, it is now possible to make changes to the input OpenAPI specification without needing to modify it directly.

This takes advantage of the OpenAPI Overlay specification, which is a stable specification.

We're very excited for y'all to be able to take advantage of this, and to be able to manipulate complex specifications you don't have control over.

Using a single package, with multiple OpenAPI spec for a given package

Since oapi-codegen v2.4.0, it is now possible to split large OpenAPI specifications into the same Go package, using the "self" mapping (denoted by a -) when using Import Mapping.

This is an improvement on the previous model, which would require splitting files across multiple packages.

This should improve the ability to use a multi-file OpenAPI specification.

Reverting a breaking change to Strict servers using text/plain

Changes in oapi-codegen#1132 had unintended side effects, and so we have reverted this.

This will be a breaking change to anyone who had pulled in this change, since it landed in v1.13.1.

Minimum version of Go needed for oapi-codegen is now 1.21

Does what it says on the tin.

This was required for a new dependency, and given Go 1.21 is now End-of-Life, this isn't too bad a requirement, without requiring folks unnecessarily bump their minimum supported version higher.

Starting work towards the OpenSSF Best Practices badge

As a means to better understand the compliance of oapi-codegen with OpenSSF's Best Practices guide, we've started work towards the "passing" badge.

OpenSSF Best Practices

This gives us some insight into where we have gaps, and makes it known for our users, too.

PR Builds now have required status checks

Previously, PR builds did not have a required status check.

Although as maintainers we would only merge changes after the CI checks had passed, this now gives us - and you as our users - greater confidence in the stability of the project.

Previously raised PRs - before 2024-09-20 - will need to merge in the latest changes in main before these status checks will pass.

🚀 New features and improvements
🐛 Bug fixes
📝 Documentation updates

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot added the dependency label Jun 4, 2024
@renovate renovate bot force-pushed the renovate/github.com-deepmap-oapi-codegen-v2-2.x branch from 27cff81 to a770119 Compare June 6, 2024 22:09
@renovate renovate bot changed the title Update module github.com/deepmap/oapi-codegen/v2 to v2.2.0 Update module github.com/deepmap/oapi-codegen/v2 to v2.3.0 Jun 6, 2024
@renovate
Copy link
Copy Markdown
Contributor Author

renovate bot commented Jun 6, 2024

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: go.sum
Command failed: go get -t ./...
go: module github.com/deepmap/oapi-codegen/v2@v2.6.0 requires go >= 1.22.5; switching to go1.25.8
go: github.com/deepmap/oapi-codegen/v2@v2.6.0: parsing go.mod:
	module declares its path as: github.com/oapi-codegen/oapi-codegen/v2
	        but was required as: github.com/deepmap/oapi-codegen/v2

@renovate renovate bot force-pushed the renovate/github.com-deepmap-oapi-codegen-v2-2.x branch from a770119 to a23334d Compare September 20, 2024 22:56
@renovate renovate bot changed the title Update module github.com/deepmap/oapi-codegen/v2 to v2.3.0 Update module github.com/deepmap/oapi-codegen/v2 to v2.4.0 Sep 20, 2024
@renovate renovate bot force-pushed the renovate/github.com-deepmap-oapi-codegen-v2-2.x branch from a23334d to f61182a Compare September 28, 2024 13:36
@renovate renovate bot changed the title Update module github.com/deepmap/oapi-codegen/v2 to v2.4.0 Update module github.com/deepmap/oapi-codegen/v2 to v2.4.1 Sep 28, 2024
@renovate renovate bot force-pushed the renovate/github.com-deepmap-oapi-codegen-v2-2.x branch from f61182a to 0c3ebe0 Compare July 15, 2025 19:14
@renovate renovate bot changed the title Update module github.com/deepmap/oapi-codegen/v2 to v2.4.1 Update module github.com/deepmap/oapi-codegen/v2 to v2.5.0 Jul 15, 2025
@renovate renovate bot force-pushed the renovate/github.com-deepmap-oapi-codegen-v2-2.x branch from 0c3ebe0 to 5dbf2c4 Compare November 1, 2025 17:35
@renovate renovate bot changed the title Update module github.com/deepmap/oapi-codegen/v2 to v2.5.0 Update module github.com/deepmap/oapi-codegen/v2 to v2.5.1 Nov 1, 2025
@renovate renovate bot force-pushed the renovate/github.com-deepmap-oapi-codegen-v2-2.x branch from 5dbf2c4 to 6f3050a Compare February 27, 2026 12:42
@renovate renovate bot changed the title Update module github.com/deepmap/oapi-codegen/v2 to v2.5.1 Update module github.com/deepmap/oapi-codegen/v2 to v2.6.0 Feb 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants