diff --git a/CHANGELOG.md b/CHANGELOG.md index a3200c39..58f0a883 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,29 @@ This project uses [*towncrier*](https://towncrier.readthedocs.io/) and the chang +## [1.20.0](https://github.com/opsmill/infrahub-sdk-python/tree/v1.20.0) - 2026-04-24 + +### Removed + +- Removed the deprecated `raise_for_error` argument from `execute_graphql`, `query_gql_query`, `get_diff_summary`, `allocate_next_ip_address`, and `allocate_next_ip_prefix` client methods. HTTP errors are now always raised via `resp.raise_for_status()`. + +### Added + +- Add `infrahubctl schema export` command to export schemas from Infrahub. ([#151](https://github.com/opsmill/infrahub-sdk-python/issues/151)) +- Add `artifact_content`, `file_object_content`, `from_json`, and `from_yaml` Jinja2 filters for artifact content composition in templates. + +### Changed + +- Replace `FilterDefinition.trusted: bool` with flag-based `ExecutionContext` model (`CORE`, `WORKER`, `LOCAL`) for context-aware template validation. `validate()` now accepts an optional `context` parameter. Backward compatible. + +### Fixed + +- Allow direct assignment of authentication method to the configuration to override settings from environment variables. ([#654](https://github.com/opsmill/infrahub-sdk-python/issues/654)) +- Corrected protocol typing for IPHost.value IPAddress -> IPInterface ([#891](https://github.com/opsmill/infrahub-sdk-python/issues/891)) +- Generate protocols so that optional attributes with a default value are rendered as required (not nullable). ([#894](https://github.com/opsmill/infrahub-sdk-python/issues/894)) +- Fixed `ObjectStore.get()` and `ObjectStore.upload()` silently swallowing non-2xx HTTP errors instead of raising them. ([#958](https://github.com/opsmill/infrahub-sdk-python/issues/958)) +- Skip mandatory field validation during object loading when `object_template` is specified. + ## [1.19.0](https://github.com/opsmill/infrahub-sdk-python/tree/v1.19.0) - 2026-03-16 ### Added diff --git a/changelog/+artifact-composition.added.md b/changelog/+artifact-composition.added.md deleted file mode 100644 index 5891fa4d..00000000 --- a/changelog/+artifact-composition.added.md +++ /dev/null @@ -1 +0,0 @@ -Add `artifact_content`, `file_object_content`, `from_json`, and `from_yaml` Jinja2 filters for artifact content composition in templates. diff --git a/changelog/+artifact-composition.changed.md b/changelog/+artifact-composition.changed.md deleted file mode 100644 index 4a9912c0..00000000 --- a/changelog/+artifact-composition.changed.md +++ /dev/null @@ -1 +0,0 @@ -Replace `FilterDefinition.trusted: bool` with flag-based `ExecutionContext` model (`CORE`, `WORKER`, `LOCAL`) for context-aware template validation. `validate()` now accepts an optional `context` parameter. Backward compatible. diff --git a/changelog/+ifc2404.fixed.md b/changelog/+ifc2404.fixed.md deleted file mode 100644 index 42b03784..00000000 --- a/changelog/+ifc2404.fixed.md +++ /dev/null @@ -1 +0,0 @@ -Skip mandatory field validation during object loading when `object_template` is specified. diff --git a/changelog/+infp380.removed.md b/changelog/+infp380.removed.md deleted file mode 100644 index 9dc9e92a..00000000 --- a/changelog/+infp380.removed.md +++ /dev/null @@ -1 +0,0 @@ -Removed the deprecated `raise_for_error` argument from `execute_graphql`, `query_gql_query`, `get_diff_summary`, `allocate_next_ip_address`, and `allocate_next_ip_prefix` client methods. HTTP errors are now always raised via `resp.raise_for_status()`. diff --git a/changelog/151.added.md b/changelog/151.added.md deleted file mode 100644 index c770976f..00000000 --- a/changelog/151.added.md +++ /dev/null @@ -1 +0,0 @@ -Add `infrahubctl schema export` command to export schemas from Infrahub. diff --git a/changelog/654.fixed.md b/changelog/654.fixed.md deleted file mode 100644 index 7cb360ab..00000000 --- a/changelog/654.fixed.md +++ /dev/null @@ -1 +0,0 @@ -Allow direct assignment of authentication method to the configuration to override settings from environment variables. diff --git a/changelog/891.fixed.md b/changelog/891.fixed.md deleted file mode 100644 index 42f20b2f..00000000 --- a/changelog/891.fixed.md +++ /dev/null @@ -1 +0,0 @@ -Corrected protocol typing for IPHost.value IPAddress -> IPInterface diff --git a/changelog/894.fixed.md b/changelog/894.fixed.md deleted file mode 100644 index 3a1032fb..00000000 --- a/changelog/894.fixed.md +++ /dev/null @@ -1 +0,0 @@ -Generate protocols so that optional attributes with a default value are rendered as required (not nullable). \ No newline at end of file diff --git a/changelog/958.fixed.md b/changelog/958.fixed.md deleted file mode 100644 index 7165088d..00000000 --- a/changelog/958.fixed.md +++ /dev/null @@ -1 +0,0 @@ -Fixed `ObjectStore.get()` and `ObjectStore.upload()` silently swallowing non-2xx HTTP errors instead of raising them. diff --git a/pyproject.toml b/pyproject.toml index 15afc396..75345bce 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "infrahub-sdk" -version = "1.19.0" +version = "1.20.0" description = "Python Client to interact with Infrahub" authors = [ {name = "OpsMill", email = "info@opsmill.com"} diff --git a/uv.lock b/uv.lock index 9661c529..7ca8ca38 100644 --- a/uv.lock +++ b/uv.lock @@ -709,7 +709,7 @@ wheels = [ [[package]] name = "infrahub-sdk" -version = "1.19.0" +version = "1.20.0" source = { editable = "." } dependencies = [ { name = "dulwich" },