Skip to content

build(deps): bump solders from 0.27.1 to 0.29.0 in /clients/py - #868

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/clients/py/solders-0.29.0
Open

build(deps): bump solders from 0.27.1 to 0.29.0 in /clients/py#868
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/clients/py/solders-0.29.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 17, 2026

Copy link
Copy Markdown
Contributor

Bumps solders from 0.27.1 to 0.29.0.

Release notes

Sourced from solders's releases.

v0.29.0

Added

  • solders.message.v0 and solders.message.v1 submodules, mirroring solana_message's own layout: legacy Message stays at solders.message, while the versioned types live under their version. v0 holds Message and MessageAddressTableLookup; v1 holds Message, TransactionConfig, MessageError and the format's constants (V1_PREFIX, MAX_TRANSACTION_SIZE, MAX_ADDRESSES, MAX_INSTRUCTIONS, MAX_SIGNATURES, MIN_HEAP_SIZE, MAX_HEAP_SIZE, DEFAULT_HEAP_SIZE, FIXED_HEADER_SIZE, SIGNATURE_SIZE). The flat names remain as aliases, so solders.message.MessageV0 and MessageAddressTableLookup are unchanged.
  • solders.message.MessageV1 (alias of solders.message.v1.Message): the SIMD-0385 v1 transaction message, supporting 4KB transactions with the compute budget carried inline instead of via separate instructions (no address lookup table support). Includes try_compile, validate, size and fee_payer. Note that v1 transactions are gated behind the enable_tx_v1 feature, which is not yet active on mainnet.
  • solders.message.TransactionConfig (alias of solders.message.v1.TransactionConfig): the inline transaction config carried by a MessageV1 (priority_fee, compute_unit_limit, loaded_accounts_data_size_limit, heap_size).
  • solders.transaction_status.UiTransactionConfig, plus transaction_config on UiRawMessage and UiParsedMessage, following the upstream v4.1 client types.
  • inflation_rewards_commission_bps on RpcVoteAccountInfo.
  • Rent.minimum_balance_unchecked and Rent.try_minimum_balance.
  • LiteSVM.get_program_accounts, returning every (address, account) pair owned by a program.
  • LiteSVM.set_epoch_stake, LiteSVM.set_epoch_stakes, LiteSVM.epoch_stake and LiteSVM.epoch_total_stake, wrapping the epoch stake support added in litesvm 0.14. This is what programs read via the sol_get_epoch_stake syscall, so it could not previously be exercised from Python.
  • solders.message.v1.MessageError, raised by v1.Message.validate.
  • solders.message.CompileError is now registered on the module. It was already raised by MessageV0.try_compile but was not importable, so it could only be caught as a bare Exception.

Fixed

  • RpcPerfSample.num_non_vote_transactions: the getter was misspelled num_non_votetransactions in the bindings, so the documented (and type-stubbed) name did not exist at runtime.
  • Brought solders.pyi back in sync with the bindings. It had drifted in both directions: 46 from_bytes declarations named their parameter raw/raw_bytes where the binding takes data (a keyword call would type-check and then fail); ComputeBudget.max_cpi_instruction_size, RpcInflationRate.foundation_term, RpcFilterTypeFieldless.from_string/default, RpcLeaderScheduleConfig.default, GetBlockProductionResp.height, InstructionErrorFieldless.ActiveVoteAccountClose and RpcCustomErrorFieldless.Base64Zstd were declared but absent; ComputeBudget.remaining_compute_units_cost, TransactionStatus.get_confirmation_status and TransactionErrorFieldless.WouldExceedMaxVotefCostLimit used names the bindings do not export; and 39 members present at runtime were undeclared, including from_bytes on 23 RPC config types.

Changed

  • VersionedMessage now includes MessageV1, and VersionedTransaction accepts it.
  • VersionedMessage and VersionedTransaction are now serialized and deserialized with wincode rather than bincode. This is byte-identical for legacy and v0, and is the only encoding that supports v1. Affects bytes()/from_bytes on VersionedTransaction, to_bytes_versioned/from_bytes_versioned, and the base64 encoding used in RPC requests.
  • Bumped the Solana dependency set to the versions that ship solana_message::v1: solana-message and solana-transaction to 4, solana-pubkey/solana-account/solana-rent/solana-sysvar to 4, solana-stake-interface to 4, solana-reward-info to 6, spl-token-interface to 3, the client-types crates to 4.1, and litesvm to 0.15.2.
  • The Rust toolchain is now 1.95.0 (was 1.90.0); the new Solana crates do not build on 1.90.
  • LiteSVM now starts with a mainnet-like clock slot rather than 0, following litesvm 0.15.

Removed

  • Rent no longer exposes the rent-collection API removed upstream in solana-rent 4: calculate_burn, due, due_amount, and with_slots_per_epoch, along with the DEFAULT_LAMPORTS_PER_BYTE_YEAR, DEFAULT_EXEMPTION_THRESHOLD and DEFAULT_BURN_PERCENT constants. The lamports_per_byte_year field is replaced by lamports_per_byte, and it is now the first constructor argument.
  • ComputeBudget's simd_0339_active constructor argument, which no longer exists in solana-compute-budget 4.1.

