> ## Documentation Index
> Fetch the complete documentation index at: https://docs.privy.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Go changelog

The release notes for our [Go](https://pkg.go.dev/github.com/privy-io/go-sdk) SDK.
Refer to the [package releases](https://pkg.go.dev/github.com/privy-io/go-sdk?tab=versions) for additional details.

<Update label="0.11.0">
  ### Added

  * API updates.
</Update>

<Update label="0.10.0">
  ### Added

  * API updates.
</Update>

<Update label="0.9.0">
  ### Added

  * API updates.

  ### Breaking changes

  * Return types for `NewPolicyRule()` and `UpdatePolicyRule()` changed from `*RuleIntentResponse` to `*RuleMutateIntentResponse`.
  * Return type for `DeletePolicyRule()` changed from `*RuleIntentResponse` to `*RuleDeleteIntentResponse`.
</Update>

<Update label="0.8.0">
  ### Added

  * API updates.

  ### Fixed

  * Avoid panic when `http.DefaultTransport` is wrapped.

  ### Improvements

  * Optimize JSON encoder for internal types.
  * Redact API-key headers in debug logs.
</Update>

<Update label="0.7.0">
  ### Added

  * Add `Verify()` on the webhook service for Svix signature verification and typed deserialization into a `WebhookPayload` discriminated union.
  * Add `WithRequestOptions(...option.RequestOption)` helper to forward per-call request options (e.g. `option.WithHTTPClient`, `option.WithRequestTimeout`) through wrapper methods to the generated client.
  * Add a default `*http.Client` with a request timeout when no custom client is configured.
  * Add `DisableRequestExpiry` option to opt out of automatically sending the `privy-request-expiry` header.
  * Add `PrivyRequestExpiryOptions` with `DefaultMs`, `DefaultIntentMs`, and `Disabled` fields on `PrivyClientOptions.RequestExpiry`. Intents endpoints (`Rpc`, `Transfer`, `UpdateWallet`, `NewPolicyRule`, `DeletePolicyRule`, `UpdatePolicy`, `UpdatePolicyRule`, `UpdateKeyQuorum`) now default to a 72-hour expiry.
  * Add a large set of typed webhook payload types for user, intent, wallet-action, transaction, earn, MFA, funds, and yield events.
  * API updates.

  ### Deprecated

  * Top-level `PrivyClientOptions.DefaultRequestExpiryMs` in favor of `RequestExpiry.DefaultMs`.
  * Top-level `PrivyClientOptions.DisableRequestExpiry` in favor of `RequestExpiry.Disabled`.

  ### Breaking changes

  * `TokenTransferSource` is now a `TokenTransferSourceUnion` discriminated union. `Transfer` calls must construct the source via `OfNamedTokenTransferSource` (e.g. USDC) or `OfCustomTokenTransferSource` (with an explicit `asset_address`).
  * Ethereum transaction fields and responses that previously returned `UnsignedStandardEthereumTransaction` now return `UnsignedEthereumTransactionUnion`. Code that type-asserted the concrete type must handle the union.
  * Default HTTP timeout. Clients that did not configure a custom `HTTPClient` now get one with a default request timeout. Override via `option.WithRequestTimeout` or a custom `HTTPClient` if long-running calls require more time.
</Update>

<Update label="0.6.0">
  ### Added

  * Allow configuring a default `*http.Client` via `PrivyClientOptions`.
  * API updates.

  ### Breaking changes

  * Response structs are now globally suffixed instead of request structs. Type names throughout the SDK have been updated accordingly (e.g., `EthereumSendTransactionRpcInputParam` is now `EthereumSendTransactionRpcInput`).
</Update>

<Update label="0.5.0">
  ### Added

  * Add `IntentService` for manual approval workflows.
  * Add `iter.Seq` support for pagination.
  * API updates.

  ### Fixed

  * Fix `All()` method for iteration.
  * Fix pagination and iteration.
</Update>

<Update label="0.4.0">
  ### Added

  * Support for `privy-request-expiry` header on wallet, policy, and key quorum methods. A default expiry of 15 minutes is applied automatically and can be customized via `PrivyClientOptions.DefaultRequestExpiryMs` or per-request with `WithRequestExpiry`.
  * New `Apps` service for app configuration and allowlist management.
  * New `Webhooks`, `Analytics`, and `Aggregations` services.
  * New `Intents` service for intent-based approval workflows.
  * Spark chain support via `WalletChainTypeSpark`.
  * API updates.

  ### Breaking changes

  * `RpcOption` is now an interface type (`RequestOption`) instead of a function type. `RpcOption` is kept as a type alias. Code using the provided helpers (`WithAuthorizationContext`, `WithIdempotencyKey`) is unaffected, but custom `RpcOption` function literals will no longer compile.
  * `WalletRpcParams` body fields are now nested inside a `WalletRpcRequestBody` field of type `WalletRpcRequestBodyUnionParam`.
  * `WalletRawSignParams` body fields are now nested inside a `RawSignInput` field. The inner union type is renamed from `WalletRawSignParamsParamsUnion` to `RawSignInputParamsUnion`, with variants renamed from `WalletRawSignParamsParamsHash`/`WalletRawSignParamsParamsBytes` to `RawSignHashParams`/`RawSignBytesParams`.
  * `WalletUpdateParams` body fields are now nested inside a `WalletUpdateRequestBody` field.
  * `KeyQuorumNewParams` body fields are now nested inside a `KeyQuorumCreateRequestBody` field.
  * `KeyQuorumUpdateParams` body fields are now nested inside a `KeyQuorumUpdateRequestBody` field.
  * `WalletRawSignResponse` renamed to `RawSignResponse`.
  * `PolicyDeleteResponse`, `PolicyDeleteRuleResponse`, and `KeyQuorumDeleteResponse` consolidated into `SuccessResponse`.
  * RPC input types gained a `Param` suffix (e.g. `EthereumPersonalSignRpcInput` is now `EthereumPersonalSignRpcInputParam`).
  * `WalletExportParamsEncryptionType` renamed to `HpkeEncryption` (constant `WalletExportParamsEncryptionTypeHpke` is now `HpkeEncryptionHpke`).
  * `PolicyNewParamsChainType` replaced by `WalletChainType` (e.g. `PolicyNewParamsChainTypeEthereum` is now `WalletChainTypeEthereum`).
</Update>

<Update label="0.3.0">
  ### Added

  * Added wallet import utility via `Wallets.Import` with HPKE support.
  * Added `GenerateAuthorizationSignaturesForRequest` for creating authorization signatures for requests.
</Update>

<Update label="0.2.0">
  ### Added

  * Wallet export utility with HPKE support.
  * API updates.
</Update>

<Update label="0.1.1">
  ### Added

  * Support for child key quorum IDs.

  ### Changed

  * DX on user creation is now simplified by having account `Type` be a constant that can be elided when building the struct.
  * Remove linked account input utils. Calls to `LinkedAccountInputOfXYZ` are now replaced with `LinkedAccountXYZInput` structs.
</Update>

<Update label="0.1.0">
  **Initial release** of the Go SDK. See the [quickstart](/basics/go/quickstart) guide for more
  details on how to get started.
</Update>
