Skip to content
Merged
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
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.141.0"
".": "0.142.0"
}
2 changes: 1 addition & 1 deletion .stats.yml
Original file line number Diff line number Diff line change
@@ -1 +1 @@
configured_endpoints: 176
configured_endpoints: 178
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# Changelog

## [0.142.0](https://github.com/kernel/kernel-go-sdk/compare/v0.141.0...v0.142.0) (2026-11-06)


### Features

* Let reserved orgs list, pin and move ISP proxy IPs ([cc6cd8e](https://github.com/kernel/kernel-go-sdk/commit/cc6cd8ecff93dbb826e7fb7887f3cd3642631366))

## [0.141.0](https://github.com/kernel/kernel-go-sdk/compare/v0.139.0...v0.141.0) (2026-11-05)


Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ Or to pin the version:
<!-- x-release-please-start-version -->

```sh
go get -u 'github.com/kernel/kernel-go-sdk@v0.141.0'
go get -u 'github.com/kernel/kernel-go-sdk@v0.142.0'
```

<!-- x-release-please-end -->
Expand Down
12 changes: 12 additions & 0 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -479,6 +479,18 @@ Methods:
- <code title="delete /proxies/{id_or_name}">client.Proxies.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#ProxyService.Delete">Delete</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, idOrName <a href="https://pkg.go.dev/builtin#string">string</a>) <a href="https://pkg.go.dev/builtin#error">error</a></code>
- <code title="post /proxies/{id_or_name}/check">client.Proxies.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#ProxyService.Check">Check</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, idOrName <a href="https://pkg.go.dev/builtin#string">string</a>, body <a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk">kernel</a>.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#ProxyCheckParams">ProxyCheckParams</a>) (\*<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk">kernel</a>.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#ProxyCheckResponse">ProxyCheckResponse</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>

# ProxyIPs

Response Types:

- <a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk">kernel</a>.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#ProxyIP">ProxyIP</a>
- <a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk">kernel</a>.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#ProxyIPDetail">ProxyIPDetail</a>

Methods:

- <code title="get /proxy_ips/{ip_address}">client.ProxyIPs.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#ProxyIPService.Get">Get</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, ipAddress <a href="https://pkg.go.dev/builtin#string">string</a>) (\*<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk">kernel</a>.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#ProxyIPDetail">ProxyIPDetail</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
- <code title="get /proxy_ips">client.ProxyIPs.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#ProxyIPService.List">List</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, query <a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk">kernel</a>.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#ProxyIPListParams">ProxyIPListParams</a>) (\*<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk/packages/pagination">pagination</a>.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk/packages/pagination#OffsetPagination">OffsetPagination</a>[<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk">kernel</a>.<a href="https://pkg.go.dev/github.com/kernel/kernel-go-sdk#ProxyIP">ProxyIP</a>], <a href="https://pkg.go.dev/builtin#error">error</a>)</code>

# Extensions

Response Types:
Expand Down
3 changes: 3 additions & 0 deletions client.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@ type Client struct {
Telemetry TelemetryService
// Create and manage proxy configurations for routing browser traffic.
Proxies ProxyService
// Create and manage proxy configurations for routing browser traffic.
ProxyIPs ProxyIPService
// Create, list, retrieve, and delete browser extensions.
Extensions ExtensionService
// Create and manage browser pools for acquiring and releasing browsers.
Expand Down Expand Up @@ -101,6 +103,7 @@ func NewClient(opts ...option.RequestOption) (r Client) {
r.Auth = NewAuthService(opts...)
r.Telemetry = NewTelemetryService(opts...)
r.Proxies = NewProxyService(opts...)
r.ProxyIPs = NewProxyIPService(opts...)
r.Extensions = NewExtensionService(opts...)
r.BrowserPools = NewBrowserPoolService(opts...)
r.VaultProviderConfigs = NewVaultProviderConfigService(opts...)
Expand Down
39 changes: 26 additions & 13 deletions configregistry.go
Original file line number Diff line number Diff line change
Expand Up @@ -507,6 +507,8 @@ func (r *ProxyManagedCreate) UnmarshalJSON(data []byte) error {
// Use the methods beginning with 'As' to cast the union to one of its variants.
type ProxyManagedCreateConfigUnion struct {
Country string `json:"country"`
// This field is from variant [ProxyManagedCreateConfigIsp].
IPAddress string `json:"ip_address"`
// This field is from variant [ProxyManagedCreateConfigResidential].
Asn string `json:"asn"`
City string `json:"city"`
Expand All @@ -526,18 +528,19 @@ type ProxyManagedCreateConfigUnion struct {
// This field is from variant [ProxyManagedCreateConfigCustom].
Username string `json:"username"`
JSON struct {
Country respjson.Field
Asn respjson.Field
City respjson.Field
Os respjson.Field
State respjson.Field
Zip respjson.Field
Host respjson.Field
Port respjson.Field
CaBundle respjson.Field
Password respjson.Field
Username respjson.Field
raw string
Country respjson.Field
IPAddress respjson.Field
Asn respjson.Field
City respjson.Field
Os respjson.Field
State respjson.Field
Zip respjson.Field
Host respjson.Field
Port respjson.Field
CaBundle respjson.Field
Password respjson.Field
Username respjson.Field
raw string
} `json:"-"`
}

Expand Down Expand Up @@ -571,11 +574,21 @@ func (r *ProxyManagedCreateConfigUnion) UnmarshalJSON(data []byte) error {
// Configuration for an ISP proxy.
type ProxyManagedCreateConfigIsp struct {
// ISO 3166 country code. Supported countries are US, GB, FR, DE, SG, and KR.
// Defaults to US if not provided.
// Defaults to US if not provided, or to the country of ip_address when that is
// set.
Country string `json:"country"`
// Reserved exit IP to pin the proxy to. Available only to organizations with a
// reserved ISP allocation; the IP must be active in it (see GET /proxy_ips) and,
// when country is also set, in that country. Omit to let Kernel choose an IP. A
// proxy read includes it only when the proxy's primary exit IP is one of the
// organization's reserved IPs; every ISP proxy's exit IP is on the top-level
// ip_address. An IP outside the allocation is rejected with code ip_not_reserved;
// one that cannot currently be assigned, with 409 ip_unavailable.
IPAddress string `json:"ip_address"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Country respjson.Field
IPAddress respjson.Field
ExtraFields map[string]respjson.Field
raw string
} `json:"-"`
Expand Down
2 changes: 1 addition & 1 deletion internal/version.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@

package internal

const PackageVersion = "0.141.0" // x-release-please-version
const PackageVersion = "0.142.0" // x-release-please-version
Loading
Loading