github anza-xyz/kit v3.0.0

latest releases: v6.0.1, v6.0.0, v5.5.1...
5 months ago

@solana/kit

v3.0.0 (2025-08-27)

Major Changes

  • [@solana/codecs-data-structures] #691 771f8ae Thanks @lorisleiva! - BREAKING CHANGE: Removes the following deprecated functions: getDataEnumEncoder, getDataEnumDecoder, getDataEnumCodec, getScalarEnumEncoder, getScalarEnumDecoder and getScalarEnumCodec.

  • [@solana/instructions] #691 771f8ae Thanks @lorisleiva! - BREAKING CHANGE: Removes the following deprecated types: IAccountMeta, IAccountLookupMeta, IInstruction, IInstructionWithAccounts and IInstructionWithData.

  • [@solana/kit, @solana/transactions] #482 00d66fb Thanks @lorisleiva! - BREAKING CHANGE: Transactions must now satisfy the SendableTransaction type before being provided to helper functions that send transactions to the network. On top of ensuring the transaction is fully signed, this type also ensures the transaction is within size limit.

  • [@solana/kit, @solana/transaction-messages] #594 733605d Thanks @lorisleiva! - Extract lifetime token from CompiledTransactionMessage. CompiledTransactionMessage & CompiledTransactionMessageWithLifetime may now be used to refer to a compiled transaction message with a lifetime token. This enables CompiledTransactionMessages to be encoded without the need to specify a mock lifetime token.

  • [@solana/kit, @solana/signers, @solana/transactions] #462 a74ea02 Thanks @lorisleiva! - BREAKING CHANGE: The FullySignedTransaction no longer extends the Transaction type so it can be composed with other flags that also narrow transaction types. This means, whenever FullySignedTransaction is used on its own, it will need to be replaced with FullySignedTransaction & Transaction.

  • [@solana/kit] #691 771f8ae Thanks @lorisleiva! - BREAKING CHANGE: Removes the getComputeUnitEstimateForTransactionMessageFactory deprecated function.

  • [@solana/rpc-spec-types] #732 81c83b1 Thanks @nonergodic! - BREAKING CHANGE: Rename stringifyJsonWithBigints to stringifyJsonWithBigInts for consistency with the rest of the API.

  • [@solana/signers, @solana/transactions] #574 0bd053b Thanks @lorisleiva! - Add the TransactionWithLifetime requirement when signing transactions. This is because, whilst a lifetime may not always be required before compile a transaction message, it is always required when signing a transaction. Otherwise, the transaction signatures will be invalid when one is added later.

  • [@solana/signers] #691 771f8ae Thanks @lorisleiva! - BREAKING CHANGE: Removes the following deprecated types: ITransactionMessageWithSigners, ITransactionMessageWithFeePayerSigner, ITransactionMessageWithSingleSendingSigner, IAccountSignerMeta and IInstructionWithSigners.

  • [@solana/transaction-messages] #691 771f8ae Thanks @lorisleiva! - BREAKING CHANGE: Removes the following deprecated types and functions: CompilableTransactionMessage, ITransactionMessageWithFeePayer, assertIsDurableNonceTransactionMessage and isDurableNonceTransaction. Removes the deprecated readableIndices and writableIndices properties from the AddressTableLookup type — use readonlyIndexes and writableIndexes respectively instead.

  • [@solana/transactions] #691 771f8ae Thanks @lorisleiva! - BREAKING CHANGE: Removes the assertTransactionIsFullySigned deprecated function.

  • [@solana/transactions] #581 55d6b04 Thanks @lorisleiva! - Allow transaction messages with no lifetime constraints to be compiled. Renames TransactionFromCompilableTransactionMessage and SetTransactionLifetimeFromCompilableTransactionMessage type helpers to TransactionFromTransactionMessage and SetTransactionLifetimeFromTransactionMessage respectively, to reflect that they can now be used with transaction messages that do not have a lifetime constraint.

