solana-web3.js 3.0 moves the classic API onto Kit, with async keypairs and a new default commitment
The Solana Foundation published @solana/web3.js 3.0.0 on 1 October, the successor to the 1.x line of the classic class-based JavaScript library; its release notes cover the changes since 1.98.4. It is on npm under the next tag and is due to become latest on 19 October, so a plain install still gets 1.x until then. A new @solana/wallet-adapter 3.0 package ships alongside it, with Sign-In With Solana 1.1 and standalone signing.
What changes underneath. Connection now runs on Solana Kit's typed HTTP and websocket transports from end to end, replacing the old JSON-RPC plumbing while keeping the familiar API. Signing and verification follow WebCrypto and Kit, the library moves towards Uint8Array instead of Node's Buffer, and program encoding uses codecs and generated program clients. Keypair implements Kit's KeyPairSigner, so it can be passed directly to Kit APIs and generated clients.
Breaking changes most code will hit.
Keypair.generate(),fromSecretKey()andfromSeed()are now async, as areTransaction.serialize()andverifySignatures().- The implicit default commitment of
Connectionchanges fromfinalizedtoconfirmed. - Many
Connectionmethods returnbigintinstead ofnumber, and account data arrives as read-onlyUint8Arraywithspaceas abigint. - The old
{publicKey, secretKey}signer shape,PublicKey.unique(), the legacyAccountclass and the deprecated fee-calculator methods, includinggetRecentBlockhash, are removed. getMinimumBalanceForRentExemptionnow throws on RPC failure instead of logging a warning and returning zero. The notes give the reason: a failed rent query should not be mistaken for a rent-free account.
Hardening. Many of the fixes concern correctness at the edges: the message header is copied at construction so later mutation cannot change the bytes that were signed, signature status is reconciled before a transaction is reported as expired, websocket subscription failures stop retrying in an endless loop, and the wallet adapter refuses wallet output that drops the caller's signatures.
The honest caveat. The release notes include a section titled Migration Reality Check. The API is still class-based, but non-trivial TypeScript users should expect broad mechanical changes, mostly from bigint numbers, Uint8Array data, async helpers and read-only results. For apps that already use most of the library, the notes say the payoff is modernisation and future compatibility rather than a much smaller bundle.

What it means
The date that matters is 19 October, when latest moves and unpinned installs start pulling 3.0. Projects that depend on @solana/web3.js without a version range should pin ^1 now and plan the upgrade. The commitment change is the subtle one: code that silently relied on finalized reads will start seeing confirmed state instead.