This is a weekly newsletter on the latest Solana engineering news this week. If you want to stay updated on Solana tech every week, follow Solana Changelog at @solana_devs and @readylayerone and turn on notifications.
Releases
Notable feature gates
Mainnet - Alpenglow
New versions
- Agave v4.3.2
- Firedancer Mainnet v26.10.4
- Web3.js v3.1.1
- Address Lookup Table Program JS SDK v0.16.0
- Stake Program JS SDK v0.11.0
- System Program JS SDK v0.16.0
- Memo Program JS SDK v0.16.0
- Compute Budget Program JS SDK v0.20.0
- Token Program JS SDK v0.18.0
- Token-2022 Program CLI v5.7.0, Legacy Rust SDK v0.20.0, JS SDK v0.20.0
- Loader V3 Program JS SDK v0.8.0
- Record Program JS SDK v0.6.0
- Program Metadata Program JS SDK v0.11.0
- ZK ElGamal Proof Program JS SDK v0.5.0
- Token Wrap Program JS SDK v2.8.0
- LiteSVM v0.18.1
Ecosystem work
SIMDs
- Changes to the Vote Account state were proposed
- WTM - The proposal changes how commission rewards are calculated on Solana. Two existing SIMDs delay validator commission updates for two epochs after an update is requested. This proposal updates the Vote Account state to account for that delay.
- Live commission collectors were proposed
- WTM - Validators currently use cached account state when calculating commissions. This change moves that state into account data so commission calculations can use the live state.
Validator clients (Agave, Firedancer, Mithril)
- Agave is working to improve its file system I/O
- WTM - Agave was allocating buffers that were too small for file system I/O, resulting in frequent page faults. This change increases the requested buffer size.
- Agave is preparing for SIMD-0500 by moving part of the deployment check into the Solana CLI
- WTM - SIMD-0500 will reject deployments of sBPFv0, v1, and v2 programs. The runtime performs this check after a user has paid to upload the program. This change prepares the CLI to reject unsupported program versions before the upload begins.
- Agave is stake-weighting its gossip implementation
- WTM - Gossip is Agave’s push-pull messaging system for communication between validator peers. This change proposes prioritizing messages from higher-staked validators to help manage congestion.
- Agave is decoupling snapshot loading from the accounts stake list
- WTM - Snapshot loading currently relies on Agave’s stake delegation list, including when another validator client loads the snapshot. This change reduces that dependency and improves cross-client compatibility during validator startup.
- Firedancer is working to remove its TowerBFT implementation after adding Alpenglow support
- WTM - Firedancer successfully participated in the new Alpenglow consensus. This change removes the TowerBFT implementation as routine cleanup.
Solana language clients (Web3.js, Solana Kit, Kit plugins, Solana SDK, Codama, Solana Go)
- Solana Web3.js is adding a
mainnetmoniker to its list of cluster URLs- WTM - There is discussion about dropping the
betatag from Solana cluster definitions after Alpenglow. This change prepares Web3.js for that possibility.
- WTM - There is discussion about dropping the
- Solana Web3.js is working to add a mock Wallet Standard wallet for Vercel’s agent-browser
- WTM - This private package would let developers test agent-driven wallet interactions in a browser without automating a real wallet extension.
- Solana Web3.js opened a discussion about supporting only Transaction V1 if a proposed SIMD restricts legacy and V0 transactions
- WTM - Transaction V1 is expected to become the primary transaction format for future protocol development. Work to phase out legacy and V0 transactions is taking place across the stack in preparation for a possible SIMD.
Solana program frameworks (Anchor, Pinocchio, Steel, Quasar)
- Pinocchio will use r2 for its lazy program entrypoint
- WTM - r2 is the third reserved register in the Solana Virtual Machine. It is usually unset during program loading, making it available to program frameworks. Pinocchio will use r2 as the default for its lazy entrypoint so developers do not need a custom implementation before their program starts.
Other interesting things
-
@Dodecahedr0x created a new repository for building Solana applications on the Dioxus platform
-
@avhidotsol created a new assembly TUI
-
@SIRN_org posted a new security advisory
-
@0xIchigo published a new essay on RocksDB
-
Firedancer launched its bug bounty program
Open Developer Roles
-
Astralane is hiring
-
Temporal is hiring
-
Kamino is hiring