Minor Changes

  • [@solana/errors, @solana/instruction-plans] #664 9feba85 Thanks @lorisleiva! - Add createTransactionPlanExecutor implementation for the TransactionPlanExecutor type.

  • [@solana/errors, @solana/instruction-plans] #648 01f159a Thanks @lorisleiva! - Add createTransactionPlanner implementation for the TransactionPlanner type.

  • [@solana/instruction-plans] #543 358df82 Thanks @lorisleiva! - Add new TransactionPlanResult type with helpers. This type describes the execution results of transaction plans with the same structural hierarchy — capturing the execution status of each transaction message whether executed in parallel, sequentially, or as a single transaction.

  • [@solana/instruction-plans] #546 12d06d1 Thanks @lorisleiva! - Add a TransactionPlanner function type that defines how InstructionPlans gets planned and turned into TransactionPlans.

  • [@solana/instruction-plans] #547 24967d1 Thanks @lorisleiva! - Add a TransactionPlanExecutor function type that defines how TransactionPlans get executed and turned into TransactionPlanResults.

  • [@solana/instruction-plans] #533 7d48ccd Thanks @lorisleiva! - Add a new @solana/instruction-plans package offering a new InstructionPlan type that aims to describe a set of instructions with constraints on how they should be executed — e.g. sequentially, in parallel, divisible, etc.

  • [@solana/instruction-plans] #542 f79d05a Thanks @lorisleiva! - Add new TransactionPlan type with helpers. This type defines a set of transaction messages with constraints on how they should be executed — e.g. sequentially, in parallel, divisible, etc.

  • [@solana/kit] #725 ce8f9db Thanks @lorisleiva! - Re-export @solana/instruction-plans from @solana/kit.

  • [@solana/signers] #582 93ae6f9 Thanks @lorisleiva! - Allow transaction messages with no lifetime constraints to be signed using the Signer API helpers such as signTransactionMessageWithSigners and partiallySignTransactionMessageWithSigners. This is because some TransactionSigners such as TransactionModifyingSigners have the ability to update the transaction before signing it, meaning that the lifetime constraint may not be known until the transaction is signed.

  • [@solana/signers, @solana/transaction-messages] #581 55d6b04 Thanks @lorisleiva! - Allow transaction messages with no lifetime constraints to be compiled. Renames TransactionFromCompilableTransactionMessage and SetTransactionLifetimeFromCompilableTransactionMessage type helpers to TransactionFromTransactionMessage and SetTransactionLifetimeFromTransactionMessage respectively, to reflect that they can now be used with transaction messages that do not have a lifetime constraint.

  • [@solana/transactions] #583 a894d53 Thanks @lorisleiva! - Allow transaction messages with no lifetime constraints in transaction size helpers — i.e. getTransactionMessageSize, isTransactionMessageWithinSizeLimit and assertIsTransactionMessageWithinSizeLimit.

Patch Changes

  • [@solana/codecs-core] #685 98eabac Thanks @steveluscher! - padBytes now strips extra types from the input array, but otherwise returns the same flavour of Uint8Array you gave it, in terms of writability

  • [@solana/codecs-data-structures] #701 9205484 Thanks @mcintyre94! - Make Union codecs FixedSize if all their variants are FixedSize

  • [@solana/errors] #674 6a183bf Thanks @lorisleiva! - Allow SolanaError context objects to use non-enumerable properties. This is useful when it's appropriate for an object to appear in the error context at runtime, but when that object can't be serialized for use by the production mode error decoder. Prior to this, non-enumerable properties would be deleted from context objects when creating new SolanaErrors.

  • [@solana/errors] #658 23d2fa1 Thanks @steveluscher! - Added three missing error messages/contexts

    • JSON_RPC_SERVER_ERROR_EPOCH_REWARDS_PERIOD_ACTIVE: -32017
    • JSON_RPC_SERVER_ERROR_SLOT_NOT_EPOCH_BOUNDARY: -32018
    • JSON_RPC_SERVER_ERROR_LONG_TERM_STORAGE_UNREACHABLE: -32019
  • [@solana/instruction-plans] #727 018479f Thanks @lorisleiva! - Export more types and functions from the @solana/instruction-plans package.

  • [@solana/instruction-plans] #742 c6e8568 Thanks @lorisleiva! - Fix the onTransactionMessageUpdated signature of the createTransactionPlanner helper by removing the unnecessary TTransactionMessage type parameter.

  • [@solana/instruction-plans] #741 a4310a5 Thanks @lorisleiva! - Fix the executeTransactionMessage signature of the createTransactionPlanExecutor helper by removing the unnecessary TTransactionMessage type parameter.

  • [@solana/kit, @solana/signers, @solana/transaction-messages] #584 760fb83 Thanks @lorisleiva! - Deprecate CompilableTransactionMessage in favour of TransactionMessage & TransactionMessageWithFeePayer

Don't miss a new kit release

NewReleases is sending notifications on new releases.