Skip to content
This repository was archived by the owner on Jan 22, 2025. It is now read-only.

Releases: solana-labs/solana

v0.12.2

27 Mar 00:08
Compare
Choose a tag to compare

This release fixes a few stability bugs, mainly

  1. Crash in status_dequeue due to freeze
  2. Crash caused by account squash

The release also includes more statistics to view consensus algorithm performance.

Known Issues

  • Low TPS; not a focus of this release
  • Rust crates not published to crates.io; circular dependencies

v0.12.1

25 Mar 23:40
Compare
Choose a tag to compare

This release improves overall stability of the system. The issues with network convergence, voting, and confirmation time are resolved.

Known Issues

  • Low TPS; not a focus of this release
  • Rust crates not published to crates.io; circular dependencies

v0.12.1-pre3: Update leader slot in poh recorder if we skipped it (#3451)

23 Mar 00:48
f479021
Compare
Choose a tag to compare
* reset poh recorder with the original start slot

Smart contract development via solana_runtime

11 Mar 23:02
Compare
Choose a tag to compare

Beacons v0.12.0

Major Features And Improvements

  • New Rust crate, solana-runtime, allows for smart contract development without needing to spin up a testnet
  • Improved leader rotation algorithm using the validators' VDFs as ...beacons!
  • Added a high-throughput, streaming block explorer
  • Scalable account storage and reduced RAM usage via memory-mapping
  • Avalanche fully-implemented; simulation indicates promising scale to 10's of thousands of nodes
  • Improved support for BPF-compiled smart contracts written in Rust

TPS Report

The codebase is undergoing a large rewrite. Performance is awful at the moment and was not a focus of this release cycle. We'll report TPS, node counts, and confirmation times again soon!

Additional Features and Improvements

  • New TransactionBuilder Rust library in the SDK to trivialize creation of multi-instruction transactions
  • Fullnodes now fork-aware and implement rudimentary fork selection
  • New fork-aware Bank now supports checkpointing, rollback and squashing
  • New Blocktree ledger format with builtin support for forks
  • Improved security via signed control plane messages
  • Solana's equivalent of Bitcoin's satoshis named lamports. All code and documentation updated. The term "token" is now reserved for fungible currencies implementing the ERC20 interface.
  • solana_erc20 crate renamed to solana_token
  • Budget smart contract DSL now recurses to support nested expressions
  • New compressed transaction format encodes 64-bit integers with 1 to 9 bytes
  • Preview release of KvStore, a high-speed Key-Value Store to replace RocksDB

Breaking Changes

  • Transaction format is incompatible with previous releases. Expect this in all releases until mainnet launch.

Known Issues

  • Low TPS; not a focus of this release
  • Cluster stalls; fullnodes can't find each other
  • Rust crates not published to crates.io; circular dependencies

Stake-weighted leader rotation

08 Jan 03:12
36398bc
Compare
Choose a tag to compare

Release v0.11.0 - Tabletops

Major Features And Improvements

  • A new online book, detailing what's implemented and what's to come! Solana: Blockchain Rebuilt for Scale
  • Fullnodes now use stake weights to take turns producing new blocks
  • Preview release of Rust programs compiled to BPF bytecode and running on chain

TPS Report

Node Count Avg TPS Max TPS Avg Confirmation Max Confirmation
10 192,162 358,771 0.984 3.351
25 182,221 358,179 1.071 2.953
50 185,631 350,462 1.046 2.673
100 117,132 436,523 1.683 5.313

Additional Features and Improvements

  • Tic-tac-toe on-chain games now funded using an off-chain Ethereum-style faucet
  • Transaction format extended to support single transaction multisig
  • SDK now includes a fork of the LLVM compiler toolchain that includes an enhanced BPF backend
  • On-chain C programs can now return structs and pass them across translation units
  • Validators now do Proof of History verification
  • Banking code restructured to track multiple forks (though fork selection and rollback not yet implemented)
  • Lots of progress to replicator nodes (though not yet integrated into the data plane)
  • Migrate codebase to Rust 2018
  • Upgraded GPU code to CUDA 10.0

Breaking Changes

  • Transaction format is incompatible with previous releases. Expect this in all releases until mainnet launch.

Known Issues

  • ~10% drop in TPS compared to the latest Pillbox release
  • TPS degrades for clusters of 100+ fullnodes. Avalanche rewrite in progress.

50% higher TPS and on-chain programs in C

02 Nov 22:18
f6b709c
Compare
Choose a tag to compare

Release v0.10 - Pillbox

With this release we have increased our mean transaction throughput to 200k TPS while extending our transaction engine to load and interact with programs written in C. We execute programs using BPF, the same technique that the Linux kernel uses to run untrusted code for high-performance packet filtering and process sandboxing. Applied to blockchain, it means DApp developers can expect the same amazing runtime performance previously only available to the blockchain software itself.

Major Features And Improvements

TPS Report

Node Count Avg TPS Max TPS Avg Finality Max Finality 99th Finality
10 204,150 491,772 1.716 20.132 7.466
25 198,498 442,707 1.560 15.206 5.058
50 201,418 564,986 1.820 16.724 15.833
100 186,808 460,587 1.318 14.398 10.834

Additional Features and Improvements

  • Added atomic batched transactions so multiple instructions can be included in a single transaction
  • Published Rust crate solana-sdk to implement built-in programs
  • Preview release of on-chain program solana-lualoader to load on-chain Lua programs
  • Down to zero known security vulnerabilities in all package dependences. Thanks cargo audit!

Breaking Changes

  • Transaction format is incompatible with previous releases. Expect this in all releases until mainnet launch.

Known Issues

  • Average finality times popped above 1 second. The validators on our testnet are having a bit of trouble keeping up with the speedy new leader.

v0.9.1

22 Oct 18:04
609889c
Compare
Choose a tag to compare

Change to install scripts to pick latest available early-oom package.

Rock-solid 100k+ TPS public testnet

29 Sep 21:25
Compare
Choose a tag to compare

Release v0.9 - Swamis

Just two weeks after our v0.8 Windansea release, the Solana team is proud to release the next major revision, v0.9 Swamis.

Major Features And Improvements

  • First release of our smart contracts SDK. Play tic-tac-toe on-chain!
  • First debut of "replicator" nodes that provably store ledger segments.
  • Fixed all known issues from the v0.8 testnet. It's rock solid, averaging well over 100k TPS.

TPS Report

Node Count Avg TPS Max TPS Avg Finality Max Finality
10 130,371 235,165 568ms 1.414s
25 123,356 240,309 624ms 1.595s
50 110,136 235,045 680ms 1.474s
100 116,849 242,730 732ms 2.068s

Breaking Changes

  • Transaction format, ledger format, and wire format for replication are incompatible with previous releases. Expect this in all releases until a mainnet launch.

Known Issues

  • None!

What's next

  • Proof-of-Stake leader rotation
  • Torrent-style ledger replication
  • Multi-threaded contract engine
  • User-defined smart contract interpreters
  • Faster, faster, faster!

v0.8.1

17 Sep 23:07
d81eaf6
Compare
Choose a tag to compare

tagged perf libs
updated to rust 1.29

Windansea

14 Sep 22:43
Compare
Choose a tag to compare

Release v0.8 - Windansea

The Solana team is proud to release version 0.8.0 of our high-performance blockchain software. In this release, we introduce the LAMPORT smart contract engine, our biggest innovation since Avalanche replication. With LAMPORT (Language-Agnostic, Memory-oriented, Parallel-friendly, Optimized Run-Time), we can execute smart contracts concurrently, and written in the client’s choice of programming language. Furthermore, we demonstrate Solana’s built-in smart contract language Budget can target LAMPORT without any loss in performance. The two features that allow LAMPORT to work:

  • Client-owned memory identified by public keys. By declaring ownership upfront and separating the program’s state from the program, the runtime knows which contracts can safely be executed concurrently.
  • Solana’s blockchain-encoded VDF tells validator nodes at precisely what times they need to end up in the same state. Between those times, they are free to introduce non-deterministic behavior as-needed to improve execution times.

Major Features And Improvements

  • Initial support for web-based clients via JsonRPC
  • Accounts with state: forms the basis for Solana's smart contracts engine
  • Dynamic testnet deployment for Google Cloud SDK - run your own testnet!
  • 20% performance improvement over v0.7 in transactions per second
  • Improved metrics and network monitoring
  • Simpler and more robust rendezvous with gossip
  • Simpler and more consistent CLI interfaces

Breaking Changes

  • Network rendezvous and network ports have moved from hard-coded to ad-hoc
  • Transaction format, ledger format, and wire format for replication are incompatible with previous releases. Follow-on releases are also likely to break this.

Known Issues

  • Heavily trafficked testnets are suffering from our aggressive out of memory approach.
  • Server restart may fail on networks with heavy traffic with "LastIdNotFound" #1171

Thanks to our Contributors

This release contains contributions from many people at Solana, as well as: Nikhil Saraf