Compatibility matrix
This page documents which versions of the Infrahub Python SDK are compatible with each version of Infrahub.
Version mapping
Each Infrahub release pins a specific SDK version. Using the matching SDK version ensures full compatibility. Newer patch releases of the SDK within the same minor version are generally safe to use.
| Infrahub | Required SDK | Release date |
|---|---|---|
| 1.9.x | >= 1.20.0 | April 2026 |
| 1.8.x | >= 1.19.0 | March 2026 |
| 1.7.x | >= 1.18.1 | January 2026 |
| 1.6.x | >= 1.16.0 | December 2025 |
| 1.5.x | >= 1.15.0 | November 2025 |
| 1.4.x | >= 1.13.5 | August 2025 |
| 1.3.x | >= 1.13.0 | June 2025 |
| 1.2.x | >= 1.8.0 | March 2025 |
| 1.1.x | >= 1.3.0 | December 2024 |
| 1.0.x | >= 1.0.0 | October 2024 |
| 0.16.x | >= 0.13.1 | September 2024 |
Detailed release mapping
The table below shows the exact SDK version pinned to each Infrahub release.
| Infrahub | SDK version | Infrahub release date |
|---|---|---|
| 1.9.3 | 1.20.0 | 2026-05-05 |
| 1.9.2 | 1.20.0 | 2026-04-30 |
| 1.9.1 | 1.20.0 | 2026-04-29 |
| 1.9.0 | 1.20.0 | 2026-04-24 |
| 1.8.6 | 1.19.0 | 2026-04-21 |
| 1.8.5 | 1.19.0 | 2026-04-17 |
| 1.8.4 | 1.19.0 | 2026-04-02 |
| 1.8.3 | 1.19.0 | 2026-03-31 |
| 1.8.2 | 1.19.0 | 2026-03-25 |
| 1.8.1 | 1.19.0 | 2026-03-19 |
| 1.8.0 | 1.19.0 | 2026-03-16 |
| 1.7.7 | 1.18.1 | 2026-03-12 |
| 1.7.6 | 1.18.1 | 2026-02-25 |
| 1.7.5 | 1.18.1 | 2026-02-24 |
| 1.7.4 | 1.18.1 | 2026-02-03 |
| 1.7.3 | 1.18.1 | 2026-01-28 |
| 1.7.2 | 1.18.1 | 2026-01-27 |
| 1.7.1 | 1.18.1 | 2026-01-12 |
| 1.7.0 | 1.18.1 | 2026-01-09 |
| 1.6.3 | 1.17.0 | 2026-01-07 |
| 1.6.2 | 1.17.0 | 2025-12-22 |
| 1.6.1 | 1.17.0 | 2025-12-11 |
| 1.6.0 | 1.16.0 | 2025-12-01 |
| 1.5.5 | 1.15.1 | 2025-12-22 |
| 1.5.4 | 1.15.1 | 2025-12-16 |
| 1.5.3 | 1.15.1 | 2025-11-24 |
| 1.5.2 | 1.15.1 | 2025-11-18 |
| 1.5.1 | 1.15.1 | 2025-11-13 |
| 1.5.0 | 1.15.0 | 2025-11-10 |
| 1.4.13 | 1.13.5 | 2025-11-06 |
| 1.4.12 | 1.13.5 | 2025-10-23 |
| 1.4.11 | 1.13.5 | 2025-10-17 |
| 1.4.10 | 1.13.5 | 2025-10-01 |
| 1.4.9 | 1.13.5 | 2025-09-26 |
| 1.4.8 | 1.13.5 | 2025-09-23 |
| 1.4.7 | 1.13.5 | 2025-09-16 |
| 1.4.6 | 1.13.5 | 2025-09-10 |
| 1.4.5 | 1.14.0 | 2025-09-08 |
| 1.4.4 | 1.13.5 | 2025-09-03 |
| 1.4.3 | 1.13.5 | 2025-08-29 |
| 1.4.2 | 1.13.5 | 2025-08-28 |
| 1.4.1 | 1.13.5 | 2025-08-27 |
| 1.4.0 | 1.13.5 | 2025-08-26 |
| 1.3.9 | 1.13.5 | 2025-09-08 |
| 1.3.8 | 1.13.5 | 2025-08-26 |
| 1.3.7 | 1.13.5 | 2025-08-14 |
| 1.3.6 | 1.13.5 | 2025-08-11 |
| 1.3.5 | 1.13.5 | 2025-08-05 |
| 1.3.4 | 1.13.5 | 2025-07-24 |
| 1.3.3 | 1.13.3 | 2025-07-15 |
| 1.3.2 | 1.13.3 | 2025-06-30 |
| 1.3.1 | 1.13.2 | 2025-06-27 |
| 1.3.0 | 1.13.0 | 2025-06-12 |
| 1.2.12 | 1.12.1 | 2025-06-03 |
| 1.2.11 | 1.12.1 | 2025-05-23 |
| 1.2.10 | 1.12.1 | 2025-05-14 |
| 1.2.9 | 1.12.0 | 2025-05-07 |
| 1.2.8 | 1.12.0 | 2025-05-01 |
| 1.2.7 | 1.11.1 | 2025-04-28 |
| 1.2.6 | 1.10.2 | 2025-04-18 |
| 1.2.5 | 1.10.2 | 2025-04-12 |
| 1.2.4 | 1.10.1 | 2025-04-04 |
| 1.2.3 | 1.10.0 | 2025-04-01 |
| 1.2.2 | 1.9.2 | 2025-03-28 |
| 1.2.1 | 1.9.1 | 2025-03-26 |
| 1.2.0 | 1.8.0 | 2025-03-21 |
| 1.1.10 | 1.7.2 | 2025-04-01 |
| 1.1.9 | 1.7.2 | 2025-03-17 |
| 1.1.8 | 1.7.2 | 2025-03-08 |
| 1.1.7 | 1.7.0 | 2025-02-18 |
| 1.1.6 | 1.7.1 | 2025-01-31 |
| 1.1.5 | 1.7.0 | 2025-01-24 |
| 1.1.4 | 1.6.1 | 2025-01-17 |
| 1.1.3 | 1.6.0 | 2025-01-16 |
| 1.1.2 | 1.5.0 | 2025-01-09 |
| 1.1.1 | 1.4.0 | 2025-01-06 |
| 1.1.0 | 1.3.0 | 2024-12-30 |
| 1.0.10 | 1.1.0 | 2024-12-20 |
| 1.0.9 | 1.1.0 | 2024-12-13 |
| 1.0.8 | 1.1.0 | 2024-12-03 |
| 1.0.7 | 1.0.1 | 2024-11-20 |
| 1.0.6 | 1.0.1 | 2024-11-18 |
| 1.0.5 | 1.0.1 | 2024-11-15 |
| 1.0.4 | 1.0.1 | 2024-11-13 |
| 1.0.3 | 1.0.0 | 2024-11-08 |
| 1.0.2 | 1.0.0 | 2024-11-06 |
| 1.0.1 | 1.0.0 | 2024-10-31 |
| 0.16.4 | 0.14.0 | 2024-10-17 |
| 0.16.3 | 0.14.0 | 2024-10-10 |
| 0.16.2 | 0.13.1 | 2024-10-01 |
| 0.16.1 | 0.13.1 | 2024-09-25 |
Python version support
| SDK version | Python versions |
|---|---|
| >= 1.17.0 | 3.10, 3.11, 3.12, 3.13, 3.14 |
| 1.16.0 | 3.10, 3.11, 3.12, 3.13 |
| 1.13.0 - 1.15.x | 3.9, 3.10, 3.11, 3.12, 3.13 |
The Infrahub server requires Python 3.12 or later. The SDK supports older Python versions so it can be used from environments that do not run the server itself.
Feature-specific requirements
Some SDK features require a minimum Infrahub version:
| Feature | Minimum SDK | Minimum Infrahub |
|---|---|---|
| Bare IP address attributes | 1.23.0 | 1.11 |
| infrahubctl branch report | 1.19.0 | 1.7 |
| FileObject support | 1.19.0 | 1.8 |
| NumberPool support | 1.13.0 | 1.3 |
Bare IP address attributes
An IPHost attribute whose schema sets allow_prefix: false holds a bare address such as 10.0.0.1 rather than 10.0.0.1/32. From SDK 1.23.0 or later, reading such an attribute returns an ipaddress.IPv4Address or ipaddress.IPv6Address, and generated protocols type it as IPAddress instead of IPHost. An IPHost attribute that does not set allow_prefix is unaffected and still returns an ipaddress.IPv4Interface or ipaddress.IPv6Interface.
Reading a bare IP address attribute requires SDK 1.23.0 or later. Earlier versions parse every IPHost value as an interface, so a bare 10.0.0.1 becomes IPv4Interface('10.0.0.1/32') and the host mask reappears in your code. No error is raised.
A newer SDK against an older Infrahub is safe: when the server does not publish allow_prefix, the SDK keeps returning interface objects.
General guidance
- Use the SDK version that matches your Infrahub release. The version mapping table above shows which SDK version was tested and shipped with each Infrahub release.
- Patch upgrades within a minor SDK version are safe. For example, if your Infrahub version pins SDK 1.18.0, upgrading to 1.18.1 is safe.
- Upgrading to a newer minor SDK version may work but is not guaranteed. New SDK features may depend on server-side changes that are not present in older Infrahub versions.