Skip to content

Releases: G-Core/gcore-python

v0.26.0

23 Dec 12:06

Choose a tag to compare

v0.26.0

We're excited to announce version 0.26.0!

Cloud

  • GPU Cloud

    • ⚠ BREAKING CHANGE: Restructured GPU virtual clusters API - all methods have been moved from gpu_virtual_clusters to gpu_virtual.clustersinterfaces, servers, volumes)
    • ⚠ BREAKING CHANGE: Moved GPU baremetal cluster interface attach/detach methods - attach_interface() and detach_interface() have been moved from gpu_baremetal_clusters.servers to gpu_baremetal_clusters.interfaces
    • Added image_id field to GPUBaremetalCluster - now includes the image ID used by the cluster
  • Kubernetes

    • Added check_quota() method to k8s cluster pools - calculate quota requirements for a new cluster pool before creation, returns exceeded quotas if regional limits would be violated
  • Load Balancers

    • Enhanced load balancer listener creation - added default_pool_id parameter to attach listener to an existing pool during creation

DNS

  • Network Mappings
    • Improved type safety - changed cidr4 and cidr6 fields from List[object] to List[str] in DNSMappingEntry and DNSMappingEntryParam
    • ⚠ BREAKING CHANGE: Updated replace() method signature - changed from path_id and body_id parameters to a single id path parameter
    • Removed id field from NetworkMappingCreateParams (read-only field should not be in request parameters)

Client

  • Fixed async_to_httpx_files usage in PATCH method for proper file handling

0.26.0 (2025-12-23)

Full Changelog: v0.25.0...v0.26.0

⚠ BREAKING CHANGES

  • cloud: move methods to gpu_baremetal_clusters.interfaces.attach()/detach()
  • cloud: restructure to be gpu_virtual.clusters

Features

  • api: aggregated API specs update (3a272e8)
  • api: aggregated API specs update (789277a)
  • cloud: add k8s cluster pools check quotas method (326786c)

Bug Fixes

  • cloud: move methods to gpu_baremetal_clusters.interfaces.attach()/detach() (053ebcf)
  • cloud: restructure to be gpu_virtual.clusters (36b7b63)
  • examples: make code consistent with comment (85a0331)
  • use async_to_httpx_files in patch method (88c4050)

Chores

  • internal: add missing files argument to base client (7d81efb)
  • internal: codegen related update (3c38f42)
  • speedup initial import (ff1db23)

v0.25.0

15 Dec 09:27

Choose a tag to compare

We're excited to announce version 0.25.0!

Cloud

  • Reserved Fixed IPs
    • ⚠ BREAKING CHANGE: Streamlined VIP connected and candidate ports API - methods have been reorganized into sub-resources for better structure:
      • list_candidate_ports()candidate_ports.list()
      • list_connected_ports()connected_ports.list()
      • replace_connected_ports()connected_ports.replace()
      • update_connected_ports()connected_ports.add() (renamed from update to add)
    • Fixed VIP examples to use the new API structure

0.25.0 (2025-12-15)

Full Changelog: v0.24.0...v0.25.0

⚠ BREAKING CHANGES

  • cloud: streamline vip connected and candidate ports

Bug Fixes

  • cloud: fix vip examples (f4f6c46)
  • cloud: streamline vip connected and candidate ports (958b2a7)

v0.24.0

10 Dec 16:01

Choose a tag to compare

We're excited to announce version 0.24.0!

Cloud

  • Load Balancers
    • ⚠ BREAKING CHANGE: Replaced replace_and_poll() with update_and_poll() for L7 policies
    • ⚠ BREAKING CHANGE: Replaced PUT /cloud/v1/l7policies with PATCH
    • ⚠ BREAKING CHANGE: Renamed load balancer pool member methods to create/delete (previously add/remove)
  • Registry Users
    • ⚠ BREAKING CHANGE: Streamlined naming for create/replace models
  • SSH Keys
    • ⚠ BREAKING CHANGE: Streamlined naming for create/replace models
    • Fixed types in examples
  • Projects
    • Updated to use PATCH /cloud/v1/projects

