From 58b459b1b21d593ed7e329eccf2c902aed973a8c Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 30 Apr 2026 07:26:24 +0000 Subject: [PATCH 1/6] codegen metadata --- .stats.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.stats.yml b/.stats.yml index 33f284f..324dd3f 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 112 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-4ce09d1a7546ab36f578cb27d819187eeb90c580b11834c7ff7a375aa22f9a20.yml +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel/kernel-4ce09d1a7546ab36f578cb27d819187eeb90c580b11834c7ff7a375aa22f9a20.yml openapi_spec_hash: 1043ab2d699f6c828680c3352cd4cece config_hash: 08d55086449943a8fec212b870061a3f From 9bed035e6ab4fe139d1e4cdedfe3d4e4b1dada69 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 30 Apr 2026 14:55:29 +0000 Subject: [PATCH 2/6] feat: Add 'switch' MFA option type for generic method-switcher links --- .stats.yml | 4 ++-- authconnection.go | 16 ++++++++++------ 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/.stats.yml b/.stats.yml index 324dd3f..d0f4a0f 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 112 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel/kernel-4ce09d1a7546ab36f578cb27d819187eeb90c580b11834c7ff7a375aa22f9a20.yml -openapi_spec_hash: 1043ab2d699f6c828680c3352cd4cece +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel/kernel-81659c4d18e7992d17a0930d6c13c8592a0ff5bb974ea9e2e4b3f46d43b117d2.yml +openapi_spec_hash: f3d12a3a0a5e9ce711fb1c571ee36f9c config_hash: 08d55086449943a8fec212b870061a3f diff --git a/authconnection.go b/authconnection.go index 4ae9e4d..99af18c 100644 --- a/authconnection.go +++ b/authconnection.go @@ -430,7 +430,7 @@ type ManagedAuthDiscoveredField struct { // If this field is associated with an MFA option, the type of that option (e.g., // password field linked to "Enter password" option) // - // Any of "sms", "call", "email", "totp", "push", "password". + // Any of "sms", "call", "email", "totp", "push", "password", "switch". LinkedMfaType string `json:"linked_mfa_type" api:"nullable"` // Field placeholder Placeholder string `json:"placeholder"` @@ -491,9 +491,11 @@ const ( type ManagedAuthMfaOption struct { // The visible option text Label string `json:"label" api:"required"` - // The MFA delivery method type (includes password for auth method selection pages) + // The MFA delivery method type. Includes 'password' for auth method selection + // pages and 'switch' for generic method-switcher links like "Use another method" + // that do not name a specific method. // - // Any of "sms", "call", "email", "totp", "push", "password". + // Any of "sms", "call", "email", "totp", "push", "password", "switch". Type string `json:"type" api:"required"` // Additional instructions from the site Description string `json:"description" api:"nullable"` @@ -992,7 +994,7 @@ type AuthConnectionFollowResponseManagedAuthStateDiscoveredField struct { // If this field is associated with an MFA option, the type of that option (e.g., // password field linked to "Enter password" option) // - // Any of "sms", "call", "email", "totp", "push", "password". + // Any of "sms", "call", "email", "totp", "push", "password", "switch". LinkedMfaType string `json:"linked_mfa_type" api:"nullable"` // Field placeholder Placeholder string `json:"placeholder"` @@ -1025,9 +1027,11 @@ func (r *AuthConnectionFollowResponseManagedAuthStateDiscoveredField) UnmarshalJ type AuthConnectionFollowResponseManagedAuthStateMfaOption struct { // The visible option text Label string `json:"label" api:"required"` - // The MFA delivery method type (includes password for auth method selection pages) + // The MFA delivery method type. Includes 'password' for auth method selection + // pages and 'switch' for generic method-switcher links like "Use another method" + // that do not name a specific method. // - // Any of "sms", "call", "email", "totp", "push", "password". + // Any of "sms", "call", "email", "totp", "push", "password", "switch". Type string `json:"type" api:"required"` // Additional instructions from the site Description string `json:"description" api:"nullable"` From ee84eb5af99e11f73b057778fa1a78f4f23699fa Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 1 May 2026 03:39:43 +0000 Subject: [PATCH 3/6] codegen metadata --- .stats.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.stats.yml b/.stats.yml index d0f4a0f..d2492a7 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 112 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel/kernel-81659c4d18e7992d17a0930d6c13c8592a0ff5bb974ea9e2e4b3f46d43b117d2.yml +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel/kernel-718b49461ceaa1d6cac7854c29dfef9036a83f6632e756c9d1ecf31fd77c57f6.yml openapi_spec_hash: f3d12a3a0a5e9ce711fb1c571ee36f9c config_hash: 08d55086449943a8fec212b870061a3f From b3465f1174e2136bed8830cc4be18cf464068925 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 1 May 2026 03:42:55 +0000 Subject: [PATCH 4/6] chore: avoid embedding reflect.Type for dead code elimination --- internal/apiform/encoder.go | 4 ++-- internal/apijson/decoder.go | 4 ++-- internal/apijson/encoder.go | 4 ++-- internal/apiquery/encoder.go | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/internal/apiform/encoder.go b/internal/apiform/encoder.go index 5cf185c..1cd9ea9 100644 --- a/internal/apiform/encoder.go +++ b/internal/apiform/encoder.go @@ -58,7 +58,7 @@ type encoderField struct { } type encoderEntry struct { - reflect.Type + typ reflect.Type dateFormat string arrayFmt string root bool @@ -76,7 +76,7 @@ func (e *encoder) marshal(value any, writer *multipart.Writer) error { func (e *encoder) typeEncoder(t reflect.Type) encoderFunc { entry := encoderEntry{ - Type: t, + typ: t, dateFormat: e.dateFormat, arrayFmt: e.arrayFmt, root: e.root, diff --git a/internal/apijson/decoder.go b/internal/apijson/decoder.go index fe2c4a0..54280e8 100644 --- a/internal/apijson/decoder.go +++ b/internal/apijson/decoder.go @@ -80,7 +80,7 @@ type decoderField struct { } type decoderEntry struct { - reflect.Type + typ reflect.Type dateFormat string root bool } @@ -108,7 +108,7 @@ func (d *decoderBuilder) unmarshalWithExactness(raw []byte, to any) (exactness, func (d *decoderBuilder) typeDecoder(t reflect.Type) decoderFunc { entry := decoderEntry{ - Type: t, + typ: t, dateFormat: d.dateFormat, root: d.root, } diff --git a/internal/apijson/encoder.go b/internal/apijson/encoder.go index afe611e..9b9fe1f 100644 --- a/internal/apijson/encoder.go +++ b/internal/apijson/encoder.go @@ -46,7 +46,7 @@ type encoderField struct { } type encoderEntry struct { - reflect.Type + typ reflect.Type dateFormat string root bool } @@ -63,7 +63,7 @@ func (e *encoder) marshal(value any) ([]byte, error) { func (e *encoder) typeEncoder(t reflect.Type) encoderFunc { entry := encoderEntry{ - Type: t, + typ: t, dateFormat: e.dateFormat, root: e.root, } diff --git a/internal/apiquery/encoder.go b/internal/apiquery/encoder.go index 596fbb4..faadb43 100644 --- a/internal/apiquery/encoder.go +++ b/internal/apiquery/encoder.go @@ -29,7 +29,7 @@ type encoderField struct { } type encoderEntry struct { - reflect.Type + typ reflect.Type dateFormat string root bool settings QuerySettings @@ -42,7 +42,7 @@ type Pair struct { func (e *encoder) typeEncoder(t reflect.Type) encoderFunc { entry := encoderEntry{ - Type: t, + typ: t, dateFormat: e.dateFormat, root: e.root, settings: e.settings, From 588318ca172dd613cf7afcedbccd0ceca99c90ce Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Sat, 2 May 2026 16:48:38 +0000 Subject: [PATCH 5/6] feat(api): server-side search on GET /projects --- .stats.yml | 4 ++-- project.go | 2 ++ project_test.go | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index d2492a7..229ced7 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 112 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel/kernel-718b49461ceaa1d6cac7854c29dfef9036a83f6632e756c9d1ecf31fd77c57f6.yml -openapi_spec_hash: f3d12a3a0a5e9ce711fb1c571ee36f9c +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel/kernel-86e061884d273a27064593a0de3a4ba366a12a1001181741addb4f781be18ec9.yml +openapi_spec_hash: e0a4ddf4a3302599376756127099488c config_hash: 08d55086449943a8fec212b870061a3f diff --git a/project.go b/project.go index acf1f22..f2bdb23 100644 --- a/project.go +++ b/project.go @@ -223,6 +223,8 @@ type ProjectListParams struct { Limit param.Opt[int64] `query:"limit,omitzero" json:"-"` // Number of results to skip Offset param.Opt[int64] `query:"offset,omitzero" json:"-"` + // Case-insensitive substring match against project name + Query param.Opt[string] `query:"query,omitzero" json:"-"` paramObj } diff --git a/project_test.go b/project_test.go index 047ac95..a8fefba 100644 --- a/project_test.go +++ b/project_test.go @@ -111,6 +111,7 @@ func TestProjectListWithOptionalParams(t *testing.T) { _, err := client.Projects.List(context.TODO(), kernel.ProjectListParams{ Limit: kernel.Int(100), Offset: kernel.Int(0), + Query: kernel.String("query"), }) if err != nil { var apierr *kernel.Error From 389f49ee5fc21e4e7629337c38c88425bc43236d Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Sat, 2 May 2026 16:49:03 +0000 Subject: [PATCH 6/6] release: 0.53.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 14 ++++++++++++++ README.md | 2 +- internal/version.go | 2 +- 4 files changed, 17 insertions(+), 3 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index fed4b17..c3e01e1 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.52.0" + ".": "0.53.0" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index ec22edc..454d3d6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,19 @@ # Changelog +## 0.53.0 (2026-05-02) + +Full Changelog: [v0.52.0...v0.53.0](https://github.com/kernel/kernel-go-sdk/compare/v0.52.0...v0.53.0) + +### Features + +* Add 'switch' MFA option type for generic method-switcher links ([9bed035](https://github.com/kernel/kernel-go-sdk/commit/9bed035e6ab4fe139d1e4cdedfe3d4e4b1dada69)) +* **api:** server-side search on GET /projects ([588318c](https://github.com/kernel/kernel-go-sdk/commit/588318ca172dd613cf7afcedbccd0ceca99c90ce)) + + +### Chores + +* avoid embedding reflect.Type for dead code elimination ([b3465f1](https://github.com/kernel/kernel-go-sdk/commit/b3465f1174e2136bed8830cc4be18cf464068925)) + ## 0.52.0 (2026-04-29) Full Changelog: [v0.51.0...v0.52.0](https://github.com/kernel/kernel-go-sdk/compare/v0.51.0...v0.52.0) diff --git a/README.md b/README.md index 45fd7c1..3c30013 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ Or to pin the version: ```sh -go get -u 'github.com/kernel/kernel-go-sdk@v0.52.0' +go get -u 'github.com/kernel/kernel-go-sdk@v0.53.0' ``` diff --git a/internal/version.go b/internal/version.go index 6542caa..fd0f8e3 100644 --- a/internal/version.go +++ b/internal/version.go @@ -2,4 +2,4 @@ package internal -const PackageVersion = "0.52.0" // x-release-please-version +const PackageVersion = "0.53.0" // x-release-please-version