Non-breaking release: a new hand-written KestraClient plus new APIs ship alongside the existing generated v1
surface. Drop-in upgrade for v1.0.x consumers.
Features
- Hand-written Go SDK client (#230) — Replaced the auto-generated OpenAPI client with hand-written API classes
matching the Java SDK pattern: a new KestraClient with functional options (WithBasicAuth, WithTokenAuth,
WithHTTPClient), 17 API classes built on shared baseAPI helpers, plus fixes for the Ping endpoint, chunked-response
handling, and duplicate methods. - New client options: WithHeaders/WithHeader and WithDebug/WithLogger (closes #255) — Custom default headers merged
into every request, and curl-style request/response debug logging (stderr or a custom io.Writer) with sensitive
headers redacted. Auth precedence is deterministic: explicit auth options always win over an Authorization header
set via WithHeaders. - Invitations API — New InvitationsAPI covering create, get, list-by-email, search, and delete, verified against
the EE controller. Search uses the Kestra 2.0 filters array, with new QueryFilterField constants (QUERY, EMAIL,
STATUS, EXPIRED_AT, SUPER_ADMIN). Unblocks kestractl#61. - Bindings API — Added to unblock kestractl#60.
- Kestra 2.0 filter translation — Legacy per-endpoint search params (q, namespace, flowId, tags, minLevel, taskId)
are now translated into the Kestra 2.0 filters array inside the SDK methods, using field-appropriate operators
(e.g. >= for LEVEL, contains for TAGS).