CDN

  • Audit Logs
    • ⚠ BREAKING CHANGE: Streamlined audit_logs naming conventions
  • Origin Shielding
    • ⚠ BREAKING CHANGE: Streamlined naming for create/replace models

DNS

  • Network Mappings
    • Added NetworkMappingResource with full CRUD operations for managing DNS network mappings

0.24.0 (2025-12-10)

Full Changelog: v0.23.0...v0.24.0

⚠ BREAKING CHANGES

  • cloud: replace PUT /cloud/v1/l7policies with PATCH
  • cdn: streamline audit_logs naming
  • cloud: rename load balancer pool member methods to create/delete
  • streamline naming for create/replace models

Features

  • api: aggregated API specs update (67dc79f)
  • api: aggregated API specs update (7656563)
  • api: aggregated API specs update (a1d51b8)
  • api: aggregated API specs update (c5159ef)
  • api: aggregated API specs update (61299ed)
  • api: aggregated API specs update (b745f43)
  • dns: enable terraform code generation for gcore_dns_network_mapping (145f10c)

Bug Fixes

  • cdn: streamline audit_logs naming (cb075f5)
  • cloud: fix types in examples (8b73b2a)
  • cloud: rename load balancer pool member methods to create/delete (86346d4)
  • cloud: replace PUT /cloud/v1/l7policies with PATCH (310c86d)
  • cloud: use PATCH /cloud/v1/projects (de29040)
  • streamline naming for create/replace models (06e1dc3)
  • types: allow pyright to infer TypedDict types within SequenceNotStr (616698d)

Chores

  • add missing docstrings (91761cb)
  • docs: use environment variables for authentication in code snippets (2c2fa17)
  • update lockfile (ece4535)

v0.23.0

01 Dec 13:04

Choose a tag to compare

We're excited to announce version 0.23.0!

Cloud

  • Baremetal
    • ⚠ BREAKING CHANGE: Fixed servers.create_and_poll() method signature to match create() method parameter types
    • ⚠ BREAKING CHANGE: Removed BaremetalFlavor.reserved_in_stock field
    • Updated app_config parameter to use typed dict instead of generic object
  • Instances
    • ⚠ BREAKING CHANGE: Fixed create_and_poll() method signature to match create() method parameter types
    • Updated configuration parameter to use typed dict instead of generic object
  • Load Balancers
    • Updated LoadBalancerFlavorDetail.hardware_description to use union type for better type safety
    • Updated LoadBalancerListenerDetail.insert_headers to use typed dict instead of generic object
  • Regions
    • Updated Region.Coordinates.latitude and Region.Coordinates.longitude to support both float and string types via union types
  • Security Groups
    • Improved parameter documentation for SecurityGroupCreateParams and SecurityGroupListParams
    • Updated documentation for project_id, region_id, limit, offset, tag_key_value, and tag_key parameters
  • Audit Logs
    • Updated AuditLogEntry.action_data to use typed dict instead of generic object
    • Updated AuditLogEntry.Resource.resource_body to use typed dict instead of generic object
  • Billing Reservations
    • Improved metric_name parameter documentation with example

0.23.0 (2025-12-01)

Full Changelog: v0.22.0...v0.23.0

⚠ BREAKING CHANGES

  • cloud: change *_and_poll signature types to correspond to regular methods

Features

  • api: aggregated API specs update (66af572)
  • api: aggregated API specs update (8e6e84f)

Bug Fixes

  • cloud: change *_and_poll signature types to correspond to regular methods (d58e9b4)
  • ensure streams are always closed (e2716cb)

Chores

  • deps: mypy 1.18.1 has a regression, pin to 1.17 (7703d53)

v0.22.0

25 Nov 18:58

Choose a tag to compare

We're excited to announce version 0.22.0!

Cloud

  • Kubernetes
    • ⚠ BREAKING CHANGE: Renamed K8s resource classes from K8sResource to K8SResource (accessor remains client.cloud.k8s)
    • ⚠ BREAKING CHANGE: Renamed all K8s types from K8s* to K8S* (e.g., K8sClusterVersionListK8SClusterVersionList)
  • Load Balancers
    • ⚠ BREAKING CHANGE: Updated LoadBalancerL7Policy model - many fields changed from Optional to required (e.g., id, action, listener_id, name, position, project_id, region, region_id, rules)
    • Improved L7 Policy create/replace methods with action-specific parameter overloads
    • Added proper type overloads for L7 policy polling methods (create_and_poll, replace_and_poll)
  • SSH Keys
    • Added name filter parameter to list() method for partial name matching
  • Tags
    • Clarified documentation: tag keys and values have a maximum length of 255 characters

