OpenAPI 3.2 is a consolidation release, which is exactly what a contract format needed. The 3.0-to-3.1 jump did the disruptive work — full alignment with JSON Schema draft 2020-12, top-level webhooks, and a sane null model — and 3.2 tightened the edges. If your documents are still 3.0.3, the migration is small in mechanical terms and large in correctness, especially once you start describing streams and feeding specs to code generators and MCP servers.
This is a practitioner's summary: what actually changes in your YAML, what breaks in old tooling, and how to document server-sent events properly.
1. JSON Schema alignment stops the dialect wars
In 3.0, OpenAPI's subset of JSON Schema diverged from the standard — nullable: true, a bespoke exclusiveMinimum boolean, no $id, no oneOf-before-properties semantics. Validators disagreed, generators disagreed, and any schema library needed an "OpenAPI mode."
Since 3.1, an OpenAPI Schema Object is a JSON Schema 2020-12 object
Discussion
Say something first
It all starts with you—share your thoughts now.