Skip to content

chore(deps): update solders requirement from >=0.27.1 to >=0.29.0 - #44

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

chore(deps): update solders requirement from >=0.27.1 to >=0.29.0#44
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/solders-gte-0.29.0

Conversation

@dependabot

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

Copy link
Copy Markdown
Contributor

Updates the requirements on solders to permit the latest version.

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.
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 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)

Updates the requirements on [solders](https://github.com/kevinheavey/solders) to permit the latest version.
- [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
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot @github

dependabot Bot commented on behalf of github Aug 17, 2026

Copy link
Copy Markdown
Contributor Author

Labels

The following labels could not be found: dependencies, security. Please create them before Dependabot can add them to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants