Skip to content

v6.0.0

Choose a tag to compare

@bt-platform-eng bt-platform-eng released this 05 Jun 18:33
· 19 commits to master since this release

6.0.0 (2026-06-05)

Breaking changes

  1. Pagination types gained type parameters. core.Page[T] and core.PageIterator[T] are now core.Page[Cursor, T, R] / core.PageIterator[Cursor, T, R] (the return type of every paginated List/ListV2 method — Tokens.ListV2, Applications.List, Proxies.List, Reactors.List, Logs.List, Tenants.Members.List, Tenants.Invitations.List, and others).

    • No change needed if you iterate idiomatically: iter := client.Tokens.List(...) then .Next() / .Current() still compile via type inference, and the method names are unchanged.
    • Action required only if you name core.Page[...] / core.PageIterator[...] explicitly (a var declaration, struct field, or function parameter) — add the two new type arguments. Example: *core.Page[*Token] → *core.Page[*string, *Token, *TokenCursorPaginatedList].
  2. Subpackage NewClient signature changed. Service subpackages (e.g. tokens, proxies, applications, reactors, …) changed NewClient(opts ...option.RequestOption) → NewClient(options *core.RequestOptions).

    • No change needed for the common entry point — the top-level client.NewClient(opts ...option.RequestOption) is unchanged, and all sub-client fields (client.Tokens, client.Applications, …) keep their names and types.
    • Action required only if you construct a service subpackage client directly (e.g. tokens.NewClient(...)): pass a single *core.RequestOptions instead of variadic options.
  3. Tenants.Members.List is now paginated. It previously returned a flat *TenantMemberResponsePaginatedList; it now returns a *core.Page[...] pager. Update call sites to iterate the pager (.Next() / .Current()) instead of reading a single response object.

  4. Tenants.Connections.Delete no longer returns a body. The 204 response previously deserialized to *CreateTenantConnectionResponse; it now returns only error. Remove any code reading a return value from this call.

  5. Application-key list filter field renamed ID → KeyID. On ApplicationKeysListRequest, the key-id filter field is now KeyID (the underlying query parameter sent to the API is unchanged). If you set this filter, rename req.ID → req.KeyID. This resolves a collision with the path id parameter that the upgraded generator rejects.

  6. Enrichments method renamed Getcarddetails → CardDetails. Call client.Enrichments.CardDetails(...). The previous name was auto-derived; it is now explicitly named.

  7. Tenant-owner transfer relocated and renamed. client.Tenants.OwnerTransfer(...) is now client.Tenants.Owner.Transfer(...), and it now accepts idempotency options (option.IdempotentRequestOption). Update the call path accordingly.

Behavioral change (not a compile break)

  • Webhook Events now always serializes. CreateWebhookRequest.Events, UpdateWebhookRequest.Events, and Webhook.Events dropped omitempty from their JSON tag. An empty events slice now serializes as [] in the request body instead of being omitted.