Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/cd.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ jobs:
- name: install uv & python
uses: astral-sh/setup-uv@v7
with:
version: "0.11.28"
python-version: "3.10"
version: "0.13.4"
python-version: "3.11"
enable-cache: "false"
- name: Push tag for each updated package
env:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
python-version: ["3.11", "3.12", "3.13", "3.14", "3.15"]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: install uv and python
uses: astral-sh/setup-uv@v7
with:
version: "0.11.28"
version: "0.13.4"
python-version: ${{ matrix.python-version }}
- name: Install
run: make install-dev
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/dependency-checker.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ jobs:
- name: install uv and python
uses: astral-sh/setup-uv@v7
with:
version: "0.11.28"
python-version: "3.10"
version: "0.13.4"
python-version: "3.11"
- name: UV Python dependency updater
env:
GH_TOKEN: ${{ secrets.RENOVATE_TOKEN }}
Expand Down
165 changes: 165 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,31 +1,76 @@
## Release (2026-MM-DD)

- `core`:
- [v0.5.0](core/CHANGELOG.md#v050)
- **Chore:** Bump minimum Python version to 3.11
- **Chore:** Update dependencies
- [v0.4.0](core/CHANGELOG.md#v040)
- **Feature:** Add `KeyAuth.close()` to stop the background token refresh thread and its worker, so a discarded instance no longer keeps running and requesting tokens
- [v0.3.1](core/CHANGELOG.md#v031)
- **Fix:** Refresh access tokens five minutes before expiration instead of after, and wait for in-progress refreshes before authorizing requests
- `alb`:
- [v0.14.0](services/alb/CHANGELOG.md#v0140)
- **Chore:** Bump minimum Python version to 3.11
- **Chore:** Update dependencies
- [v0.13.0](services/alb/CHANGELOG.md#v0130)
- **Feature:** Add `ip_block_list_name` field to `LoadbalancerOptionAccessControl` model
- `albwaf`:
- [v0.2.0](services/albwaf/CHANGELOG.md#v020)
- **Chore:** Bump minimum Python version to 3.11
- **Chore:** Update dependencies
- `authorization`
- [v0.10.0](services/authorization/CHANGELOG.md#v0100)
- **Chore:** Bump minimum Python version to 3.11
- **Chore:** Update dependencies
- `automation`:
- [v0.2.0](services/automation/CHANGELOG.md#v020)
- **Chore:** Bump minimum Python version to 3.11
- **Chore:** Update dependencies
- [v0.1.0](services/automation/CHANGELOG.md#v010)
- Initial onboarding of STACKIT Python SDK for Automation service
- `cdn`
- [v2.9.0](services/cdn/CHANGELOG.md#v290)
- **Chore:** Bump minimum Python version to 3.11
- **Chore:** Update dependencies
- `certificates`:
- [v1.8.0](services/certificates/CHANGELOG.md#v180)
- **Chore:** Bump minimum Python version to 3.11
- **Chore:** Update dependencies
- [v1.7.1](services/certificates/CHANGELOG.md#v171)
- **Improvement:** Update descriptions
- `cost`
- [v0.5.0](services/cost/CHANGELOG.md#v050)
- **Chore:** Bump minimum Python version to 3.11
- **Chore:** Update dependencies
- `dns`:
- [v0.11.0](services/dns/CHANGELOG.md#v0110)
- **Chore:** Bump minimum Python version to 3.11
- **Chore:** Update dependencies
- [v0.10.0](services/dns/CHANGELOG.md#v0100)
- **Feature:** New `labels_map` field (`Dict[str, str]`) on `CreateZonePayload`, `PartialUpdateZonePayload`, and `Zone` to manage zone labels as a map (max 64 items)
- **Deprecation:** `create_label`, `delete_label`, `list_labels` operations are now deprecated and scheduled for sunset on 2027-10-01; use the `labels_map` field on the `Zone` resource instead
- **Improvement:** `list_record_sets`/`list_zones` docs clarify that records/zones in the `DELETE_SUCCEEDED` state are excluded by default; pass `state[eq]=DELETE_SUCCEEDED` to retrieve them
- **Improvement:** `Label.key`/`CreateLabelPayload.key` now accepts up to 314 characters (previously 63), supporting prefixed label keys (e.g. `example.com/environment`)
- **Breaking Change:** `PartialUpdateZonePayload.extensions` type changed from `ZoneExtensions` to `DomainExtensions`, now also exposing `observability_extension.state`
- `dremio`:
- [v0.3.0](services/dremio/CHANGELOG.md#v030)
- **Chore:** Bump minimum Python version to 3.11
- **Chore:** Update dependencies
- [v0.2.0](services/dremio/CHANGELOG.md#v020)
- **Feature:** Add `acl` field to models `CreateDremioInstancePayload`, `DremioResponse`, and `UpdateDremioInstancePayload`
- **Breaking Change:** `DremioResponse` now requires an `acl` field; constructing an instance without it will raise a validation error
- `edge`
- [v0.8.0](services/edge/CHANGELOG.md#v080)
- **Chore:** Bump minimum Python version to 3.11
- **Chore:** Update dependencies
- `git`
- [v0.11.0](services/git/CHANGELOG.md#v0110)
- **Chore:** Bump minimum Python version to 3.11
- **Chore:** Update dependencies
- `iaas`:
- [v1.8.0](services/iaas/CHANGELOG.md#v180)
- **Chore:** Bump minimum Python version to 3.11
- **Chore:** Update dependencies
- [v1.7.0](services/iaas/CHANGELOG.md#v170)
- **Docs:** Update documentation for `labels` field constraints across models.
- **Feature:** Add `Description` field in `Network` model
Expand All @@ -37,7 +82,46 @@
- **Feature:** Add enum validation for `Type` field in `NexthopIPv4` model. Valid value is `ipv4`.
- **Feature:** Add enum validation for `Type` field in `NexthopIPv6` model. Valid value is `ipv6`.
- **Feature:** Add `ProjectType` and `VpcId` fields in `Project` model
- `intake`
- [v0.8.0](services/intake/CHANGELOG.md#v080)
- **Chore:** Bump minimum Python version to 3.11
- **Chore:** Update dependencies
- `kms`
- [v0.14.0](services/kms/CHANGELOG.md#v0140)
- **Chore:** Bump minimum Python version to 3.11
- **Chore:** Update dependencies
- `loadbalancer`
- [v0.13.0](services/loadbalancer/CHANGELOG.md#v0130)
- **Chore:** Bump minimum Python version to 3.11
- **Chore:** Update dependencies
- `logme`:
- [v1.4.0](services/logme/CHANGELOG.md#v140)
- **Chore:** Bump minimum Python version to 3.11
- **Chore:** Update dependencies
- `logs`
- [v0.5.0](services/logs/CHANGELOG.md#v050)
- **Chore:** Bump minimum Python version to 3.11
- **Chore:** Update dependencies
- `mariadb`
- [v1.4.0](services/mariadb/CHANGELOG.md#v140)
- **Chore:** Bump minimum Python version to 3.11
- **Chore:** Update dependencies
- `modelexperiments`
- [v0.3.0](services/modelexperiments/CHANGELOG.md#v030)
- **Chore:** Bump minimum Python version to 3.11
- **Chore:** Update dependencies
- `modelserving`
- [v0.6.0](services/modelserving/CHANGELOG.md#v060)
- **Chore:** Bump minimum Python version to 3.11
- **Chore:** Update dependencies
- `mongodbflex`
- [v1.6.0](services/mongodbflex/CHANGELOG.md#v160)
- **Chore:** Bump minimum Python version to 3.11
- **Chore:** Update dependencies
- `objectstorage`:
- [v1.8.0](services/objectstorage/CHANGELOG.md#v180)
- **Chore:** Bump minimum Python version to 3.11
- **Chore:** Update dependencies
- [v1.7.0](services/objectstorage/CHANGELOG.md#v170)
- **Feature:** New field `Labels` in `ProjectStatus` model struct
- **Feature:** New API client method `UpdateService`
Expand All @@ -46,34 +130,115 @@
- **Improvement:** Add HTTP 429 rate limit error responses in API operations
- **Breaking Change:** Field `expires` in `AccessKey` model is now optional (`Optional[StrictStr]`)
- **Improvement:** Field `expires` in `CreateAccessKeyPayload` model now supports explicit `None` serialization
- `observability`
- [v0.18.0](services/observability/CHANGELOG.md#v0180)
- **Chore:** Bump minimum Python version to 3.11
- **Chore:** Update dependencies
- `opensearch`
- [v1.4.0](services/opensearch/CHANGELOG.md#v140)
- **Chore:** Bump minimum Python version to 3.11
- **Chore:** Update dependencies
- `postgresflex`
- [v1.7.0](services/postgresflex/CHANGELOG.md#v170)
- **Chore:** Bump minimum Python version to 3.11
- **Chore:** Update dependencies
- `rabbitmq`:
- [v1.5.0](services/rabbitmq/CHANGELOG.md#v150)
- **Chore:** Bump minimum Python version to 3.11
- **Chore:** Update dependencies
- [v1.4.0](services/rabbitmq/CHANGELOG.md#v140)
- **Breaking Change:** `rabbitmq_tracing` removed from the allowed values for `InstanceParameters.plugins`; passing it now raises a `ValueError`
- `redis`:
- [v1.4.0](services/redis/CHANGELOG.md#v140)
- **Chore:** Bump minimum Python version to 3.11
- **Chore:** Update dependencies
- `resourcemanager`
- [v0.13.0](services/resourcemanager/CHANGELOG.md#v0130)
- **Chore:** Bump minimum Python version to 3.11
- **Chore:** Update dependencies
- [v0.12.0](services/resourcemanager/CHANGELOG.md#0120)
- Update description of the `labels` attribute in model classes
- Update regex of the `name` attribute in `CreateFolderPayload`, `CreateProjectPayload`, `PartialUpdateFolderPayload`, `PartialUpdateOrganizationPayload`, `PartialUpdateProjectPayload` model classes
- Make `members` attribute optional in `CreateProjectPayload` model class
- [v0.11.1](services/resourcemanager/CHANGELOG.md#0111)
- Update descriptions of `labels` attributes in model classes
- `runcommand`
- [v1.4.0](services/runcommand/CHANGELOG.md#v140)
- **Chore:** Bump minimum Python version to 3.11
- **Chore:** Update dependencies
- `scf`
- [v0.7.0](services/scf/CHANGELOG.md#v070)
- **Chore:** Bump minimum Python version to 3.11
- **Chore:** Update dependencies
- `secretsmanager`
- [v0.8.0](services/secretsmanager/CHANGELOG.md#v080)
- **Chore:** Bump minimum Python version to 3.11
- **Chore:** Update dependencies
- `serverbackup`
- [v1.4.0](services/serverbackup/CHANGELOG.md#v140)
- **Chore:** Bump minimum Python version to 3.11
- **Chore:** Update dependencies
- `serverupdate`
- [v1.4.0](services/serverupdate/CHANGELOG.md#v140)
- **Chore:** Bump minimum Python version to 3.11
- **Chore:** Update dependencies
- `serviceaccount`
- [v0.12.0](services/serviceaccount/CHANGELOG.md#v0120)
- **Chore:** Bump minimum Python version to 3.11
- **Chore:** Update dependencies
- `serviceenablement`
- [v1.4.0](services/serviceenablement/CHANGELOG.md#v140)
- **Chore:** Bump minimum Python version to 3.11
- **Chore:** Update dependencies
- `sfs`:
- [v0.10.0](services/sfs/CHANGELOG.md#v0100)
- **Chore:** Bump minimum Python version to 3.11
- **Chore:** Update dependencies
- [v0.9.0](services/sfs/CHANGELOG.md#v090)
- **Docs:** Update description of `Labels` fields
- **Feature:** Add new `ConflictError` model for responses with 409 status code
- `ske`:
- [v1.14.0](services/ske/CHANGELOG.md#v1140)
- **Chore:** Bump minimum Python version to 3.11
- **Chore:** Update dependencies
- `sqlserverflex`:
- [v1.5.0](services/sqlserverflex/CHANGELOG.md#v150)
- **Chore:** Bump minimum Python version to 3.11
- **Chore:** Update dependencies
- `stackitmarketplace`
- [v1.19.0](services/stackitmarketplace/CHANGELOG.md#v1190)
- **Chore:** Bump minimum Python version to 3.11
- **Chore:** Update dependencies
- [v1.18.0](services/stackitmarketplace/CHANGELOG.md#v1180)
- **Feature:** New model classes `ConsumersSubscriptionsCreatePayload`, `MarketplaceSubscriptionV1Assets`, `MarketplaceSubscriptionV1File`, `MarketplaceSubscriptionV1FileLocalizedVersion`, `MarketplaceSubscriptionV1ListSubscriptionsResponse`, `MarketplaceSubscriptionV1Subscription`, `MarketplaceSubscriptionV1SubscriptionProduct`, `MarketplaceSubscriptionV1SubscriptionRedirect`,
- **Feature:** New API client methods `consumers_subscriptions_cancel`, `consumers_subscriptions_create`, `consumers_subscriptions_get`, `consumers_subscriptions_list_by_organization`, `consumers_subscriptions_list_by_project`, `consumers_subscriptions_redirects_get`, `consumers_subscriptions_terminate`, `vendors_subscriptions_get`, `vendors_subscriptions_list_by_organization`, `vendors_subscriptions_list_by_project`
- **Breaking Change:** Removal of model classes `Assets`, `AssetsEndUserLicenseAgreement`, `AssetsProductDescription`, `AssetsServiceLevelAgreement`, `BecomeVendor`, `CatalogPricingOptionHighlight`, `CatalogProductDetail`, `CatalogProductDetailsVendor`, `CatalogProductFacetsValueInner`, `CatalogProductHighlight`, `CatalogProductOverview`, `CatalogProductOverviewVendor`, `CatalogProductPricingOption`, `CatalogProductSupportResource`, `CatalogProductVendorTerms`, `ContactSales`, `DeliveryMethod`, `FreeTrial`, `InquiriesCreateInquiryPayload`, `InquiryBecomeVendor`, `InquiryContactSales`, `InquiryFormType`, `InquiryRegisterTesting`, `InquiryRequestPrivatePlan`, `InquirySuggestProduct`, `ListCatalogProductsResponse`, `ListVendorSubscriptionsResponse`, `LocalizedVersion`, `NoticePeriod`, `OfferType`, `PriceType`, `PricingOptionUnit`, `ProductLifecycleState`, `RegisterTesting`, `RequestPrivatePlan`, `Scope`, `ServiceCertificate`, `SubscriptionLifecycleState`, `SubscriptionProduct`, `SuggestProduct`, `VendorSubscription`
- **Breaking Change:** `approve_subscription_payload` parameter is now required in `approve_subscription` API client method (previously optional)
- **Breaking Change:** Removal of API client methods `get_catalog_product`, `get_vendor_subscription`, `inquiries_create_inquiry`, `list_catalog_products`, `list_vendor_subscriptions`
- `telemetrylink`
- [v0.5.0](services/telemetrylink/CHANGELOG.md#v050)
- **Chore:** Bump minimum Python version to 3.11
- **Chore:** Update dependencies
- `telemetryrouter`:
- [v0.7.0](services/telemetryrouter/CHANGELOG.md#v070)
- **Chore:** Bump minimum Python version to 3.11
- **Chore:** Update dependencies
- [v0.6.0](services/telemetryrouter/CHANGELOG.md#v060)
- **Feature:** Add `disabled` field to `ConfigFilter` to allow disabling a filter without removing it
- `ufw`:
- [v0.2.0](services/ufw/CHANGELOG.md#v020)
- **Chore:** Bump minimum Python version to 3.11
- **Chore:** Update dependencies
- `valkey`:
- [v0.3.0](services/valkey/CHANGELOG.md#v030)
- **Chore:** Bump minimum Python version to 3.11
- **Chore:** Update dependencies
- [v0.2.2](services/valkey/CHANGELOG.md#v022)
- **Docs:** `InstanceParameters.min_replicas_to_write` doc comment now notes it should not be greater than the number of nodes (e.g. 1 or 3)
- `vpn`:
- [v0.8.0](services/vpn/CHANGELOG.md#v080)
- **Chore:** Bump minimum Python version to 3.11
- **Chore:** Update dependencies
- [v0.7.3](services/vpn/CHANGELOG.md#v073)
- **Improvement:** Relax maximum `rekey_time` validation to `86400` (previously `28800`) in `TunnelConfigurationPhase1`
- **Improvement:** Relax maximum `rekey_time` validation to `14400` (previously `3600`) in `TunnelConfigurationPhase2`
Expand Down
4 changes: 4 additions & 0 deletions core/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
## v0.5.0
- **Chore:** Bump minimum Python version to 3.11
- **Chore:** Update dependencies

## v0.4.0
- **Feature:** Add `KeyAuth.close()` to stop the background token refresh thread and its worker, so a discarded instance (for example after key rotation) no longer keeps running and requesting tokens

Expand Down
6 changes: 3 additions & 3 deletions core/pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
[project]
name = "stackit-core"
version = "v0.4.0"
version = "v0.5.0"
description = "Core functionality for the STACKIT SDK for Python"
authors = [{ name = "STACKIT Developer Tools", email = "developer-tools@stackit.cloud" }]
requires-python = ">=3.10,<4.0"
requires-python = ">=3.11,<4.0"
readme = "README.md"
classifiers = [
"Programming Language :: Python :: 3",
"License :: OSI Approved :: Apache Software License",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Programming Language :: Python :: 3.15",
]
dependencies = [
"pyjwt>=2.13.0",
Expand Down
Loading
Loading