Backward compatibility

OpenAI is committed to providing stability to API users by avoiding breaking changes in major API versions whenever reasonably possible. This includes:source

  • The REST API (currently v1)
  • Our first-party SDKs (released SDKs will adhere to semantic versioning)
  • Model families (like gpt-4o or o1-mini)

Backwards-compatible changes and upgrades will be continuously delivered over time. These and any rare breaking changes will be communicated in the changelog. Here are some examples of changes which we consider to be backwards-compatible (non-breaking) changes.source

Changes in model prompting behavior between snapshotssource

Model outputs are by their nature variable, so changes in prompting and model behavior between snapshots should be expected. For example, if you moved from gpt-4o-2024-05-13 to gpt-4o-2024-08-06, the same system or user messages could function differently between versions. The best way to ensure consistent prompting behavior and model output is to use pinned model versions, and to implement evals for your applications.source

Backwards-compatible API changessource

  • Adding new resources (URLs) to the REST API and SDKs
  • Adding new optional API parameters
  • Adding new properties to JSON response objects or event data
  • Changing the order of properties in a JSON response object
  • Changing the length or format of opaque strings, like resource identifiers and UUIDs
  • Adding new event types (in either streaming or the Realtime API)