Releases: opsmill/infrahub-sdk-python
Releases · opsmill/infrahub-sdk-python
v1.19.0
Added
- Added support for FileObject nodes with file upload and download capabilities. New methods
upload_from_path(path)andupload_from_bytes(content, name)allow setting file content before saving, whiledownload_file(dest)enables downloading files to memory or streaming to disk for large files. (#ihs193) - Python SDK API documentation is now generated directly from the docstrings of the classes, functions, and methods contained in the code. (#201)
- 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)
- Fixed Python SDK query generation regarding from_pool generated attribute value (#497)
Full changelog
- Merge stable into develop by @infrahub-github-bot-app[bot] in #741
- Merge develop into infrahub-develop by @infrahub-github-bot-app[bot] in #743
- Re-implement casting of HFIDs to a list if the rel peer schema has hf… by @FragmentedPacket in #746
- IHS-183: Fix typing errors for protocols by @solababs in #749
- Fix test annotations by @ogenstad in #751
- Add annotations to unit tests by @ogenstad in #750
- Merge develop into infrahub-develop by @infrahub-github-bot-app[bot] in #752
- Fix ANN001 violations by @ogenstad in #753
- Merge stable into develop by @infrahub-github-bot-app[bot] in #754
- Merge develop into infrahub-develop by @infrahub-github-bot-app[bot] in #755
- Avoid nested chained if statements by @ogenstad in #757
- Revert "IHS-183: Fix typing errors for protocols" by @solababs in #760
- Merge develop into infrahub-develop by @infrahub-github-bot-app[bot] in #762
- Combine if statements by @ogenstad in #758
- Typing corrections by @ogenstad in #759
- Add CODEOWNERS by @ogenstad in #767
- Fix extracting value from dictionary without calling
.items()by @ogenstad in #764 - Suppress try/except/pass by @ogenstad in #768
- Favor .extend instead of chaining .append by @ogenstad in #769
- Merge stable into develop by @infrahub-github-bot-app[bot] in #761
- Merge develop into infrahub-develop by @infrahub-github-bot-app[bot] in #770
- Replace ternary
ifexpression withoroperator by @ogenstad in #772 - Prefer variables in lowercase by @ogenstad in #771
- Simplify for-loop with any() by @ogenstad in #777
- Prevent cascade delete from causing SDK tracking delete to fail by @ogenstad in #776
- Merge stable into develop by @infrahub-github-bot-app[bot] in #775
- Use a list comprehension to create a transformed list by @ogenstad in #774
- Add missing init.py files by @ogenstad in #778
- Fix ruff Jinja2 violations and move the remaining warning by @ogenstad in #781
- Add hash method to object that already has eq by @ogenstad in #780
- Move rules for too many branches by @ogenstad in #779
- Update packages: urllib3, filelock & virtualenv by @ogenstad in #783
- Fix flake8 raise linting violations by @ogenstad in #784
- Split apart pytest rule violations by @ogenstad in #785
- Avoid shadowing builtin
listby @ogenstad in #786 - Merge stable into develop by @infrahub-github-bot-app[bot] in #782
- Merge develop into infrahub-develop by @infrahub-github-bot-app[bot] in #787
- Add task to generate JSON schema for .infrahub.yml files by @ogenstad in #788
- add libstdc++ to flake.nix to support Python dependencies that depend on compiled libraries by @wvandeun in #790
- Upgrade infrahub-testcontainers to 1.7 by @gmazoyer in #793
- Merge develop into infrahub-develop by @infrahub-github-bot-app[bot] in #796
- Upgrade ty by @ogenstad in #797
- add str method to JinjaTemplateError by @ajtmccarty in #795
- Merge stable into develop by @infrahub-github-bot-app[bot] in #791
- Merge develop into infrahub-develop by @infrahub-github-bot-app[bot] in #800
- Update ruff==0.15.0 by @ogenstad in #799
- Raise SDK specific Jinja errors on syntax error by @ogenstad in #798
- IHS-193 Add support for file upload/download for
CoreFileObjectby @gmazoyer in #792 - fix(dependabot): update infrahub-testcontainers by @fatih-acar in #801
- Fix infrahubctl proposed change table generation by @gmazoyer in #805
- IFC-2184: Add
MERGEDto branch status by @solababs in #794 - Bump infrahub-testcontainers from 1.5.1 to 1.7.4 by @dependabot[bot] in #804
- migrate from pre-commit to prek by @solababs in #789
- Merge develop into infrahub-develop by @infrahub-github-bot-app[bot] in #808
- Merge stable into develop with resolved conflicts by @ogenstad in #809
- Add integration tests for file objects by @gmazoyer in #802
- Merge 'develop' into 'infrahub-develop' with resolved conflicts by @ogenstad in #813
- Add pull request template by @ogenstad in #812
- Add invoke command specifically for code linting by @ogenstad in #815
- Use ternary operator instead of
if-else-block by @ogenstad in #814 - Merge stable into develop by @infrahub-github-bot-app[bot] in #816
- Merge develop into infrahub-develop by @infrahub-github-bot-app[bot] in #817
- Linting: Incorrect import of
pytest; useimport pytestinstead by @ogenstad in #824 - Fix dulwich checkout_branch deprecation warning in testing utilities by @Copilot in #819
- Add Spec Kit by @ogenstad in #827
- Merge stable into develop by @infrahub-github-bot-app[bot] in #825
- Fix pytest plugin for integration tests and empty YAML files by @FragmentedPacket in #744
- Avoid + operator to concatenate collections by @ogenstad in #826
- Break apart ty violations into smaller components by @ogenstad in #828
- Merge develop into infrahub-develop by @infrahub-github-bot-app[bot] in #830
- Add py.typed by @ogenstad in https://github...
v1.19.0 (Release Candidate 0)
Added
- Added support for FileObject nodes with file upload and download capabilities. New methods
upload_from_path(path)andupload_from_bytes(content, name)allow setting file content before saving, whiledownload_file(dest)enables downloading files to memory or streaming to disk for large files. (#ihs193) - Python SDK API documentation is now generated directly from the docstrings of the classes, functions, and methods contained in the code. (#201)
- 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
Version 1.19.0 (beta 0)
Added
- Added support for FileObject nodes with file upload and download capabilities. New methods
upload_from_path(path)andupload_from_bytes(content, name)allow setting file content before saving, whiledownload_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
Version 1.18.0
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
nullvalues 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
- IHS-173 Detect if a relationship is set from a profile by @gmazoyer in #686
- Bump astral-sh/setup-uv from 4 to 7 by @dependabot[bot] in #681
- Bump actions/checkout from 5 to 6 by @dependabot[bot] in #682
- Bump DavidAnson/markdownlint-cli2-action from 21 to 22 by @dependabot[bot] in #695
- Bump actions/cache from 4 to 5 by @dependabot[bot] in #694
- fix: python 3.14 deprecation warnings by @fatih-acar in #692
- Remove deprecated 'background_execution' param from client.branch.create() by @ogenstad in #696
- fix(analyzer): allowing passing a parsed query by @fatih-acar in #701
- Add ty as a type checker by @ogenstad in #702
- Add ability to query for node metadata by @ogenstad in #700
- Upgrade ty and cleanup rules by @ogenstad in #706
- Fix invalid return types by @ogenstad in #705
- Fix optional relationships preventing object template defaults from applying by @Copilot in #634
- Fixes for test annotations and split up rules by @ogenstad in #707
- Add annotations for clients and client_type by @ogenstad in #708
- Fix issue #713 and #712 by @BaptisteGi in #714
- Fix annotations on CTL tests by @ogenstad in #718
- Upgrade ruff=0.14.10 and fix new violation by @ogenstad in #724
- Use pathlib instead of os for Path operations by @ogenstad in #722
- Fix unsupported operator on MainSchemaTypes by @ogenstad in #721
- Upgrade ty=0.0.8 by @ogenstad in #723
- Fix test annotations on unit tests by @ogenstad in #720
- Convert and enable integration tests by @gmazoyer in #730
- Add ability to order results by metadata created_at or updated_at by @ogenstad in #698
- Fix code for HFID casting of strings that aren't UUIDs by @FragmentedPacket in #732
- Add docs for metadata and ordering by @minitriga in #735
Full Changelog: v1.17.0...v1.18.0
Release 1.15.2
Fixed
- Fixed SDK including explicit
nullvalues for uninitialized optional relationships when creating nodes with object templates, which prevented the backend from applying template defaults. (#630)
Version 1.17.0
Added
- Add support for Python 3.14
Removed
- Removed copier as a dependency, this impacts the
infrahub repository initcommand and contains new instructions for how to initialize a repository from the template. - Remove
is_visibleproperty from Infrahub
Full changelog
- IHS-176: Remove
is_visibleproperty from attribute metadata by @solababs in #603 - Set vale to ignore yaml files by @ogenstad in #664
- Validate uv.lock in CI by @ogenstad in #665
- Add AGENTS files by @dgarros in #609
- Pmc-20251201-docs by @petercrocker in #673
- Add ancestors and descendants support for hierarchical nodes by @Copilot in #659
- Fix linting violations after merge by @ogenstad in #675
- Add flake by @ogenstad in #676
- Update urllib3==2.6.0 by @ogenstad in #680
- Remove copier and provide workaround for 'infrahubctl repository init' by @ogenstad in #684
- Python 3.14 by @ogenstad in #663
- Fix boolean logic error in hierarchy support detection by @Copilot in #688
Full Changelog: v1.16.0...v1.17.0
Version 1.16.0
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
- fix(cli): hide file paths in log output unless debug mode enabled by @petercrocker in #608
- Convert project to UV by @dgarros in #599
- Update infrahub-testcontainers by @ogenstad in #633
- Remove support for Python 3.9 by @ogenstad in #635
- Upgrade ruff by @ogenstad in #636
- Use ruff version from uv.lock in CI by @ogenstad in #638
- fix(ci): uv publish command by @fatih-acar in #639
- Allow recursive convertion to InfrahubNode objects by @ogenstad in #390
- Upgrade uv action version and pin Python version for test matrix by @ogenstad in #648
- Prefer
next(iter())over single element slice by @ogenstad in #643 - Simplify dictionary lookups by @ogenstad in #647
- Clear out test restrictions for Python 3.9 by @ogenstad in #649
- Update ruleset for shadowing builtins by @ogenstad in #645
- Use specific rule codes when using noqa by @ogenstad in #641
- Use a
setliteral when testing for membership by @ogenstad in #642 - Fix return annotations and changes for early returns by @ogenstad in #644
- Remove resolved rule ignores by @ogenstad in #650
- Unnecessary assignment to
databeforereturnstatement by @ogenstad in #651 - Prefer
Path.cwd()overPath().resolve()for current-directory lookups by @ogenstad in #653 - Linting: Probable insecure usage of temporary file or directory by @ogenstad in #652
- Correct autofixable ruff rules for Optional by @ogenstad in #646
- Bump actions/checkout from 5 to 6 by @dependabot[bot] in #658
- Add
infrahubctl branch reportcommand by @wvandeun in #637
Version 1.16.0b0
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
Fixed
- Fixed nested object template range expansion. (#624)