@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] #1562096c48eThanks @lorisleiva! - Bump the TypeScript peer dependency floor from>=5.0.0to>=5.4.0. -
[
@solana/codecs,@solana/fixed-points,@solana/kit] #1570c5e0e14Thanks @lorisleiva! - Add a new@solana/fixed-pointspackage 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/codecsand@solana/kit. -
[
@solana/errors] #154292126f4Thanks @mcintyre94! - AddSOLANA_ERROR__WALLET__NO_SIGNER_CONNECTEDandSOLANA_ERROR__WALLET__SIGNER_NOT_AVAILABLEerror codes for wallet-signer availability checks. -
[
@solana/errors] #1559a5ef97bThanks @lorisleiva! - Add 13 new error codes in the[8090000, 8090999]range for the upcoming@solana/fixed-pointspackage: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, andTOTAL_BITS_NOT_BYTE_ALIGNED. -
[
@solana/errors,@solana/kit,@solana/rpc-api,@solana/rpc-parsed-types] #1544e82e03eThanks @mcintyre94! - Update RPC types for Agave v3.x validator compatibility.@solana/rpc-parsed-types:JsonParsedVoteAccountnow includesblockRevenueCollector,blockRevenueCommissionBps,blsPubkeyCompressed,inflationRewardsCollector,inflationRewardsCommissionBps,pendingDelegatorRewards, and alatencyfield on each vote entry.@solana/rpc-api:SimulateTransactionApiResponseBasenow includesfee,loadedAddresses,preBalances,postBalances,preTokenBalances, andpostTokenBalances.@solana/errors:RpcSimulateTransactionResultupdated with the same new fields.Note on
replacementBlockhash: Agave v3.x validators now always returnreplacementBlockhashinsimulateTransactionresponses (asnullwhenreplaceRecentBlockhashis 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 asTransactionBlockhashLifetime | nullto 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_FAILURERPC error for invalid signatures insimulateTransactionorsendTransaction. Instead,simulateTransactionreturns a result witherr: "SignatureFailure", andsendTransactionreturns 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] #1551d24f908Thanks @mcintyre94! - AddClientWithSubscribeToPayerandClientWithSubscribeToIdentityinterfaces. These are a framework-agnostic convention for plugins that mutateclient.payer/client.identityreactively — they install a siblingsubscribeToPayer/subscribeToIdentityfunction so consumers can observe changes without naming the specific plugin that provides them. -
[
@solana/kit,@solana/rpc-types] #15780e8fd3fThanks @lorisleiva! - AddSol,sol(),solToLamports, andlamportsToSolhelpers for converting between SOL amounts expressed as@solana/fixed-pointsvalues andLamportsbranded bigints. Also addgetSolEncoder,getSolDecoder, andgetSolCodecfor serializing SOL amounts to bytes (the encoder accepts bothSolandLamportsinputs; the decoder always returnsSol). Finally, updategetLamportsEncoder/getDefaultLamportsEncoderand their codec counterparts to also acceptSolas input. -
[
@solana/promises] #15498d73de5Thanks @mcintyre94! - AddedisAbortError(err)— returnstrueiferris anErrorwhosenameis'AbortError'. Use it to distinguish abort rejections from other failures without having toinstanceof-check every platform-specific error class.
Patch Changes
-
[
@solana/plugin-core] #1569b1ae82bThanks @lorisleiva! - FixextendClientso that a later plugin can override a key previously set by an earlier plugin. Previously, chaining two plugins that set the same key threwTypeError: Cannot redefine propertybecause the frozen client's non-configurable property descriptors were copied verbatim onto the intermediate object. -
[
@solana/wallet-account-signer] #1548f9bf4efThanks @mcintyre94! - Widen thechainparameter oncreateSignerFromWalletAccount,createTransactionSignerFromWalletAccount, andcreateTransactionSendingSignerFromWalletAccountfromSolanaChaintoSolanaChain | (IdentifierString & {}). The known Solana chain identifiers continue to autocomplete, but any Wallet Standard${namespace}:${reference}value is now also accepted, matching the underlyingsolana:signTransactionandsolana:signAndSendTransactionfeature inputs.