From 950ec79da5eb219384c2a574b0169b7ebe207cfc Mon Sep 17 00:00:00 2001 From: "Klaus T." Date: Thu, 26 Feb 2026 23:55:06 +0000 Subject: [PATCH 1/2] docs: add release notes for February 2026 releases --- sdk-libs/account-pinocchio/CHANGELOG.md | 9 +++++ sdk-libs/account/CHANGELOG.md | 9 +++++ sdk-libs/client/CHANGELOG.md | 46 +++++++++++++--------- sdk-libs/compressed-token-sdk/CHANGELOG.md | 9 +++++ sdk-libs/event/CHANGELOG.md | 15 +++++++ sdk-libs/instruction-decoder/CHANGELOG.md | 9 +++++ sdk-libs/macros/CHANGELOG.md | 13 ++++++ sdk-libs/photon-api/CHANGELOG.md | 28 +++++++------ sdk-libs/program-test/CHANGELOG.md | 15 +++++++ sdk-libs/token-pinocchio/CHANGELOG.md | 10 +++++ sdk-libs/token-sdk/CHANGELOG.md | 16 ++++++++ 11 files changed, 147 insertions(+), 32 deletions(-) create mode 100644 sdk-libs/account-pinocchio/CHANGELOG.md create mode 100644 sdk-libs/account/CHANGELOG.md create mode 100644 sdk-libs/compressed-token-sdk/CHANGELOG.md create mode 100644 sdk-libs/event/CHANGELOG.md create mode 100644 sdk-libs/instruction-decoder/CHANGELOG.md create mode 100644 sdk-libs/macros/CHANGELOG.md create mode 100644 sdk-libs/program-test/CHANGELOG.md create mode 100644 sdk-libs/token-pinocchio/CHANGELOG.md create mode 100644 sdk-libs/token-sdk/CHANGELOG.md diff --git a/sdk-libs/account-pinocchio/CHANGELOG.md b/sdk-libs/account-pinocchio/CHANGELOG.md new file mode 100644 index 0000000000..9c2203b829 --- /dev/null +++ b/sdk-libs/account-pinocchio/CHANGELOG.md @@ -0,0 +1,9 @@ +# Changelog + +All notable changes to this package will be documented in this file. + +## 2026-02-17 + +### Fixes + +- Enforces canonical bump in ATA verification. (#2249) diff --git a/sdk-libs/account/CHANGELOG.md b/sdk-libs/account/CHANGELOG.md new file mode 100644 index 0000000000..9c2203b829 --- /dev/null +++ b/sdk-libs/account/CHANGELOG.md @@ -0,0 +1,9 @@ +# Changelog + +All notable changes to this package will be documented in this file. + +## 2026-02-17 + +### Fixes + +- Enforces canonical bump in ATA verification. (#2249) diff --git a/sdk-libs/client/CHANGELOG.md b/sdk-libs/client/CHANGELOG.md index e0c2730fb1..797b2436fd 100644 --- a/sdk-libs/client/CHANGELOG.md +++ b/sdk-libs/client/CHANGELOG.md @@ -1,29 +1,37 @@ # Changelog -## [Unreleased] +All notable changes to this package will be documented in this file. + +## 2026-02-17 + +### Features + +- `AccountInterface` uses photon v2 types, `ColdContext` simplified. (#2274) + +### Fixes + +- `validate_mint()` validates mint for all token accounts, not just compressible. (#2251) +- Enforces canonical bump in ATA verification. (#2249) + +## 2026-02-10 ### Breaking Changes -- **Removed `api_key` field from `LightClientConfig`.** The API key is now part of the `photon_url`: - ```rust - // Before - LightClientConfig::new( - "https://api.devnet.solana.com".to_string(), - Some("https://photon.helius.com".to_string()), - Some("YOUR_KEY".to_string()), - ) +- `LightClientConfig::new()` takes 2 parameters instead of 3. The API key is now part of `photon_url`. + Before: `LightClientConfig::new(url, photon_url, Some(api_key))` + After: `LightClientConfig::new(url, Some("https://photon.helius.com?api-key=YOUR_KEY"))` + Migration: embed the API key as a query parameter in the photon URL. (#2219) + +- `LightClientConfig::devnet()` takes 1 parameter instead of 2. (#2219) + +- `PhotonIndexer::new()` takes 1 parameter instead of 2. (#2219) - // After - LightClientConfig::new( - "https://api.devnet.solana.com".to_string(), - Some("https://photon.helius.com?api-key=YOUR_KEY".to_string()), - ) - ``` +- `LightClient::add_indexer()` takes 1 parameter instead of 2. (#2219) -- **`LightClientConfig::new` takes 2 parameters instead of 3** (`url`, `photon_url`). +### Features -- **`LightClientConfig::devnet` takes 1 parameter instead of 2** (`photon_url`). +- `compressed_mint` photon API support. (#2198) -- **`PhotonIndexer::new` takes 1 parameter instead of 2** (`url`). +### Fixes -- **`LightClient::add_indexer` takes 1 parameter instead of 2** (`url`). +- Tree infos v2 helpers fixed. (#2244) diff --git a/sdk-libs/compressed-token-sdk/CHANGELOG.md b/sdk-libs/compressed-token-sdk/CHANGELOG.md new file mode 100644 index 0000000000..9cea3c53ee --- /dev/null +++ b/sdk-libs/compressed-token-sdk/CHANGELOG.md @@ -0,0 +1,9 @@ +# Changelog + +All notable changes to this package will be documented in this file. + +## 2026-02-17 + +### Fixes + +- `max_top_up` defaults to `u16::MAX` instead of `0` in instruction builders. (#2279) diff --git a/sdk-libs/event/CHANGELOG.md b/sdk-libs/event/CHANGELOG.md new file mode 100644 index 0000000000..cb542f80fb --- /dev/null +++ b/sdk-libs/event/CHANGELOG.md @@ -0,0 +1,15 @@ +# Changelog + +All notable changes to this package will be documented in this file. + +## 2026-02-17 + +### Fixes + +- `max_top_up` defaults to `u16::MAX` instead of `0` in instruction builders. (#2279) + +## 2026-02-10 + +### Features + +- `compressed_mint` photon API support. (#2198) diff --git a/sdk-libs/instruction-decoder/CHANGELOG.md b/sdk-libs/instruction-decoder/CHANGELOG.md new file mode 100644 index 0000000000..9cea3c53ee --- /dev/null +++ b/sdk-libs/instruction-decoder/CHANGELOG.md @@ -0,0 +1,9 @@ +# Changelog + +All notable changes to this package will be documented in this file. + +## 2026-02-17 + +### Fixes + +- `max_top_up` defaults to `u16::MAX` instead of `0` in instruction builders. (#2279) diff --git a/sdk-libs/macros/CHANGELOG.md b/sdk-libs/macros/CHANGELOG.md new file mode 100644 index 0000000000..6f041c57cd --- /dev/null +++ b/sdk-libs/macros/CHANGELOG.md @@ -0,0 +1,13 @@ +# Changelog + +All notable changes to this package will be documented in this file. + +## 2026-02-17 + +### Features + +- `light_program` pinocchio macro refactored for cleaner code generation. (#2247) + +### Fixes + +- Enforces canonical bump in ATA verification. (#2249) diff --git a/sdk-libs/photon-api/CHANGELOG.md b/sdk-libs/photon-api/CHANGELOG.md index 891d6f18c6..36ece813e3 100644 --- a/sdk-libs/photon-api/CHANGELOG.md +++ b/sdk-libs/photon-api/CHANGELOG.md @@ -1,22 +1,24 @@ # Changelog -## [Unreleased] +All notable changes to this package will be documented in this file. + +## 2026-02-17 ### Breaking Changes -- **Simplified `Configuration` struct.** The API key is now embedded in the URL as a query parameter: - ```rust - // Before - let mut config = Configuration::new(); - config.base_path = "https://photon.helius.com".to_string(); - config.api_key = Some(ApiKey { prefix: None, key: "YOUR_KEY".to_string() }); +- `Configuration` struct simplified. The API key is now embedded in the URL. + Before: `Configuration::new()` + `config.api_key = Some(ApiKey { ... })` + After: `Configuration::new("https://photon.helius.com?api-key=YOUR_KEY")` + Migration: pass the full URL with API key to `Configuration::new()`. (#2219) + +- `Configuration::new_with_api_key()` removed. Use `Configuration::new()` with the API key in the URL. (#2219) - // After - let config = Configuration::new("https://photon.helius.com?api-key=YOUR_KEY".to_string()); - ``` +### Features -- **Removed `Configuration::new_with_api_key`.** Use `Configuration::new` with the API key in the URL instead. +- `AccountInterface` uses photon v2 types, `ColdContext` simplified. (#2274) +- `compressed_mint` API support. (#2198) +- Client types pre-generated by progenitor from the Photon OpenAPI spec. Regenerate with `cargo build -p photon-api --features generate`. (#2219) -### Added +### Fixes -- **`external/photon` git submodule.** The Photon OpenAPI spec (`external/photon/src/openapi/specs/api.yaml`) is now pulled in as a submodule. Client types are pre-generated by [progenitor](https://github.com/oxidecomputer/progenitor) and checked in as `src/codegen.rs`. To regenerate after spec changes: `cargo build -p photon-api --features generate`. Generation deps (progenitor, regress, etc.) are behind the optional `generate` feature so they don't affect normal builds or CI. +- V1 compatibility in mint action layout removed. (#2226) diff --git a/sdk-libs/program-test/CHANGELOG.md b/sdk-libs/program-test/CHANGELOG.md new file mode 100644 index 0000000000..4fb24d05e5 --- /dev/null +++ b/sdk-libs/program-test/CHANGELOG.md @@ -0,0 +1,15 @@ +# Changelog + +All notable changes to this package will be documented in this file. + +## 2026-02-17 + +### Fixes + +- Enforces canonical bump in ATA verification. (#2249) + +## 2026-02-10 + +### Features + +- `compressed_mint` photon API support. (#2198) diff --git a/sdk-libs/token-pinocchio/CHANGELOG.md b/sdk-libs/token-pinocchio/CHANGELOG.md new file mode 100644 index 0000000000..d51ad76318 --- /dev/null +++ b/sdk-libs/token-pinocchio/CHANGELOG.md @@ -0,0 +1,10 @@ +# Changelog + +All notable changes to this package will be documented in this file. + +## 2026-02-17 + +### Fixes + +- `max_top_up` defaults to `u16::MAX` instead of `0` in instruction builders. (#2279) +- Enforces canonical bump in ATA verification. (#2249) diff --git a/sdk-libs/token-sdk/CHANGELOG.md b/sdk-libs/token-sdk/CHANGELOG.md new file mode 100644 index 0000000000..7c2f43d587 --- /dev/null +++ b/sdk-libs/token-sdk/CHANGELOG.md @@ -0,0 +1,16 @@ +# Changelog + +All notable changes to this package will be documented in this file. + +## 2026-02-18 + +### Fixes + +- `TransferInterfaceCpi` passes `fee_payer` in the LightToLight transfer path. Previously hardcoded to `None`, causing PrivilegeEscalation errors. (#2294) + +## 2026-02-17 + +### Fixes + +- `max_top_up` defaults to `u16::MAX` instead of `0` in instruction builders. (#2279) +- Enforces canonical bump in ATA verification. (#2249) From d6316667638bd999bd79f03691bd28f286090435 Mon Sep 17 00:00:00 2001 From: "Klaus T." Date: Fri, 27 Feb 2026 23:55:19 +0000 Subject: [PATCH 2/2] docs: add v0.23.0 release notes (2026-02-27) --- sdk-libs/account-pinocchio/CHANGELOG.md | 6 ++++++ sdk-libs/account/CHANGELOG.md | 6 ++++++ sdk-libs/client/CHANGELOG.md | 6 ++++++ sdk-libs/compressed-token-sdk/CHANGELOG.md | 6 ++++++ sdk-libs/macros/CHANGELOG.md | 8 ++++++++ sdk-libs/token-client/CHANGELOG.md | 9 +++++++++ sdk-libs/token-pinocchio/CHANGELOG.md | 7 +++++++ sdk-libs/token-sdk/CHANGELOG.md | 13 +++++++++++++ 8 files changed, 61 insertions(+) create mode 100644 sdk-libs/token-client/CHANGELOG.md diff --git a/sdk-libs/account-pinocchio/CHANGELOG.md b/sdk-libs/account-pinocchio/CHANGELOG.md index 9c2203b829..5ada552b3b 100644 --- a/sdk-libs/account-pinocchio/CHANGELOG.md +++ b/sdk-libs/account-pinocchio/CHANGELOG.md @@ -2,6 +2,12 @@ All notable changes to this package will be documented in this file. +## 2026-02-27 + +### Features + +- `create_accounts()` generic function for unified PDA, mint, token, and ATA creation. Exported along with `PdaInitParam`, `CreateMintsInput`, `TokenInitParam`, `AtaInitParam`, and `SharedAccounts`. (#2287) + ## 2026-02-17 ### Fixes diff --git a/sdk-libs/account/CHANGELOG.md b/sdk-libs/account/CHANGELOG.md index 9c2203b829..5ada552b3b 100644 --- a/sdk-libs/account/CHANGELOG.md +++ b/sdk-libs/account/CHANGELOG.md @@ -2,6 +2,12 @@ All notable changes to this package will be documented in this file. +## 2026-02-27 + +### Features + +- `create_accounts()` generic function for unified PDA, mint, token, and ATA creation. Exported along with `PdaInitParam`, `CreateMintsInput`, `TokenInitParam`, `AtaInitParam`, and `SharedAccounts`. (#2287) + ## 2026-02-17 ### Fixes diff --git a/sdk-libs/client/CHANGELOG.md b/sdk-libs/client/CHANGELOG.md index 797b2436fd..a9c92e7c01 100644 --- a/sdk-libs/client/CHANGELOG.md +++ b/sdk-libs/client/CHANGELOG.md @@ -2,6 +2,12 @@ All notable changes to this package will be documented in this file. +## 2026-02-27 + +### Features + +- Forester dashboard with compression improvements, pending state tracking, and eligibility checks. (#2310) + ## 2026-02-17 ### Features diff --git a/sdk-libs/compressed-token-sdk/CHANGELOG.md b/sdk-libs/compressed-token-sdk/CHANGELOG.md index 9cea3c53ee..813d7ccafa 100644 --- a/sdk-libs/compressed-token-sdk/CHANGELOG.md +++ b/sdk-libs/compressed-token-sdk/CHANGELOG.md @@ -2,6 +2,12 @@ All notable changes to this package will be documented in this file. +## 2026-02-27 + +### Breaking Changes + +- `max_top_up` removed from instruction structs. Authority mutability and wire format aligned with pinocchio. (#2301) + ## 2026-02-17 ### Fixes diff --git a/sdk-libs/macros/CHANGELOG.md b/sdk-libs/macros/CHANGELOG.md index 6f041c57cd..fca606276d 100644 --- a/sdk-libs/macros/CHANGELOG.md +++ b/sdk-libs/macros/CHANGELOG.md @@ -2,6 +2,14 @@ All notable changes to this package will be documented in this file. +## 2026-02-27 + +### Features + +- 1-byte discriminator support via `#[light_pinocchio(discriminator = [...])]` attribute. Supports variable-length discriminators (1-8 bytes). (#2302) +- `create_accounts()` unified function replaces multiple separate code generation paths for PDAs, mints, tokens, and ATAs. (#2287) +- Forester dashboard with compression improvements. (#2310) + ## 2026-02-17 ### Features diff --git a/sdk-libs/token-client/CHANGELOG.md b/sdk-libs/token-client/CHANGELOG.md new file mode 100644 index 0000000000..5dbf4fb4d5 --- /dev/null +++ b/sdk-libs/token-client/CHANGELOG.md @@ -0,0 +1,9 @@ +# Changelog + +All notable changes to this package will be documented in this file. + +## 2026-02-27 + +### Breaking Changes + +- `max_top_up` removed from instruction structs. Authority mutability and wire format aligned with pinocchio. (#2301) diff --git a/sdk-libs/token-pinocchio/CHANGELOG.md b/sdk-libs/token-pinocchio/CHANGELOG.md index d51ad76318..37ca4f6ff8 100644 --- a/sdk-libs/token-pinocchio/CHANGELOG.md +++ b/sdk-libs/token-pinocchio/CHANGELOG.md @@ -2,6 +2,13 @@ All notable changes to this package will be documented in this file. +## 2026-02-27 + +### Fixes + +- `TransferInterfaceCpi` passes `fee_payer` in the LightToLight transfer path. Previously hardcoded to `None`, causing PrivilegeEscalation errors. (#2294) +- Authority mutability and wire format aligned with token-sdk. (#2301) + ## 2026-02-17 ### Fixes diff --git a/sdk-libs/token-sdk/CHANGELOG.md b/sdk-libs/token-sdk/CHANGELOG.md index 7c2f43d587..0e03834125 100644 --- a/sdk-libs/token-sdk/CHANGELOG.md +++ b/sdk-libs/token-sdk/CHANGELOG.md @@ -2,6 +2,19 @@ All notable changes to this package will be documented in this file. +## 2026-02-27 + +### Breaking Changes + +- `max_top_up` removed from all instruction structs (`Transfer`, `TransferChecked`, `Burn`, `BurnChecked`, `MintTo`, `MintToChecked`, `TransferInterface`, `Approve`, `Revoke`). The on-chain program defaults to `u16::MAX` when not specified. + Before: `Transfer { max_top_up: Some(u16::MAX), ... }` + After: `Transfer { ... }` (field removed) + Migration: remove `max_top_up` from all instruction builders. (#2301) + +- `fee_payer` is now required in instruction and CPI APIs. Authority is writable when no `fee_payer` is provided. (#2301) + +- `get_token_account_balance()` returns `ProgramError` instead of SDK-specific errors. (#2301) + ## 2026-02-18 ### Fixes