Solana KitSolana Kit Docs
openbudgetfun/solana_kit 999999

Upstream Compatibility

How this workspace tracks @solana/kit compatibility.

Upstream Compatibility#

  • Latest supported @solana/kit version: 8.3.0
  • This Dart port tracks upstream APIs and behavior through v8.3.0.

Version parity#

Each row pairs a published solana_kit release with the upstream @solana/kit version it tracks. Use the row that matches your Dart dependency to know which upstream release its APIs and behavior correspond to. The solana_kit version is the workspace compatibility marker; the other packages release independently.

solana_kit@solana/kitReleased
0.9.38.2.02026-09-12
0.9.28.2.02026-09-06
0.9.18.1.02026-08-30
0.8.07.1.02026-08-19
0.7.07.1.02026-08-18
0.6.06.10.02026-08-13
0.5.06.9.02026-06-01
0.4.06.9.02026-05-30
0.3.16.5.02026-03-30
0.3.06.5.02026-03-29
0.2.16.1.02026-02-28
0.2.02026-02-28
0.1.02026-02-25

Upstream client pins#

The upstream clients and IDLs the current release was generated and verified against. Tag pins are fixed; branch and commit pins are moving or unversioned upstream refs (clone:repos materializes them under .repos/, and the short revision records the last checked commit).

Upstream repositoryPinDart package(s)
kit v8.3.0 solana_kit
espresso-cash-public master (77150680d6bf)
helius-sdk v3.2.0 solana_kit_helius
mobile-wallet-adapter @solana-mobile/mobile-wallet-adapter-protocol-kit@0.4.0 solana_kit_mobile_wallet_adapter , solana_kit_mobile_wallet_adapter_protocol
system js@v0.14.1 solana_kit_system
token js@v0.16.1 solana_kit_token
token-2022 js@v0.16.1 solana_kit_token_2022
subscriptions ts-client-v0.5.0 solana_kit_subscriptions
associated-token-account program@v8.0.0 solana_kit_associated_token_account
address-lookup-table js@v0.14.1 solana_kit_address_lookup_table
memo js@v0.13.1 solana_kit_memo
compute-budget js@v0.18.1 solana_kit_compute_budget
stake js@v0.9.1 solana_kit_stake
config solana-config-program-client@v1.1.0 solana_kit_config
loader-v3 js@v0.6.1 solana_kit_loader
loader-v4 5bb854dbd2b6 solana_kit_loader
account-compression ac-mainnet-tag (b229799e395c) solana_kit_spl_account_compression
mpl-bubblegum 07180c737ebd solana_kit_mpl_bubblegum
mpl-token-metadata 349e061053c6 solana_kit_mpl_token_metadata
mpl-core release/core@0.15.2 solana_kit_mpl_core
squads-v4 af94153ff77a solana_kit_squads
solana-attestation-service 5b64cf09843d solana_kit_attestation_service

Upstream refs by release#

Which upstream ref each solana_kit release was generated and verified against. Cell values are the ref recorded in config/reference-repos.json at that release; means the repository was not tracked yet. Branch pins include the short revision that was last checked, so they can be compared across releases even though the branch itself moves.

Solana program clients

solana_kit system token token-2022 address-lookup-table memo compute-budget stake config loader-v3 loader-v4 associated-token-account account-compression
0.9.3 js@v0.14.1 js@v0.16.1 js@v0.16.1 js@v0.14.1 js@v0.13.1 js@v0.18.1 js@v0.9.1 solana-config-program-client@v1.1.0 js@v0.6.1 4f62fb2e25c8 program@v8.0.0 ac-mainnet-tag @ b229799e395c
0.9.2 js@v0.14.1 js@v0.16.1 js@v0.16.1 js@v0.14.1 js@v0.13.1 js@v0.18.1 js@v0.9.1 solana-config-program-client@v1.1.0 js@v0.6.1 4f62fb2e25c8 program@v8.0.0 ac-mainnet-tag @ b229799e395c
0.9.1 js@v0.14.0 js@v0.16.0 js@v0.16.0 js@v0.14.0 js@v0.13.0 js@v0.18.0 js@v0.9.0 solana-config-program-client@v1.1.0 js@v0.6.0 4f62fb2e25c8 program@v8.0.0 ac-mainnet-tag @ b229799e395
0.9.0 js@v0.14.0 js@v0.16.0 js@v0.16.0 js@v0.14.0 js@v0.13.0 js@v0.18.0 js@v0.9.0 solana-config-program-client@v1.1.0 js@v0.6.0 4f62fb2e25c8 program@v8.0.0 ac-mainnet-tag @ b229799e395
0.8.0 js@v0.13.0 js@v0.15.0 js@v0.14.1 js@v0.13.0 js@v0.12.0 js@v0.17.0 js@v0.8.0 solana-config-program-client@v1.1.0 js@v0.5.0 1d6335be program@v8.0.0 ac-mainnet-tag @ b229799e395
0.7.0 js@v0.13.0 js@v0.15.0 js@v0.14.1 js@v0.13.0 js@v0.12.0 js@v0.17.0 js@v0.8.0 solana-config-program-client@v1.1.0 js@v0.5.0 1d6335be program@v8.0.0 ac-mainnet-tag @ b229799e395
0.6.0 js@v0.12.2 js@v0.14.0 js@v0.12.0 js@v0.12.1 js@v0.11.2 js@v0.16.0 js@v0.7.2 solana-config-program-client@v1.1.0 js@v0.4.0 5df834d program@v8.0.0 ac-mainnet-tag @ b229799e395
0.5.0 js@v0.12.0 js@v0.13.0 js@v0.9.0 js@v0.11.0 js@v0.11.0 js@v0.15.0 js@v0.6.0 solana-config-program-client@v1.1.0 js@v0.3.0 5df834d program@v8.0.0 main
0.4.0 js@v0.12.0 js@v0.13.0 js@v0.9.0 js@v0.11.0 js@v0.11.0 js@v0.15.0 js@v0.6.0 solana-config-program-client@v1.1.0 js@v0.3.0 5df834d program@v8.0.0 main