v0.28.0

Changed

  • Update litesvm to 0.13.1 and bump Solana deps as far as litesvm 0.13 allows: agave-feature-set/agave-precompiles, solana-compute-budget, solana-hash, solana-transaction-context to 4 and solana-system-interface to 3 (crates litesvm still pins to the v3 line, e.g. solana-message/solana-transaction/solana-account, stay there). 0.13.1 refreshes the simulated mainnet feature set to match the cluster as of 2026-06-30.
  • Update to pyo3 0.29 and pythonize 0.29
  • Update maturin to 1.14.1
  • Raise the minimum supported Python version to 3.10 (was 3.8). Python 3.8 and 3.9 are end-of-life.
  • Bump the (litesvm-independent) client crates to 4: solana-rpc-client-api, solana-rpc-client-types, solana-account-decoder-client-types, solana-transaction-status-client-types, and solana-reward-info to 5 (the version aligned with that set, not the newer 6.x)
  • ComputeBudget constructor now takes simd_0268_active and simd_0339_active flags (was simd_0296_active) to match solana-compute-budget 4

Added

  • commission_bps on Reward and RpcInflationReward, transaction_index on RpcConfirmedTransactionStatusWithSignature, and client_id on RpcContactInfo, following the upstream v4 client types
  • Support for the getStakeMinimumDelegation RPC method (GetStakeMinimumDelegation request and GetStakeMinimumDelegationResp response)
  • ComputeBudget: getters/setters for the new solana-compute-budget 4 cost fields (alt_bn128_g2_addition_cost, alt_bn128_g2_multiplication_cost, and the bls12_381_* set)
  • transaction_index on EncodedConfirmedTransactionWithStatusMeta, following solana-transaction-status-client-types 4
  • solders.system_program.create_account_allow_prefund (and decode_create_account_allow_prefund / CreateAccountAllowPrefundParams), wrapping the new solana-system-interface instruction

... (truncated)

Changelog

Sourced from solders's changelog.

[0.29.0] - 2026-08-13

Added

  • solders.message.v0 and solders.message.v1 submodules, mirroring solana_message's own layout: legacy Message stays at solders.message, while the versioned types live under their version. v0 holds Message and MessageAddressTableLookup; v1 holds Message, TransactionConfig, MessageError and the format's constants (V1_PREFIX, MAX_TRANSACTION_SIZE, MAX_ADDRESSES, MAX_INSTRUCTIONS, MAX_SIGNATURES, MIN_HEAP_SIZE, MAX_HEAP_SIZE, DEFAULT_HEAP_SIZE, FIXED_HEADER_SIZE, SIGNATURE_SIZE). The flat names remain as aliases, so solders.message.MessageV0 and MessageAddressTableLookup are unchanged.
  • solders.message.MessageV1 (alias of solders.message.v1.Message): the SIMD-0385 v1 transaction message, supporting 4KB transactions with the compute budget carried inline instead of via separate instructions (no address lookup table support). Includes try_compile, validate, size and fee_payer. Note that v1 transactions are gated behind the enable_tx_v1 feature, which is not yet active on mainnet.
  • solders.message.TransactionConfig (alias of solders.message.v1.TransactionConfig): the inline transaction config carried by a MessageV1 (priority_fee, compute_unit_limit, loaded_accounts_data_size_limit, heap_size).
  • solders.transaction_status.UiTransactionConfig, plus transaction_config on UiRawMessage and UiParsedMessage, following the upstream v4.1 client types.
  • inflation_rewards_commission_bps on RpcVoteAccountInfo.
  • Rent.minimum_balance_unchecked and Rent.try_minimum_balance.
  • LiteSVM.get_program_accounts, returning every (address, account) pair owned by a program.
  • LiteSVM.set_epoch_stake, LiteSVM.set_epoch_stakes, LiteSVM.epoch_stake and LiteSVM.epoch_total_stake, wrapping the epoch stake support added in litesvm 0.14. This is what programs read via the sol_get_epoch_stake syscall, so it could not previously be exercised from Python.
  • solders.message.v1.MessageError, raised by v1.Message.validate.
  • solders.message.CompileError is now registered on the module. It was already raised by MessageV0.try_compile but was not importable, so it could only be caught as a bare Exception.

Fixed

  • RpcPerfSample.num_non_vote_transactions: the getter was misspelled num_non_votetransactions in the bindings, so the documented (and type-stubbed) name did not exist at runtime.
  • Brought solders.pyi back in sync with the bindings. It had drifted in both directions: 46 from_bytes declarations named their parameter raw/raw_bytes where the binding takes data (a keyword call would type-check and then fail); ComputeBudget.max_cpi_instruction_size, RpcInflationRate.foundation_term, RpcFilterTypeFieldless.from_string/default, RpcLeaderScheduleConfig.default, GetBlockProductionResp.height, InstructionErrorFieldless.ActiveVoteAccountClose and RpcCustomErrorFieldless.Base64Zstd were declared but absent; ComputeBudget.remaining_compute_units_cost, TransactionStatus.get_confirmation_status and TransactionErrorFieldless.WouldExceedMaxVotefCostLimit used names the bindings do not export; and 39 members present at runtime were undeclared, including from_bytes on 23 RPC config types.

