Skip to content
plaintextmlAI research & developer tools
← All developer changes

NumPy / breaking change

NumPy 2.0 breaks the 1.x binary ABI and removes legacy APIs

NumPy 2.0 introduced the project’s first major ABI break since the 1.x line, so extension binaries built against NumPy 1.x may fail to import under 2.0. It also removed old Python and C APIs and adopted new type-promotion behavior, creating migration work even for some projects without compiled code.

Affected product / version
NumPy 2.0 ABI and APIs
Announced
Effective
Source checked

Checked against the linked documentation on 2026-09-07. Recheck the vendor documentation before acting.

What to check in your application

PlaintextML interpretation of the documented change:

  • Projects shipping C, Cython, or other NumPy-linked extensions should rebuild wheels against NumPy 2.x and test those wheels with both NumPy 1.26 and 2.x where dual-runtime support is intended.
  • Python code should run the NPY201 Ruff migration rule and then test numerical behavior, especially mixed-dtype operations, removed aliases, Windows integer defaults, and code that relied on private namespaces.

Limits and uncertainty

The impact depends on whether a project imports compiled extensions and which removed or behavior-changing APIs it uses; pure-Python consumers may see no ABI failure. NumPy’s compatibility guidance supports dual-runtime wheels, but downstream build systems and bundled third-party binaries still require their own validation.

Official sources

Revision history

  • — Initial record added after checking the linked official documentation; migration checks are editorial interpretation.

Found a problem? Keep the record URL, the claim that needs changing, and the supporting primary source together when reporting it to the publisher.