Solana Foundation programs

solana_kitsubscriptionssolana-attestation-service
0.9.3ts-client-v0.5.05b64cf09843d
0.9.2ts-client-v0.5.0
0.9.1ts-client-v0.5.0
0.9.0ts-client-v0.5.0
0.8.0ts-client-v0.5.0
0.7.0ts-client-v0.5.0
0.6.0ts-client-v0.4.0-rc.2
0.5.0
0.4.0

Metaplex programs

solana_kitmpl-bubblegummpl-token-metadatampl-core
0.9.3 6a6a77e341a3 349e061053c6 2181404f90c7
0.9.2 6a6a77e341a3 349e061053c6 2181404f90c7
0.9.1 6a6a77e341a3 349e061053c6 2181404f90c7
0.9.0 6a6a77e341a3 349e061053c6 2181404f90c7
0.8.068e4bc204099
0.7.068e4bc204099
0.6.0main @ 02c16414e4e0
0.5.0main
0.4.0main

Wallet and SDK references

solana_kit mobile-wallet-adapter helius-sdk squads-v4 kit espresso-cash-public
0.9.3 8642fa3e1edb ad8f796d81be af94153ff77a main @ 6c1bc6e6aa96 master @ 77150680d6bf
0.9.2 8642fa3e1edb ad8f796d81be af94153ff77a main @ 6c1bc6e6aa96 master @ 77150680d6bf
0.9.1 8642fa3e1edb ad8f796d81be af94153ff77a main @ bb54243d8a57 master @ 77150680d6bf
0.9.0 8642fa3e1edb ad8f796d81be af94153ff77a main @ bb54243d8a57 master @ 77150680d6bf
0.8.0 8642fa3e1edb 4c0c55b86eab main @ 661554c4e85f master @ 77150680d6bf
0.7.0 8642fa3e1edb 4c0c55b86eab main @ 661554c4e85f master @ 77150680d6bf
0.6.0 main @ bed51fa2f177 4c0c55b86eab main @ 6cd177b14bed master @ 77150680d6bf
0.5.0 main 4c0c55b86eab main main
0.4.0 main main main

Parity status

Executable parity currently covers stable, CI-cheap surfaces: address/signature validation, derivation, transaction message compilation, wire serialization, and selected invalid-input error codes.

Live RPC timing, subscription transport behavior, mobile platform adapters, and other intentionally documented divergences remain tracked separately rather than being implied by the current harness.

Validation Workflow#

  • Keep .repos/kit updated (clone:repos).
  • Run upstream:check to verify tracked compatibility metadata remains internally consistent.
  • Run upstream:parity to install the tracked @solana/kit release in a local cache, generate runtime fixtures, and compare selected Dart behaviors against upstream.
  • Record intentional deviations and migration notes.
  • Re-run benchmarks after major upstream alignment changes.

Current Executable Parity Scope#

The first harness focuses on stable, high-signal surfaces that are cheap to run in CI:

  • address validation and coercion semantics
  • address encoding and derivation helpers
  • signature validation/coercion semantics
  • signer deduplication and assertion context parity
  • transaction message v1 compilation and wire serialization
  • transaction message v0 compilation and wire serialization
  • transaction size limits (legacy, v0, v1)
  • transaction message size limit version-aware helpers
  • error-code parity for selected invalid inputs
  • JSON-RPC error BigInt code support
  • sendTransaction preflight context defaults
  • simulateTransaction metadata defaults
  • compute-unit helpers (set/limit estimation)
  • SOL/Lamports type helpers
  • reactive store and slot-tracking subscription helpers
  • abortable websocket subscription helpers
  • key-pair writing and grinding helpers
  • fixed-point binary/decimal arithmetic
  • vote-account Agave v3 parsed types
  • client/plugin composition helpers
  • instruction-plan version-aware size compatibility

The harness intentionally does not yet cover live RPC behavior, subscription transport timing, mobile-wallet platform adapters, Helius-specific extensions, or stricter Dart-only transaction-construction invariants such as requiring an explicit lifetime before compilation. Those remain tracked separately in the roadmap and issue set.

Versioning Guidance#

When upstream introduces breaking API behavior, prefer explicit compatibility notes and migration docs over silent behavior changes.