Skip to main content
This is the documentation’s changelog — the record of updates to these pages from the project go-live onward. Each release below links to its own entry; open one for the full summary, affected chapters, and verified-date. For the protocol’s own historical timeline, see introduction/history-and-milestones.

Releases

LaunchLab: CPMM-only launches and platform config controls
New launch initialization now requires CPMM while legacy AMM v4-bound state remains migratable. Before this release, creator_scale produced a creator-owned Fee Key; CPMM migrations executed after the upgrade instead consolidate platform_scale + creator_scale into one platform-owned Fee Key share. Platforms can also restrict launches with their own PlatformAllowConfig PDAs, and migration builders must append both CPMM support-mint PDAs.Read the full entry →
CLMM: restricted-issuer position NFT freezing
New CLMM position NFT mints use their pool as freeze authority, but their token accounts remain unfrozen by default. Freezing occurs only on OpenPositionV2 or OpenPositionWithToken22Nft when either underlying vault mint’s freeze authority matches the restricted-issuer list. A matching position cannot transfer or change owner but can still manage liquidity. Its ClosePosition call must append the pool so CLMM can thaw, burn, and close atomically. Existing positions remain unchanged.Read the full entry →
CPMM: permissionless creator-fee collection
An additive CollectCreatorFeePermissionless instruction lets any payer sweep all accrued creator fees, while constraining the beneficiary and both token destinations to PoolState.pool_creator and the creator’s canonical ATAs. The original creator-signed path remains unchanged. CreatePermissionPda also accepts a dedicated grant authority, while ClosePermissionPda stays admin-only.Read the full entry →
CLMM: permissioned multi-pools and limit-order frozen-account guard
Two additive, backwards-compatible CLMM program updates. CreatePermissionedPool folds a client-supplied non-zero seed_index into the pool PDA seeds, letting a whitelisted operator (one holding a Permission PDA) create multiple pools per (config, mint0, mint1) — so a pool ID is no longer canonical for a pair. New admin instructions CreatePermissionPda / ClosePermissionPda manage those grants, and PoolState gains a seed_index field (carved from padding, no size change). Separately, OpenLimitOrder now takes the output-side accounts and rejects orders whose input or output token account is frozen (NotApproved).Read the full entry →
AMM v4: remove OpenBook / Serum dependency
AMM v4 removes its long-dormant OpenBook/Serum dependency, all order-book CPIs, and the dead market-making instructions. SwapBaseIn / SwapBaseOut, Deposit, and Withdraw keep their layouts (removed market accounts are now ignored, not validated); a hard-breaking WithdrawPnl (17 → 10, no compatibility) and SetParams (reduced accounts + renumbered param); and Initialize, PreInitialize, MonitorStep, MigrateToOpenBook, WithdrawSrm, SimulateInfo, AdminCancelOrders are no longer callable. On-chain account layouts and error codes stay stable; migrate swaps to the V2 entrypoints.Read the full entry →
Stable AMM: remove dead OpenBook (market) code
Stable AMM removes its long-dormant OpenBook market-making accounts and code. Smaller SwapBaseIn / SwapBaseOut (18 → 9), Deposit (14 → 12), and Withdraw (21/22 → 12) layouts (old layouts still compatible); a hard-breaking WithdrawPnl change (16 → 10, no compatibility); the referral fee retired; and a simplified vault-only pool-asset formula. Most other Stable instructions are no longer callable.Read the full entry →
CLMM: limit orders, single-sided fee, dynamic fee
Three opt-in, backwards-compatible CLMM capabilities: first-class limit orders (with a limit_order_admin settle keeper), single-sided fee collection (CollectFeeOn), and a volatility-tracking dynamic fee. Adds CreateCustomizablePool, a PoolState reshape (indexer breaking change), new TickState fields, eleven new error codes (with a numeric shift), and matching SDK / API additions.Read the full entry →
Initial publication
First public release of the Raydium documentation set, verified against live mainnet-beta deployments and @raydium-io/raydium-sdk-v2@0.2.42-alpha.Read the full entry →

Documentation conventions

  • Versioning: this documentation uses calendar-based versioning (YYYY-MM-DD). Each update adds a new entry page and a new row at the top of the timeline above.
  • One page per release: every release summary lives on its own page under reference/changelog/, so this index stays short and each entry is independently linkable.
  • Verified date: every entry records when the content was last cross-checked against on-chain / API state and the program source. If not stated, assume the entry’s main date.
  • Breaking changes: called out in a boxed warning on affected pages and tagged in the entry.
  • Coverage: this changelog covers the documentation set itself. The protocol’s own historical timeline lives in introduction/history-and-milestones and is the source of truth for “when did X happen on Raydium”.

Corrections

If you find an error in this documentation, please open an issue or pull request on the documentation repository. Corrections are logged as changelog entries.

Pointers