0.22.0 (2025-11-25)

Full Changelog: v0.21.0...v0.22.0

⚠ BREAKING CHANGES

  • cloud: k8s references from k8 to k8s
  • cloud: updates to get/list LB l7 policy/rules models

Features

  • api: aggregated API specs update (49ac2ae)
  • api: aggregated API specs update (299adc0)
  • api: aggregated API specs update (fff1d1e)
  • cloud: updates to get/list LB l7 policy/rules models (95a4cf1)

Bug Fixes

  • cloud: add overloads to L7 policy polling methods (a639930)
  • cloud: k8s references from k8 to k8s (96211ea)

Chores

  • internal: codegen related update (a6fbaff)

v0.21.0

17 Nov 10:37

Choose a tag to compare

We're excited to announce version 0.21.0!

Cloud

  • Audit Logs
    • Added source_user_ip and user_agent fields to audit log entries for enhanced request tracking
    • Added source_user_ips and user_agents filter parameters to audit log list queries
  • Floating IPs
    • Added status filter parameter to list method for filtering by floating IP state (ACTIVE, DOWN, ERROR)
    • Enhanced status field documentation with clear state descriptions:
      • DOWN - unassigned (available)
      • ACTIVE - attached to a port (in use)
      • ERROR - error state

0.21.0 (2025-11-17)

Full Changelog: v0.20.0...v0.21.0

Features

  • api: aggregated API specs update (0d13f58)

v0.20.0

12 Nov 12:00

Choose a tag to compare

We're excited to announce version 0.20.0!

Cloud

  • GPU Cloud
    • Added comprehensive support for GPU virtual clusters

CDN

  • Enhanced audit log documentation - clarified that path and remote_ip_address parameters require exact matches, not partial matches

Breaking Changes

  • ⚠ BREAKING CHANGE: Dropped Python 3.8 support - the SDK now requires Python 3.9 or higher

0.20.0 (2025-11-12)

Full Changelog: v0.19.0...v0.20.0

Features

  • api: aggregated API specs update (767fdd5)
  • cloud: add support for GPU virtual clusters (c406d97)

Bug Fixes

  • compat with Python 3.14 (90bfffe)
  • compat: update signatures of model_dump and model_dump_json for Pydantic v1 (70e1cc8)

Chores

  • package: drop Python 3.8 support (99955b9)

v0.19.0

10 Nov 09:32

Choose a tag to compare

We're excited to announce version 0.19.0!

Cloud

  • GPU Cloud
    • Added GPU driver information fields (gpu_driver, gpu_driver_type, gpu_driver_version) to Image and GPUImage types
    • Enhanced security groups in GPU baremetal clusters - added id field to security group models for better identification

Storage

  • ⚠ BREAKING CHANGE: Changed storage location from Literal enum type to string - use string values like "ams", "fra", "s-ed1" instead of Literal constants

Security

  • Profiles
    • Enhanced documentation for the site field - clarified it represents the region where protection profiles will be deployed
    • Improved ip_address field type annotations - changed from Optional[str] to str in profile create, recreate, and replace parameters
  • BGP Announces
    • ⚠ BREAKING CHANGE: Removed client_id parameter from bgp_announces.list() method - the client_id parameter is no longer available in BgpAnnounceListParams

0.19.0 (2025-11-10)

Full Changelog: v0.18.0...v0.19.0

Features

  • api: aggregated API specs update (7c0231a)
  • api: aggregated API specs update (00be2a9)
  • api: aggregated API specs update (8469462)
  • api: aggregated API specs update (2c780f3)

v0.18.0

04 Nov 17:19

Choose a tag to compare

We're excited to announce version 0.18.0!

