github solana-labs/solana v1.15.0
Testnet - v1.15.0

latest releases: v1.18.23, v1.18.22, v1.18.21...
pre-release19 months ago

This is a Testnet release. It is not recommended for Mainnet Beta

Upgrade notes

Node operators, please delete your <ledger>/calculate_accounts_hash_cache directory (if you have one, to reclaim unused disk space). It has been moved/renamed to <ledger>/accounts_hash_cache/full.

Changes

  • Geyser improvements

    • geyser: add parent slot/blockhash to block (#29855)
  • Incremental snapshots will use incremental accounts hash in a future release

    • Node operators, please delete your <ledger>/calculate_accounts_hash_cache directory (if you have one, to reclaim unused disk space). It has been moved/renamed to <ledger>/accounts_hash_cache/full.
  • AccountsDB

    • use only one store per slot
      • As a result of this change:
        • The structure/file format of a snapshot has not changed, BUT 1.15 will only LOAD and only write snapshots that contain a single store per slot.
          • 1.14 (and just considering this issue, 1.13) will be able to load anything 1.15 creates
          • Importantly 1.15 will assert if a snapshot contains more than 1 store per slot.
        • 1.14 was changed to remove the cli argument that enabled a validator to DISABLE the write cache. The result is that 1.14 validators will ONLY create one store per slot.
          • However, 1.14 ledger-tool create-snapshot does NOT use the write cache, so snapshots generated by 1.14 ledger-tool create-snapshot can contain more than 1 store per slot. This results in an assert when loading the snapshot on 1.15.
    • use atomicu64 for bucket maxsize instead of lock (#29569)
    • ancient append vecs enabled at -10k by default (#29565)
    • feature: don't do rewrites in rent collection (#26491)
    • Feature: Epoch Accounts Hash (#27539)
  • Blockstore improvements

    • Reduce the amount of IO that LedgerCleanupService performs (#29239)
  • Hotswap identity improvements

    • patches bug in sigverify-shreds when identity is hot-swapped (#29802)
  • Turbine improvements

    • errors out when retransmit loopbacks to the slot leader (#29789)
    • prioritize repair requests by stake (#29730)
    • Increase turbine propagation const (#29742)
  • Runtime VM improvements

    • Adds big integer modular exponentiation (EIP-198) (#28503)
    • Adds alt_bn syscalls (EIP-196, EIP-197) (#27961)
    • Update compute costs of curve25519 syscalls (#29610)
    • Disable built-in loader ownership chains (#29959)
    • Program un-/redeployment cooldown (#29136)
    • Limit max instruction trace length to 64 (#27938)
    • Disable CPI setting is_executable and rent_epoch (#26987)
    • Stop sibling instruction search at parent (#27289)
  • Duplicate shred handling improvements

    • Ingest duplicate proofs sent through Gossip (#29227)
  • RPC changes

    • RPC getPerformanceSamples: Add numNonVoteTransaction (#29388)
    • Add pubsub address to RpcContactInfo (#29165)
    • Add rust client support for getRecentPrioritizationFees (#29558)
  • Client reorg

    • 1.15 brings a large reorganization of client crates, intended to reduce the number of dependencies downstream users have to pull in to use client apis. All of the client types from solana-client are now featured in their own crates to be pulled in separately as needed:
    • New crates of note: solana-rpc-client and solana-rpc-client-api; solana-quic-client and solana-udp-client; solana-tpu-client; solana-connection-cache
  • Gossip improvements

    • gossip nodes are pruned based on timeliness of delivered messages (#29177)
    • reworks weights for gossip pull-requests peer sampling (#28463)
      • Should help with startup bandwidth
    • includes origin's stake in gossip push nodes sampling (#29343)
  • Ledger-tool improvements

    • add solana-ledger-tool bigtable copy (#28122)
    • Add output in JSON for solana-ledger-tool bounds subcommand (#28410)
    • ledger-tool: Clean account paths in all cases (#29609)
    • ledger-tool: fix double-readlock in main (#27322)
  • Security

    • Configurable hashes per tick (#29659)
    • Feature: filter stake by min delegation for rewards (#29618)
  • Banking

    • Make it possible to record all of incoming transactions with --enable-banking-tracer, to be simulated later for benchmark and investigation (#29196)

Don't miss a new solana release

NewReleases is sending notifications on new releases.