Skip to content

Version Packages#1305

Merged
lorisleiva merged 1 commit into
mainfrom
changeset-release/main
Feb 4, 2026
Merged

Version Packages#1305
lorisleiva merged 1 commit into
mainfrom
changeset-release/main

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot commented Feb 2, 2026

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@solana/instruction-plans@6.0.0

Major Changes

  • #1302 5f12df2 Thanks @lorisleiva! - The executeTransactionMessage callback in createTransactionPlanExecutor now receives a mutable context object as its first argument. This context can be incrementally populated during execution (e.g. with the latest transaction message, the compiled transaction, or custom properties) and is preserved in the resulting SingleTransactionPlanResult regardless of the outcome. If an error is thrown at any point in the callback, any attributes already saved to the context will still be available in the FailedSingleTransactionPlanResult, which is useful for debugging failures or building recovery plans.

    The callback must now return either a Signature or a full Transaction object directly, instead of wrapping the result in an object.

    BREAKING CHANGES

    executeTransactionMessage callback signature changed. The callback now receives (context, message, config) instead of (message, config) and returns Signature | Transaction instead of { transaction: Transaction } | { signature: Signature }.

      const executor = createTransactionPlanExecutor({
    -   executeTransactionMessage: async (message, { abortSignal }) => {
    +   executeTransactionMessage: async (context, message, { abortSignal }) => {
          const transaction = await signTransactionMessageWithSigners(message);
    +     context.transaction = transaction;
          await sendAndConfirmTransaction(transaction, { commitment: 'confirmed' });
    -     return { transaction };
    +     return transaction;
        }
      });

    Custom context is now set via mutation instead of being returned. Previously, custom context was returned as part of the result object. Now, it must be set directly on the mutable context argument.

      const executor = createTransactionPlanExecutor({
    -   executeTransactionMessage: async (message) => {
    -     const transaction = await signAndSend(message);
    -     return { transaction, context: { custom: 'value' } };
    +   executeTransactionMessage: async (context, message) => {
    +     context.custom = 'value';
    +     const transaction = await signAndSend(message);
    +     return transaction;
        }
      });
  • #1293 5c810ac Thanks @lorisleiva! - Reshape the successful SingleTransactionPlanResult factory functions. The successfulSingleTransactionPlanResult helper now accepts a context object (which must include a signature property) instead of a separate signature argument. A new successfulSingleTransactionPlanResultFromTransaction helper is introduced for the common case of creating a successful result from a full Transaction object.

    BREAKING CHANGES

    successfulSingleTransactionPlanResult renamed to successfulSingleTransactionPlanResultFromTransaction. If you were creating a successful result from a Transaction, update the function name.

    - successfulSingleTransactionPlanResult(message, transaction)
    + successfulSingleTransactionPlanResultFromTransaction(message, transaction)

    successfulSingleTransactionPlanResultFromSignature renamed to successfulSingleTransactionPlanResult with a new signature. The signature is no longer a separate argument — it must be included in the context object.

    - successfulSingleTransactionPlanResultFromSignature(message, signature)
    + successfulSingleTransactionPlanResult(message, { signature })
    - successfulSingleTransactionPlanResultFromSignature(message, signature, context)
    + successfulSingleTransactionPlanResult(message, { ...context, signature })
  • #1309 bd3d5f1 Thanks @lorisleiva! - Add a new planType property to all InstructionPlan, TransactionPlan, and TransactionPlanResult types to distinguish them from each other at runtime. This property is a string literal with the value 'instructionPlan', 'transactionPlan', or 'transactionPlanResult' respectively. It also adds new type guard functions that make use of that new property: isInstructionPlan, isTransactionPlan, and isTransactionPlanResult.

    BREAKING CHANGES

    InstructionPlan, TransactionPlan, and TransactionPlanResult type guards updated. All factories have been updated to add the new planType property but any custom instantiation of these types must be updated to include it as well.

      const myInstructionPlan: InstructionPlan = {
        kind: 'parallel',
        plans: [/* ... */],
    +   planType: 'instructionPlan',
      };
    
      const myTransactionPlan: TransactionPlan = {
        kind: 'parallel',
        plans: [/* ... */],
    +   planType: 'transactionPlan',
      };
    
      const myTransactionPlanResult: TransactionPlanResult = {
        kind: 'parallel',
        plans: [/* ... */],
    +   planType: 'transactionPlanResult',
      };
  • #1311 91cdb71 Thanks @lorisleiva! - Remove deprecated function getAllSingleTransactionPlans

    BREAKING CHANGES

    getAllSingleTransactionPlans removed. Use flattenTransactionPlan instead.

    - const singlePlans = getAllSingleTransactionPlans(transactionPlan);
    + const singlePlans = flattenTransactionPlan(transactionPlan);
  • #1276 2fbad6a Thanks @lorisleiva! - Reshape SingleTransactionPlanResult from a single object type with a status discriminated union into three distinct types: SuccessfulSingleTransactionPlanResult, FailedSingleTransactionPlanResult, and CanceledSingleTransactionPlanResult. This flattens the result structure so that status is now a string literal ('successful', 'failed', or 'canceled') and properties like context, error, and plannedMessage live at the top level of each variant.

    Other changes include:

    • Rename the message property to plannedMessage on all single transaction plan result types. This makes it clearer that this original planned message from the TransactionPlan, not the final message that was sent to the network.

    • Move the context object from inside the status field to the top level of each result variant. All variants now carry a context — not just successful ones.

    • Expand context attribute to optionally include message, signature, and transaction properties. These properties are meant to hold the actual TransactionMessage, Signature, and Transaction used when the transaction was sent to the network — which may differ from the originally plannedMessage.

    • Remove the now-unused TransactionPlanResultStatus type.

    • failedSingleTransactionPlanResult and canceledSingleTransactionPlanResult now accept an optional context parameter too.

      BREAKING CHANGES

      Accessing the status kind. Replace result.status.kind with result.status.

    • if (result.status.kind === 'successful') { /_ ... _/ }

    • if (result.status === 'successful') { /_ ... _/ }

      
      **Accessing the signature.** The signature has moved from `result.status.signature` to `result.context.signature`.
      
      ```diff
      
    • const sig = result.status.signature;

    • const sig = result.context.signature;

      
      **Accessing the transaction.** The transaction has moved from `result.status.transaction` to `result.context.transaction`.
      
      ```diff
      
    • const tx = result.status.transaction;

    • const tx = result.context.transaction;

      
      **Accessing the error.** The error has moved from `result.status.error` to `result.error`.
      
      ```diff
      
    • const err = result.status.error;

    • const err = result.error;

      
      **Accessing the context.** The context has moved from `result.status.context` to `result.context`.
      
      ```diff
      
    • const ctx = result.status.context;

    • const ctx = result.context;

      
      **Accessing the message.** The `message` property has been renamed to `plannedMessage`.
      
      ```diff
      
    • const msg = result.message;

    • const msg = result.plannedMessage;

      
      **`TransactionPlanResultStatus` removed.** Code that references this type must be updated to use the individual result variant types (`SuccessfulSingleTransactionPlanResult`, `FailedSingleTransactionPlanResult`, `CanceledSingleTransactionPlanResult`) or the `SingleTransactionPlanResult` union directly.
      

Minor Changes

  • #1275 f8ef83e Thanks @lorisleiva! - Add missing TContext, TTransactionMessage and/or TSingle type parameters to TransactionPlanResult types and helper functions to better preserve type information through narrowing operations.

Patch Changes

  • Updated dependencies [f80b6de, b82df4c, 986a09c]:
    • @solana/transaction-messages@6.0.0
    • @solana/transactions@6.0.0
    • @solana/errors@6.0.0
    • @solana/instructions@6.0.0
    • @solana/keys@6.0.0
    • @solana/promises@6.0.0

@solana/transaction-messages@6.0.0

Major Changes

  • #1289 b82df4c Thanks @mcintyre94! - Remove the export of BaseTransactionMessage, which was previously deprecated. Use TransactionMessage instead.

Patch Changes

  • #1287 f80b6de Thanks @mcintyre94! - Refactor compressTransactionMessageUsingAddressLookupTables to not use BaseTransactionMessage

  • #1288 986a09c Thanks @mcintyre94! - Refactor transaction-messages package to stop using BaseTransactionMessage

  • Updated dependencies []:

    • @solana/addresses@6.0.0
    • @solana/codecs-core@6.0.0
    • @solana/codecs-data-structures@6.0.0
    • @solana/codecs-numbers@6.0.0
    • @solana/errors@6.0.0
    • @solana/functional@6.0.0
    • @solana/instructions@6.0.0
    • @solana/nominal-types@6.0.0
    • @solana/rpc-types@6.0.0

@solana/accounts@6.0.0

Patch Changes

  • Updated dependencies []:
    • @solana/addresses@6.0.0
    • @solana/codecs-core@6.0.0
    • @solana/codecs-strings@6.0.0
    • @solana/errors@6.0.0
    • @solana/rpc-spec@6.0.0
    • @solana/rpc-types@6.0.0

@solana/addresses@6.0.0

Patch Changes

  • Updated dependencies []:
    • @solana/assertions@6.0.0
    • @solana/codecs-core@6.0.0
    • @solana/codecs-strings@6.0.0
    • @solana/errors@6.0.0
    • @solana/nominal-types@6.0.0

@solana/assertions@6.0.0

Patch Changes

  • Updated dependencies []:
    • @solana/errors@6.0.0

@solana/codecs@6.0.0

Patch Changes

  • Updated dependencies []:
    • @solana/codecs-core@6.0.0
    • @solana/codecs-data-structures@6.0.0
    • @solana/codecs-numbers@6.0.0
    • @solana/codecs-strings@6.0.0
    • @solana/options@6.0.0

@solana/codecs-core@6.0.0

Patch Changes

  • Updated dependencies []:
    • @solana/errors@6.0.0

@solana/codecs-data-structures@6.0.0

Patch Changes

  • Updated dependencies []:
    • @solana/codecs-core@6.0.0
    • @solana/codecs-numbers@6.0.0
    • @solana/errors@6.0.0

@solana/codecs-numbers@6.0.0

Patch Changes

  • Updated dependencies []:
    • @solana/codecs-core@6.0.0
    • @solana/errors@6.0.0

@solana/codecs-strings@6.0.0

Patch Changes

  • Updated dependencies []:
    • @solana/codecs-core@6.0.0
    • @solana/codecs-numbers@6.0.0
    • @solana/errors@6.0.0

@solana/compat@6.0.0

Patch Changes

  • Updated dependencies []:
    • @solana/transactions@6.0.0
    • @solana/addresses@6.0.0
    • @solana/codecs-core@6.0.0
    • @solana/errors@6.0.0
    • @solana/instructions@6.0.0
    • @solana/keys@6.0.0

@solana/instructions@6.0.0

Patch Changes

  • Updated dependencies []:
    • @solana/codecs-core@6.0.0
    • @solana/errors@6.0.0

@solana/keys@6.0.0

Patch Changes

  • Updated dependencies []:
    • @solana/assertions@6.0.0
    • @solana/codecs-core@6.0.0
    • @solana/codecs-strings@6.0.0
    • @solana/errors@6.0.0
    • @solana/nominal-types@6.0.0

@solana/kit@6.0.0

Patch Changes

  • Updated dependencies [f80b6de, 5f12df2, b82df4c, 5c810ac, bd3d5f1, 986a09c, f8ef83e, 91cdb71, 2fbad6a]:
    • @solana/transaction-messages@6.0.0
    • @solana/instruction-plans@6.0.0
    • @solana/programs@6.0.0
    • @solana/rpc-api@6.0.0
    • @solana/signers@6.0.0
    • @solana/transaction-confirmation@6.0.0
    • @solana/transactions@6.0.0
    • @solana/rpc@6.0.0
    • @solana/sysvars@6.0.0
    • @solana/rpc-subscriptions@6.0.0
    • @solana/accounts@6.0.0
    • @solana/addresses@6.0.0
    • @solana/codecs@6.0.0
    • @solana/errors@6.0.0
    • @solana/functional@6.0.0
    • @solana/instructions@6.0.0
    • @solana/keys@6.0.0
    • @solana/offchain-messages@6.0.0
    • @solana/plugin-core@6.0.0
    • @solana/rpc-parsed-types@6.0.0
    • @solana/rpc-spec-types@6.0.0
    • @solana/rpc-types@6.0.0

@solana/offchain-messages@6.0.0

Patch Changes

  • Updated dependencies []:
    • @solana/addresses@6.0.0
    • @solana/codecs-core@6.0.0
    • @solana/codecs-data-structures@6.0.0
    • @solana/codecs-numbers@6.0.0
    • @solana/codecs-strings@6.0.0
    • @solana/errors@6.0.0
    • @solana/keys@6.0.0
    • @solana/nominal-types@6.0.0

@solana/options@6.0.0

Patch Changes

  • Updated dependencies []:
    • @solana/codecs-core@6.0.0
    • @solana/codecs-data-structures@6.0.0
    • @solana/codecs-numbers@6.0.0
    • @solana/codecs-strings@6.0.0
    • @solana/errors@6.0.0

@solana/programs@6.0.0

Patch Changes

  • Updated dependencies []:
    • @solana/addresses@6.0.0
    • @solana/errors@6.0.0

@solana/react@6.0.0

Patch Changes

  • Updated dependencies [f80b6de, b82df4c, 986a09c]:
    • @solana/transaction-messages@6.0.0
    • @solana/signers@6.0.0
    • @solana/transactions@6.0.0
    • @solana/addresses@6.0.0
    • @solana/errors@6.0.0
    • @solana/keys@6.0.0
    • @solana/promises@6.0.0

@solana/rpc@6.0.0

Patch Changes

  • Updated dependencies []:
    • @solana/rpc-api@6.0.0
    • @solana/errors@6.0.0
    • @solana/fast-stable-stringify@6.0.0
    • @solana/functional@6.0.0
    • @solana/rpc-spec@6.0.0
    • @solana/rpc-spec-types@6.0.0
    • @solana/rpc-transformers@6.0.0
    • @solana/rpc-transport-http@6.0.0
    • @solana/rpc-types@6.0.0

@solana/rpc-api@6.0.0

Patch Changes

  • Updated dependencies [f80b6de, b82df4c, 986a09c]:
    • @solana/transaction-messages@6.0.0
    • @solana/transactions@6.0.0
    • @solana/addresses@6.0.0
    • @solana/codecs-core@6.0.0
    • @solana/codecs-strings@6.0.0
    • @solana/errors@6.0.0
    • @solana/keys@6.0.0
    • @solana/rpc-parsed-types@6.0.0
    • @solana/rpc-spec@6.0.0
    • @solana/rpc-transformers@6.0.0
    • @solana/rpc-types@6.0.0

@solana/rpc-graphql@6.0.0

Patch Changes

  • Updated dependencies []:
    • @solana/codecs-strings@6.0.0
    • @solana/fast-stable-stringify@6.0.0

@solana/rpc-spec@6.0.0

Patch Changes

  • Updated dependencies []:
    • @solana/errors@6.0.0
    • @solana/rpc-spec-types@6.0.0

@solana/rpc-subscriptions@6.0.0

Patch Changes

  • Updated dependencies []:
    • @solana/rpc-subscriptions-api@6.0.0
    • @solana/errors@6.0.0
    • @solana/fast-stable-stringify@6.0.0
    • @solana/functional@6.0.0
    • @solana/promises@6.0.0
    • @solana/rpc-spec-types@6.0.0
    • @solana/rpc-subscriptions-channel-websocket@6.0.0
    • @solana/rpc-subscriptions-spec@6.0.0
    • @solana/rpc-transformers@6.0.0
    • @solana/rpc-types@6.0.0
    • @solana/subscribable@6.0.0

@solana/rpc-subscriptions-api@6.0.0

Patch Changes

  • Updated dependencies [f80b6de, b82df4c, 986a09c]:
    • @solana/transaction-messages@6.0.0
    • @solana/transactions@6.0.0
    • @solana/addresses@6.0.0
    • @solana/keys@6.0.0
    • @solana/rpc-subscriptions-spec@6.0.0
    • @solana/rpc-transformers@6.0.0
    • @solana/rpc-types@6.0.0

@solana/rpc-subscriptions-channel-websocket@6.0.0

Patch Changes

  • Updated dependencies []:
    • @solana/errors@6.0.0
    • @solana/functional@6.0.0
    • @solana/rpc-subscriptions-spec@6.0.0
    • @solana/subscribable@6.0.0

@solana/rpc-subscriptions-spec@6.0.0

Patch Changes

  • Updated dependencies []:
    • @solana/errors@6.0.0
    • @solana/promises@6.0.0
    • @solana/rpc-spec-types@6.0.0
    • @solana/subscribable@6.0.0

@solana/rpc-transformers@6.0.0

Patch Changes

  • Updated dependencies []:
    • @solana/errors@6.0.0
    • @solana/functional@6.0.0
    • @solana/nominal-types@6.0.0
    • @solana/rpc-spec-types@6.0.0
    • @solana/rpc-types@6.0.0

@solana/rpc-transport-http@6.0.0

Patch Changes

  • Updated dependencies []:
    • @solana/errors@6.0.0
    • @solana/rpc-spec@6.0.0
    • @solana/rpc-spec-types@6.0.0

@solana/rpc-types@6.0.0

Patch Changes

  • Updated dependencies []:
    • @solana/addresses@6.0.0
    • @solana/codecs-core@6.0.0
    • @solana/codecs-numbers@6.0.0
    • @solana/codecs-strings@6.0.0
    • @solana/errors@6.0.0
    • @solana/nominal-types@6.0.0

@solana/signers@6.0.0

Patch Changes

  • Updated dependencies [f80b6de, b82df4c, 986a09c]:
    • @solana/transaction-messages@6.0.0
    • @solana/transactions@6.0.0
    • @solana/addresses@6.0.0
    • @solana/codecs-core@6.0.0
    • @solana/errors@6.0.0
    • @solana/instructions@6.0.0
    • @solana/keys@6.0.0
    • @solana/nominal-types@6.0.0
    • @solana/offchain-messages@6.0.0

@solana/subscribable@6.0.0

Patch Changes

  • Updated dependencies []:
    • @solana/errors@6.0.0

@solana/sysvars@6.0.0

Patch Changes

  • Updated dependencies []:
    • @solana/accounts@6.0.0
    • @solana/codecs@6.0.0
    • @solana/errors@6.0.0
    • @solana/rpc-types@6.0.0

@solana/transaction-confirmation@6.0.0

Patch Changes

  • Updated dependencies [f80b6de, b82df4c, 986a09c]:
    • @solana/transaction-messages@6.0.0
    • @solana/transactions@6.0.0
    • @solana/rpc@6.0.0
    • @solana/rpc-subscriptions@6.0.0
    • @solana/addresses@6.0.0
    • @solana/codecs-strings@6.0.0
    • @solana/errors@6.0.0
    • @solana/keys@6.0.0
    • @solana/promises@6.0.0
    • @solana/rpc-types@6.0.0

@solana/transactions@6.0.0

Patch Changes

  • Updated dependencies [f80b6de, b82df4c, 986a09c]:
    • @solana/transaction-messages@6.0.0
    • @solana/addresses@6.0.0
    • @solana/codecs-core@6.0.0
    • @solana/codecs-data-structures@6.0.0
    • @solana/codecs-numbers@6.0.0
    • @solana/codecs-strings@6.0.0
    • @solana/errors@6.0.0
    • @solana/functional@6.0.0
    • @solana/instructions@6.0.0
    • @solana/keys@6.0.0
    • @solana/nominal-types@6.0.0
    • @solana/rpc-types@6.0.0

@solana/errors@6.0.0

@solana/fast-stable-stringify@6.0.0

@solana/functional@6.0.0

@solana/nominal-types@6.0.0

@solana/plugin-core@6.0.0

@solana/promises@6.0.0

@solana/rpc-parsed-types@6.0.0

@solana/rpc-spec-types@6.0.0

@solana/webcrypto-ed25519-polyfill@6.0.0

@github-actions github-actions Bot force-pushed the changeset-release/main branch 14 times, most recently from e06a29e to 4bfe795 Compare February 3, 2026 16:58
@github-actions github-actions Bot force-pushed the changeset-release/main branch from 4bfe795 to 5c37c8b Compare February 3, 2026 20:34
@lorisleiva lorisleiva merged commit 5e04dfc into main Feb 4, 2026
7 checks passed
@lorisleiva lorisleiva deleted the changeset-release/main branch February 4, 2026 10:01
@github-actions
Copy link
Copy Markdown
Contributor Author

github-actions Bot commented Feb 4, 2026

🔎💬 Inkeep AI search and chat service is syncing content for source 'Solana Kit Docs'

@github-actions
Copy link
Copy Markdown
Contributor Author

Because there has been no activity on this PR for 14 days since it was merged, it has been automatically locked. Please open a new issue if it requires a follow up.

@github-actions github-actions Bot locked as resolved and limited conversation to collaborators Feb 19, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant