Skip to content

Releases: opsmill/infrahub-sdk-python

Version 1.19.0 (beta 0)

18 Feb 14:54
f84bbd2

Choose a tag to compare

Pre-release

Added

  • Added support for FileObject nodes with file upload and download capabilities. New methods upload_from_path(path) and upload_from_bytes(content, name) allow setting file content before saving, while download_file(dest) enables downloading files to memory or streaming to disk for large files. (#ihs193)
  • Added a 'py.typed' file to the project. This is to enable type checking when the Infrahub SDK is imported from other projects. The addition of this file could cause new typing issues in external projects until all typing issues have been resolved. Adding it to the project now to better highlight remaining issues.

Changed

  • Updated branch report command to use node metadata for proposed change creator information instead of the deprecated relationship-based approach. Requires Infrahub 1.7 or above.

Fixed

  • Allow SDK tracking feature to continue after encountering delete errors due to impacted nodes having already been deleted by cascade delete. (#265)

v1.18.1

09 Jan 04:22
d116aa3

Choose a tag to compare

1.18.1 - 2026-01-08

Fixed

  • Reverted #723 (Fix code for HFID casting of strings that aren't UUIDs)

Version 1.18.0

08 Jan 14:57
391d41c

Choose a tag to compare

Added

  • Add ability to query for metadata on nodes to include information such as creation and update timestamps, creator and last user to update an object.
  • Added ability to order nodes by metadata created_at or updated_at fields

Removed

  • The previously deprecated 'background_execution' parameter under client.branch.create() was removed.

Fixed

  • Rewrite and re-enable integration tests (#187)
  • Fixed SDK including explicit null values for uninitialized optional relationships when creating nodes with object templates, which prevented the backend from applying template defaults. (#630)

Housekeeping

  • Fixed Python 3.14 compatibility warnings. Testing now requires pytest>=9.

Full changelog

Full Changelog: v1.17.0...v1.18.0

Release 1.15.2

29 Dec 11:21
d2c497a

Choose a tag to compare

Fixed

  • Fixed SDK including explicit null values for uninitialized optional relationships when creating nodes with object templates, which prevented the backend from applying template defaults. (#630)

Version 1.17.0

11 Dec 08:17
5b6991f

Choose a tag to compare

Added

  • Add support for Python 3.14

Removed

  • Removed copier as a dependency, this impacts the infrahub repository init command and contains new instructions for how to initialize a repository from the template.
  • Remove is_visible property from Infrahub

Full changelog

Full Changelog: v1.16.0...v1.17.0

Version 1.16.0

01 Dec 19:47
d51e287

Choose a tag to compare

Added

  • Added infrahubctl branch report command to help with cleaning up branches in Infrahub.

Changed

  • Updated behaviour for recursive lookups for the conversion of nested relationships. Note that this change could cause issues in transforms or generators that use the convert_query_response feature if "id" or "__typename" isn't requested for nested related objects. (#389)
  • The project now uses uv instead of poetry for package and dependency management.

Removed

  • Remove is_visible property from infrahub
  • Removed support for Python 3.9 (end of life)

Full changelog

Version 1.16.0b0

25 Nov 07:21
b199ef6

Choose a tag to compare

Version 1.16.0b0 Pre-release
Pre-release

Removed

  • Removed support for Python 3.9 (end of life)

Changed

  • Updated behaviour for recursive lookups for the conversion of nested relationships. Note that this change could cause issues in transforms or generators that use the convert_query_response feature if "id" or "__typename" isn't requested for nested related objects. (#389)

Version 1.15.1

13 Nov 11:35
4fd8376

Choose a tag to compare

Fixed

  • Fixed nested object template range expansion. (#624)

Version 1.15.0

10 Nov 14:47
88c7907

Choose a tag to compare

Added

  • Add create_diff method to create a diff summary between two timestamps
    Update get_diff_summary to accept optional time range parameters (#529)
  • Add the ability to perform range expansions in object files. This feature allows users to define patterns in string fields that will be expanded into multiple objects, facilitating bulk object creation and management. The implementation includes validation to ensure that all expanded lists have the same length, preventing inconsistencies. Documentation has been updated to explain how to use this feature, including examples of valid and invalid configurations. (#560)
  • Add convert_object_type method to allow converting an object to another type.
  • Add graph_version and status properties to Branch
  • Add infrahubctl graphql commands to export schema and generate Pydantic types from GraphQL queries
  • Added deprecation warnings when loading or checking schemas

Changed

  • Deprecate the use of raise_for_error=False across several methods, using a try/except pattern is preferred. (#493)

Fixed

  • Respect default branch for client.query_gql_query() and client.set_context_properties() (#236)
  • Fix branch creation with the sync client while setting wait_until_completion=False (#374)
  • Replaced the Sync word in the protocol schema name so that the correct kind can be gotten from the cache (#380)
  • Fix infrahubctl info command when run as an anonymous user (#398)
  • JsonDecodeError now includes server response content in error message when JSON decoding fails, providing better debugging information for non-JSON server responses. (#473)
  • Allow unsetting optional relationship of cardinality one by setting its value to None (#479)
  • Bump docs dependencies (#519)
  • Fix branch handling in _run_transform and execute_graphql_query functions in Infrahubctl to use environment variables for branch management. (#535)
  • Allow the ability to clear optional attributes by setting them to None if they have been mutated by the user. (#549)
  • Disable rich console print markup causing regex reformatting (#565)
    • Fixed issue with improperly escaped special characters in hfid fields and other string values in GraphQL mutations by implementing proper JSON-style string escaping

Housekeeping

  • Handle error gracefully when loading schema instead of failing with an exception (#464)
  • Replace toml package with tomllib and tomli optionally for when Python version is less than 3.11 (#528)

Version 1.15.0b1

20 Oct 22:07
2dcc1db

Choose a tag to compare

Version 1.15.0b1 Pre-release
Pre-release

What's Changed

New Contributors

Full Changelog: v1.14.0...v1.15.0b1