Changed

  • VersionedMessage now includes MessageV1, and VersionedTransaction accepts it.
  • VersionedMessage and VersionedTransaction are now serialized and deserialized with wincode rather than bincode. This is byte-identical for legacy and v0, and is the only encoding that supports v1. Affects bytes()/from_bytes on VersionedTransaction, to_bytes_versioned/from_bytes_versioned, and the base64 encoding used in RPC requests.
  • Bumped the Solana dependency set to the versions that ship solana_message::v1: solana-message and solana-transaction to 4, solana-pubkey/solana-account/solana-rent/solana-sysvar to 4, solana-stake-interface to 4, solana-reward-info to 6, spl-token-interface to 3, the client-types crates to 4.1, and litesvm to 0.15.2.
  • The Rust toolchain is now 1.95.0 (was 1.90.0); the new Solana crates do not build on 1.90.
  • LiteSVM now starts with a mainnet-like clock slot rather than 0, following litesvm 0.15.

Removed

  • Rent no longer exposes the rent-collection API removed upstream in solana-rent 4: calculate_burn, due, due_amount, and with_slots_per_epoch, along with the DEFAULT_LAMPORTS_PER_BYTE_YEAR, DEFAULT_EXEMPTION_THRESHOLD and DEFAULT_BURN_PERCENT constants. The lamports_per_byte_year field is replaced by lamports_per_byte, and it is now the first constructor argument.
  • ComputeBudget's simd_0339_active constructor argument, which no longer exists in solana-compute-budget 4.1.

[0.28.0] - 2026-07-01

Changed

  • Update litesvm to 0.13.1 and bump Solana deps as far as litesvm 0.13 allows: agave-feature-set/agave-precompiles, solana-compute-budget, solana-hash, solana-transaction-context to 4 and solana-system-interface to 3 (crates litesvm still pins to the v3 line, e.g. solana-message/solana-transaction/solana-account, stay there). 0.13.1 refreshes the simulated mainnet feature set to match the cluster as of 2026-06-30.
  • Update to pyo3 0.29 and pythonize 0.29
  • Update maturin to 1.14.1
  • Raise the minimum supported Python version to 3.10 (was 3.8). Python 3.8 and 3.9 are end-of-life.
  • Bump the (litesvm-independent) client crates to 4: solana-rpc-client-api, solana-rpc-client-types, solana-account-decoder-client-types, solana-transaction-status-client-types, and solana-reward-info to 5 (the version aligned with that set, not the newer 6.x)
  • ComputeBudget constructor now takes simd_0268_active and simd_0339_active flags (was simd_0296_active) to match solana-compute-budget 4

Added

  • commission_bps on Reward and RpcInflationReward, transaction_index on RpcConfirmedTransactionStatusWithSignature, and client_id on RpcContactInfo, following the upstream v4 client types
  • Support for the getStakeMinimumDelegation RPC method (GetStakeMinimumDelegation request and GetStakeMinimumDelegationResp response)
  • ComputeBudget: getters/setters for the new solana-compute-budget 4 cost fields (alt_bn128_g2_addition_cost, alt_bn128_g2_multiplication_cost, and the bls12_381_* set)
  • transaction_index on EncodedConfirmedTransactionWithStatusMeta, following solana-transaction-status-client-types 4

... (truncated)

Commits
  • 87be4e8 Merge pull request #184 from kevinheavey/prepare-release-0.29.0
  • f398e93 Bump version to 0.29.0
  • 3883ab4 Merge pull request #183 from kevinheavey/litesvm-epoch-stake-and-program-acco...
  • 28c0415 Declare the Cargo features each crate actually uses
  • 4909670 Expose litesvm's epoch stake and get_program_accounts
  • c1f1ef7 Merge pull request #182 from kevinheavey/add-message-v1
  • 69ef0d0 Cover the wincode-serialized types in the pickle matrix
  • 24731dd Rename MessageV1Error to MessageError
  • 0cc327a Expose the v1 message error only as solders.message.v1.MessageError
  • f131736 Mirror solana_message's module layout for v0 and v1
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [solders](https://github.com/kevinheavey/solders) from 0.27.1 to 0.29.0.
- [Release notes](https://github.com/kevinheavey/solders/releases)
- [Changelog](https://github.com/kevinheavey/solders/blob/main/CHANGELOG.md)
- [Commits](kevinheavey/solders@v0.27.1...0.29.0)

---
updated-dependencies:
- dependency-name: solders
  dependency-version: 0.29.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update Python code labels Aug 17, 2026
@github-actions
github-actions Bot enabled auto-merge (squash) August 17, 2026 09:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python Pull requests that update Python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants