github anza-xyz/kit v6.9.0

8 hours ago

@solana/kit

v6.9.0 (2026-05-06)

Minor Changes

  • [@solana/accounts, @solana/addresses, @solana/assertions, @solana/codecs, @solana/codecs-core, @solana/codecs-data-structures, @solana/codecs-numbers, @solana/codecs-strings, @solana/compat, @solana/errors, @solana/fast-stable-stringify, @solana/fixed-points, @solana/functional, @solana/instruction-plans, @solana/instructions, @solana/keys, @solana/kit, @solana/nominal-types, @solana/offchain-messages, @solana/options, @solana/plugin-core, @solana/plugin-interfaces, @solana/program-client-core, @solana/programs, @solana/promises, @solana/rpc, @solana/rpc-api, @solana/rpc-graphql, @solana/rpc-parsed-types, @solana/rpc-spec, @solana/rpc-spec-types, @solana/rpc-subscriptions, @solana/rpc-subscriptions-api, @solana/rpc-subscriptions-channel-websocket, @solana/rpc-subscriptions-spec, @solana/rpc-transformers, @solana/rpc-transport-http, @solana/rpc-types, @solana/signers, @solana/subscribable, @solana/sysvars, @solana/transaction-confirmation, @solana/transaction-messages, @solana/transactions, @solana/wallet-account-signer, @solana/webcrypto-ed25519-polyfill] #1562 096c48e Thanks @lorisleiva! - Bump the TypeScript peer dependency floor from >=5.0.0 to >=5.4.0.

  • [@solana/codecs, @solana/fixed-points, @solana/kit] #1570 c5e0e14 Thanks @lorisleiva! - Add a new @solana/fixed-points package providing precise fixed-point number types for Solana, both decimal (power-of-10 scale) and binary (power-of-2 scale), in signed and unsigned flavors with arbitrary bit widths. The package includes factories, guards, arithmetic, comparisons, signedness conversions, rescaling, string/number formatting, and byte-level codecs. Also re-exported from @solana/codecs and @solana/kit.

  • [@solana/errors] #1542 92126f4 Thanks @mcintyre94! - Add SOLANA_ERROR__WALLET__NO_SIGNER_CONNECTED and SOLANA_ERROR__WALLET__SIGNER_NOT_AVAILABLE error codes for wallet-signer availability checks.

  • [@solana/errors] #1559 a5ef97b Thanks @lorisleiva! - Add 13 new error codes in the [8090000, 8090999] range for the upcoming @solana/fixed-points package: INVALID_TOTAL_BITS, INVALID_FRACTIONAL_BITS, INVALID_DECIMALS, FRACTIONAL_BITS_EXCEED_TOTAL_BITS, VALUE_OUT_OF_RANGE, INVALID_STRING, INVALID_ZERO_DENOMINATOR_RATIO, ARITHMETIC_OVERFLOW, SHAPE_MISMATCH, DIVISION_BY_ZERO, STRICT_MODE_PRECISION_LOSS, MALFORMED_RAW_VALUE, and TOTAL_BITS_NOT_BYTE_ALIGNED.

  • [@solana/errors, @solana/kit, @solana/rpc-api, @solana/rpc-parsed-types] #1544 e82e03e Thanks @mcintyre94! - Update RPC types for Agave v3.x validator compatibility.

    @solana/rpc-parsed-types: JsonParsedVoteAccount now includes blockRevenueCollector, blockRevenueCommissionBps, blsPubkeyCompressed, inflationRewardsCollector, inflationRewardsCommissionBps, pendingDelegatorRewards, and a latency field on each vote entry.

    @solana/rpc-api: SimulateTransactionApiResponseBase now includes fee, loadedAddresses, preBalances, postBalances, preTokenBalances, and postTokenBalances.

    @solana/errors: RpcSimulateTransactionResult updated with the same new fields.

    Note on replacementBlockhash: Agave v3.x validators now always return replacementBlockhash in simulateTransaction responses (as null when replaceRecentBlockhash is not set). Kit's types still model this field as conditionally present based on config. A future breaking change will move it to the base response type as TransactionBlockhashLifetime | null to match v3.x behavior. Consumers using v3.x validators may see this field at runtime even when Kit's types don't surface it.

    Note on Agave v3.x validator behavior: Validators running Agave v3.x no longer return a dedicated TRANSACTION_SIGNATURE_VERIFICATION_FAILURE RPC error for invalid signatures in simulateTransaction or sendTransaction. Instead, simulateTransaction returns a result with err: "SignatureFailure", and sendTransaction returns a preflight failure with the signature error as the cause. This is a validator-level change and does not affect Kit's API surface.

  • [@solana/kit, @solana/plugin-interfaces] #1551 d24f908 Thanks @mcintyre94! - Add ClientWithSubscribeToPayer and ClientWithSubscribeToIdentity interfaces. These are a framework-agnostic convention for plugins that mutate client.payer / client.identity reactively — they install a sibling subscribeToPayer / subscribeToIdentity function so consumers can observe changes without naming the specific plugin that provides them.

  • [@solana/kit, @solana/rpc-types] #1578 0e8fd3f Thanks @lorisleiva! - Add Sol, sol(), solToLamports, and lamportsToSol helpers for converting between SOL amounts expressed as @solana/fixed-points values and Lamports branded bigints. Also add getSolEncoder, getSolDecoder, and getSolCodec for serializing SOL amounts to bytes (the encoder accepts both Sol and Lamports inputs; the decoder always returns Sol). Finally, update getLamportsEncoder/getDefaultLamportsEncoder and their codec counterparts to also accept Sol as input.

  • [@solana/promises] #1549 8d73de5 Thanks @mcintyre94! - Added isAbortError(err) — returns true if err is an Error whose name is 'AbortError'. Use it to distinguish abort rejections from other failures without having to instanceof-check every platform-specific error class.

Patch Changes

  • [@solana/plugin-core] #1569 b1ae82b Thanks @lorisleiva! - Fix extendClient so that a later plugin can override a key previously set by an earlier plugin. Previously, chaining two plugins that set the same key threw TypeError: Cannot redefine property because the frozen client's non-configurable property descriptors were copied verbatim onto the intermediate object.

  • [@solana/wallet-account-signer] #1548 f9bf4ef Thanks @mcintyre94! - Widen the chain parameter on createSignerFromWalletAccount, createTransactionSignerFromWalletAccount, and createTransactionSendingSignerFromWalletAccount from SolanaChain to SolanaChain | (IdentifierString & {}). The known Solana chain identifiers continue to autocomplete, but any Wallet Standard ${namespace}:${reference} value is now also accepted, matching the underlying solana:signTransaction and solana:signAndSendTransaction feature inputs.

Don't miss a new kit release

NewReleases is sending notifications on new releases.