Releases: G-Core/gcore-python
v0.29.0
We're excited to announce version 0.29.0!
Cloud
-
Volumes
- Added volume snapshot support - create point-in-time snapshots of volumes with
create(), manage them withlist(),retrieve(), andupdate()methods onvolume_snapshotsresource
- Added volume snapshot support - create point-in-time snapshots of volumes with
-
Instances
- ⚠ BREAKING CHANGE: Renamed instance flavor response types -
FlavorListResponseis nowInstanceFlavorList, andFlavorListResponseResultis nowInstanceFlavorDetailedfor thelist()method
- ⚠ BREAKING CHANGE: Renamed instance flavor response types -
-
Load Balancers
- Fixed collection model types -
list()methods now return properly typed collection models withcountandresultsfields (affects load balancers, flavors, metrics, and statuses) - Added
order_byenum - properly typed sorting parameter with specific values like"created_at.asc","name.desc","provisioning_status.asc", etc. inlist()method - Improved parameter documentation - added clearer descriptions for
project_id,region_id,limit, andoffsetparameters - Added deprecation notices to listener timeout parameters -
timeout_member_connectandtimeout_member_datain listener create and update methods now recommend using pool-level timeout settings (pool.timeout_member_connectandpool.timeout_member_data) instead - Added
default_pool_idfield support - attach listeners to existing pools during creation
- Fixed collection model types -
-
Floating IPs
- Deprecated v1 API methods -
update(),assign(), andunassign()methods are now deprecated in favor of v2 PATCH endpoint (/v2/floatingips/<project_id>/<region_id>/<floating_ip_id>)
- Deprecated v1 API methods -
-
Kubernetes
- Fixed collection model types -
list()methods for clusters and cluster pools now return properly typed collection models withcountandresultsfields
- Fixed collection model types -
-
Security Groups
- Deprecated v1 API methods -
create()andupdate()methods are now deprecated in favor of v2 endpoints (/v2/security_groups/<project_id>/<region_id>) - Added name filtering to
list()- filter security groups by exact name match using thenameparameter
- Deprecated v1 API methods -
-
Networks
- Fixed collection model types -
list()methods for subnets and routers now return properly typed collection models
- Fixed collection model types -
-
Reserved Fixed IPs
- Fixed collection model types -
list()methods for VIP candidate ports and connected ports now return properly typed collection models
- Fixed collection model types -
-
Placement Groups
- Fixed collection model types -
list()methods now return properly typed collection models
- Fixed collection model types -
-
Quota Requests
- Added date range filtering - filter quota requests by creation date using
created_fromandcreated_toparameters - Added request ID filtering - filter by specific request IDs using the
request_idsparameter
- Added date range filtering - filter quota requests by creation date using
-
Audit Logs
- Updated audit log entry type definitions for improved type safety
- Added
task_idfilter parameter tolist()- filter audit logs by task ID
-
Tasks
- Updated task type definitions for better type safety
- Added
task_idfilter parameter tolist()- filter tasks by task ID
IAM
- Users
- ⚠ BREAKING CHANGE: Updated
update()method parameters -name,phone,auth_types,email, andlangfields are now required in user update calls - ⚠ BREAKING CHANGE: Removed
groupsparameter - group assignments can no longer be updated via theupdate()method, use dedicated group management endpoints instead - Removed
companyfield - no longer supported in user updates - Added
client_and_rolesfield to User type - lists all clients the user can access with their respective roles - Added
is_activefield to User type - indicates user activity status - Improved User type field requirements - changed multiple optional fields to required for better type safety (
id,activated,auth_types,client,company,deleted,email,groups,lang)
- ⚠ BREAKING CHANGE: Updated
DNS
-
Zones
- Added
enabledfield to zone responses - indicates whether a DNS zone is enabled or disabled in zone list and get responses - Improved
metafield type safety - changed fromobjecttoDict[str, object]for better type checking when working with zone metadata - Simplified zone get response structure - removed nested
zonewrapper inZoneGetResponse, zone data is now at the top level for easier access - Removed
client_idfield fromZoneGetResponse- use zone-level properties instead
- Added
-
Resource Record Sets
- Updated RRSet type definitions for improved type safety
CDN
- Logs Uploader Policies
- Added
escape_special_charactersfield toLogsUploaderPolicy- enable automatic sanitization of special characters in log values (control characters, quotation marks, non-ASCII characters) for safer transport and processing - Added
format_typeenum - properly typed format type field withLiteral["json", ""]containing supported values:"json"for JSON lines output and""(empty) to use policy format configurations
- Added
0.29.0 (2026-01-19)
Full Changelog: v0.28.0...v0.29.0
⚠ BREAKING CHANGES
- cloud: rename instance flavor model
Features
- api: aggregated API specs update (02468c1)
- api: aggregated API specs update (34ed205)
- api: aggregated API specs update (5e0ea7b)
- api: aggregated API specs update (3350bb9)
- api: aggregated API specs update (d2e76de)
- api: aggregated API specs update (667f129)
- api: aggregated API specs update (e4f64fd)
- api: aggregated API specs update (9f567f9)
- api: aggregated API specs update (43225eb)
- api: aggregated API specs update (3dc71fe)
- api: aggregated API specs update (3c15807)
- client: add support for binary request streaming (e5a58a3)
- client: add support for binary request streaming (780229b)
- cloud: add support for volume snapshots (19103d9)
Bug Fixes
- cloud: rename instance flavor model (3374f91)
- cloud: update type for instance flavor in examples (fabf3fb)
- examples: ignore deprecated warnings for floating IPs (9101b4f)
- examples: ignore deprecated warnings for security groups (823f421)
- use correct collection models (31379f2)
Chores
- internal: update
actions/checkoutversion (a407b00)
v0.28.0
We're excited to announce version 0.28.0!
IAM
- API Tokens
- ⚠ BREAKING CHANGE: Response type renamed from APITokenCreate to APITokenCreated for the create() method
- Users
- ⚠ BREAKING CHANGE: Response type renamed from UserUpdate to UserUpdated for the update() method
Cloud
- SSH Keys
- ⚠ BREAKING CHANGE: Response type renamed from SSHKeyCreate to SSHKeyCreated for the create() method
- Fixed SSH keys example code to use correct type names
- User Role Assignments
- ⚠ BREAKING CHANGE: Response type renamed from RoleAssignmentUpdateDelete to RoleAssignmentUpdatedDeleted for the update() and delete() methods
- Inference API Keys
- ⚠ BREAKING CHANGE: Response type renamed from InferenceAPIKeyCreate to InferenceAPIKeyCreated for the create() method
- Registry Users
- ⚠ BREAKING CHANGE: Response type renamed from RegistryUserCreate to RegistryUserCreated for the create() and create_multiple() methods
Streaming
- Playlists
- ⚠ BREAKING CHANGE: Response type renamed from PlaylistCreate to PlaylistCreated for the create() method
0.28.0 (2025-12-30)
Full Changelog: v0.27.0...v0.28.0
⚠ BREAKING CHANGES
- change naming for POST, PUT, PATCH, DELETE models
Bug Fixes
- cloud: fix SSH keys examples (4e79f57)
Chores
- change naming for POST, PUT, PATCH, DELETE models (ae21e7c)
v0.27.0
We're excited to announce version 0.27.0!
Cloud
- GPU Cloud
- ⚠ BREAKING CHANGE: Restructured GPU baremetal clusters API - all methods have been moved from
gpu_baremetal_clusterstogpu_baremetal.clusters(e.g.,client.cloud.gpu_baremetal_clusters.create()is nowclient.cloud.gpu_baremetal.clusters.create(), and all sub-resources likeinterfaces,servers,flavors, andimagesare now nested undergpu_baremetal.clusters)
- ⚠ BREAKING CHANGE: Restructured GPU baremetal clusters API - all methods have been moved from
0.27.0 (2025-12-30)
Full Changelog: v0.26.0...v0.27.0
⚠ BREAKING CHANGES
- cloud: restructure to be gpu_baremetal.clusters
Features
- cloud: restructure to be gpu_baremetal.clusters (e6fec4e)
v0.26.0
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_clusterstogpu_virtual.clustersinterfaces, servers, volumes) - ⚠ BREAKING CHANGE: Moved GPU baremetal cluster interface attach/detach methods -
attach_interface()anddetach_interface()have been moved fromgpu_baremetal_clusters.serverstogpu_baremetal_clusters.interfaces - Added
image_idfield toGPUBaremetalCluster- now includes the image ID used by the cluster
- ⚠ BREAKING CHANGE: Restructured GPU virtual clusters API - all methods have been moved from
-
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
- Added
-
Load Balancers
- Enhanced load balancer listener creation - added
default_pool_idparameter to attach listener to an existing pool during creation
- Enhanced load balancer listener creation - added
DNS
- Network Mappings
- Improved type safety - changed
cidr4andcidr6fields fromList[object]toList[str]inDNSMappingEntryandDNSMappingEntryParam - ⚠ BREAKING CHANGE: Updated
replace()method signature - changed frompath_idandbody_idparameters to a singleidpath parameter - Removed
idfield fromNetworkMappingCreateParams(read-only field should not be in request parameters)
- Improved type safety - changed
Client
- Fixed
async_to_httpx_filesusage 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
v0.25.0
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
- ⚠ BREAKING CHANGE: Streamlined VIP connected and candidate ports API - methods have been reorganized into sub-resources for better 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
v0.24.0
We're excited to announce version 0.24.0!
Cloud
- Load Balancers
- ⚠ BREAKING CHANGE: Replaced
replace_and_poll()withupdate_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(previouslyadd/remove)
- ⚠ BREAKING CHANGE: Replaced
- 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_logsnaming conventions
- ⚠ BREAKING CHANGE: Streamlined
- 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
v0.23.0
We're excited to announce version 0.23.0!
Cloud
- Baremetal
- ⚠ BREAKING CHANGE: Fixed
servers.create_and_poll()method signature to matchcreate()method parameter types - ⚠ BREAKING CHANGE: Removed
BaremetalFlavor.reserved_in_stockfield - Updated
app_configparameter to use typed dict instead of generic object
- ⚠ BREAKING CHANGE: Fixed
- Instances
- ⚠ BREAKING CHANGE: Fixed
create_and_poll()method signature to matchcreate()method parameter types - Updated
configurationparameter to use typed dict instead of generic object
- ⚠ BREAKING CHANGE: Fixed
- Load Balancers
- Updated
LoadBalancerFlavorDetail.hardware_descriptionto use union type for better type safety - Updated
LoadBalancerListenerDetail.insert_headersto use typed dict instead of generic object
- Updated
- Regions
- Updated
Region.Coordinates.latitudeandRegion.Coordinates.longitudeto support both float and string types via union types
- Updated
- Security Groups
- Improved parameter documentation for
SecurityGroupCreateParamsandSecurityGroupListParams - Updated documentation for
project_id,region_id,limit,offset,tag_key_value, andtag_keyparameters
- Improved parameter documentation for
- Audit Logs
- Updated
AuditLogEntry.action_datato use typed dict instead of generic object - Updated
AuditLogEntry.Resource.resource_bodyto use typed dict instead of generic object
- Updated
- Billing Reservations
- Improved
metric_nameparameter documentation with example
- Improved
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
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
We're excited to announce version 0.22.0!
Cloud
- Kubernetes
- ⚠ BREAKING CHANGE: Renamed K8s resource classes from
K8sResourcetoK8SResource(accessor remainsclient.cloud.k8s) - ⚠ BREAKING CHANGE: Renamed all K8s types from
K8s*toK8S*(e.g.,K8sClusterVersionList→K8SClusterVersionList)
- ⚠ BREAKING CHANGE: Renamed K8s resource classes from
- Load Balancers
- ⚠ BREAKING CHANGE: Updated
LoadBalancerL7Policymodel - many fields changed fromOptionalto 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)
- ⚠ BREAKING CHANGE: Updated
- SSH Keys
- Added
namefilter parameter tolist()method for partial name matching
- Added
- 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
We're excited to announce version 0.21.0!
Cloud
- Audit Logs
- Added
source_user_ipanduser_agentfields to audit log entries for enhanced request tracking - Added
source_user_ipsanduser_agentsfilter parameters to audit log list queries
- Added
- Floating IPs
- Added
statusfilter 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
- Added
0.21.0 (2025-11-17)
Full Changelog: v0.20.0...v0.21.0
Features
- api: aggregated API specs update (0d13f58)
v0.20.0
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
pathandremote_ip_addressparameters 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
Bug Fixes
- compat with Python 3.14 (90bfffe)
- compat: update signatures of
model_dumpandmodel_dump_jsonfor Pydantic v1 (70e1cc8)
Chores
- package: drop Python 3.8 support (99955b9)