Cloud

  • Databases
    • Added PostgreSQL database support with cluster management, configurations, custom configurations, and user credentials
  • Load Balancers
    • Enhanced listener deletion with delete_default_pool parameter for controlling default pool removal
    • Improved connection limit documentation - clarified that -1 translates to the default value 100000
  • GPU Cloud
    • Added file share support for GPU baremetal clusters - mount file shares across cluster servers
  • Quotas
    • Removed client_id parameter from quota request creation (now automatically inferred)
  • Security Groups
    • Enhanced tag documentation with comprehensive details about tag usage, filtering, and cost reporting integration

CDN

  • IP Ranges
    • Added format and Accept header support for IP range listing methods (JSON or plain text)
  • Statistics
    • Enhanced statistics documentation with improved parameter descriptions
    • Added client_country grouping option for resource usage statistics
    • Clarified resource parameter behavior - when not specified, data for all CDN resources is returned
    • Added timeout range documentation for proxy connect (1s-5s) and read (1s-30s) timeouts

Client

  • Fixed stream handling to properly close streams without requiring full consumption

⚠ BREAKING CHANGES

  • Projects,Quotas: Removed client_id parameter from request creation (now automatically inferred)
  • Projects: Removed state parameter from project request creation

0.18.0 (2025-11-04)

Full Changelog: v0.17.0...v0.18.0

Features

  • api: aggregated API specs update (c69f622)
  • api: aggregated API specs update (e008291)
  • api: aggregated API specs update (7e17f98)
  • api: aggregated API specs update (01c7469)
  • api: aggregated API specs update (3ef8586)
  • api: aggregated API specs update (af54c88)
  • api: aggregated API specs update (4e62953)
  • api: aggregated API specs update (18614cb)
  • api: aggregated API specs update (926c0dd)
  • cloud: add support for postgres (2802edf)

Bug Fixes

  • client: close streams without requiring full consumption (cd7152c)
  • cloud: members not optional in lb pools create_and_poll (27bc07a)

Chores

  • cloud: add *_and_poll() to *WithRawResponse and *WithStreaming (d8886ce)
  • internal/tests: avoid race condition with implicit client cleanup (67e4c77)
  • internal: grammar fix (it's -> its) (9bf8a18)

v0.17.0

21 Oct 21:25

Choose a tag to compare

We're excited to announce version 0.17.0!

CDN

  • Region Management
    • Added list_aws_regions() method to retrieve the list of Amazon AWS regions
    • Added list_alibaba_regions() method to retrieve the list of Alibaba Cloud regions
  • Resources, Resource Rules, and Rule Templates
    • Updated force_return time interval format
    • Enhanced static_headers to support multiple values per header name with nested value structures
    • Made waap_domain_id field nullable in CDN resources
    • Made next_attempt_time field nullable in SSL request status

Cloud

  • File Shares
    • Added update_and_poll() method to automatically handle task polling and return the updated file share
  • Tasks
    • Enhanced poll() method to support a polling_timeout_seconds parameter for configuring task polling timeout
    • Improved polling methods across the SDK to accept polling_timeout_seconds parameter
  • Client Configuration
    • Added cloud_polling_interval_seconds client option to configure default timeout for Cloud polling operations

⚠ BREAKING CHANGES

  • Cloud: Renamed replace() method to update() for better clarity on updating project name and description
  • File Shares Enhanced update() method to use new PATCH /v3/file_shares endpoint with task-based updates

0.17.0 (2025-10-21)

Full Changelog: v0.16.0...v0.17.0

⚠ BREAKING CHANGES

  • cloud: rename to projects update
  • cloud: use new PATCH files shares endpoint

Features

  • api: aggregated API specs update (c9d6195)
  • cdn: add methods to list aws and alibaba regions (0d1d290)
  • client: add client opt for cloud polling timeout (bad7ecb)
  • cloud: add polling_timeout_seconds parameter to polling methods (8b556ae)
  • cloud: enable TF for placement groups (63abaa7)
  • cloud: support polling timeout in tasks.poll() (3f8a419)

Chores

  • bump httpx-aiohttp version to 0.1.9 (e906ee6)
  • cloud: fix file shares examples (c5cc6fa)
  • cloud: rename to projects update (f3f52da)
  • cloud: use new PATCH files shares endpoint (2ac6bce)

Refactors

  • spec: remove CDN deprecated endpoints (193a257)