Skip to content

docs: release notes for March 2026 program releases#29

Open
klausundklaus wants to merge 2 commits intoLightprotocol:mainfrom
klausundklaus:release-notes/2026-03-10
Open

docs: release notes for March 2026 program releases#29
klausundklaus wants to merge 2 commits intoLightprotocol:mainfrom
klausundklaus:release-notes/2026-03-10

Conversation

@klausundklaus
Copy link

@klausundklaus klausundklaus commented Mar 11, 2026

Release Notes - 2026-03-10

Packages covered

  • light-system-program@2.3.0 (Mainnet)
  • light-compressed-token@2.4.0 (Mainnet)
  • light-registry@2.3.0 (Devnet)
  • account-compression@2.2.0 (Devnet)

GitHub Releases

Highlights

  • Security fix M-03: MintCloseAuthority added to restricted extensions (Certora audit)
  • Mint creation fee: 50,000 lamports MINT_CREATION_FEE (breaking: CreateMintInputs requires rent_sponsor)
  • Pinocchio SDK: light-account + light-account-pinocchio crates with LightAccount / LightProgramPinocchio derive macros
  • V1 tree deprecation warnings + protocol authority requirement for tree creation

Generated by OpenClaw release-notes automation.

Summary by CodeRabbit

  • Documentation
    • Added a comprehensive MDX changelog consolidating multiple Light Protocol releases for programs and SDKs.
    • Includes per-release sections for versions, new features, fixes, security notes, deprecations, breaking changes, and migration/upgrade guidance.
    • Provides dependency examples, program hashes, and narrative audit/security commentary to assist upgrade planning.

@coderabbitai
Copy link

coderabbitai bot commented Mar 11, 2026

Walkthrough

Adds a new MDX changelog (changelog.mdx) documenting multiple Light Protocol and SDK releases (Programs March 2026, Devnet Registry v2.3.1, Beta releases), listing features, fixes, security notes, breaking changes, program hashes, and migration guidance across crates.

Changes

Cohort / File(s) Summary
Changelog Documentation
changelog.mdx
New comprehensive MDX changelog capturing release notes for Light Protocol crates and SDKs: Programs March 2026, Devnet Registry v2.3.1, SDK v0.23.0, per-crate sections (light-system-program, light-compressed-token, light-registry, account-compression, mint/token/ATA, SDK crates). Includes New/Fixes/Security/Breaking sections, migration steps, program hashes, TOML dependency examples, and deprecation warnings. Reviewers should focus on accuracy of breaking-change instructions, migration commands, and program hash values.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10-15 minutes

Poem

🐇 I hopped through lines of versioned light,
Notes and hashes shining bright,
Breaking paths and fixes too,
Migration carrots tied with glue,
Forward we bound — new builds in sight! ✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title 'docs: release notes for March 2026 program releases' accurately summarizes the main change—adding release notes documentation for March 2026 program releases.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
📝 Coding Plan
  • Generate coding plan for human review comments

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Tip

CodeRabbit can generate a title for your PR based on the changes with custom instructions.

Set the reviews.auto_title_instructions setting to generate a title for your PR based on the changes in the PR with custom instructions.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@changelog.mdx`:
- Around line 10-12: The <Warning> blocks currently read "See the CHANGELOG"
which is ambiguous because readers are already on changelog.mdx; update each
<Warning> instance (the ones around lines 10-12, 73-75, 152-154, 254-256) to
either point to the specific breaking-changes section anchors (e.g., link to the
matching "Breaking changes" header within this document) or change the copy to
"See below for migration steps" so the migration destination is unambiguous;
ensure each updated <Warning> contains either a correct internal link to the
matching breaking-changes section or the "See below" wording consistently.
- Around line 14-66: Under each March 2026 release heading (the headings
"light-system-program v2.3.0 (Mainnet)", "light-compressed-token v2.4.0
(Mainnet)", "light-registry v2.3.0 (Devnet)", and "account-compression v2.2.0
(Devnet)"), add a new line immediately below the heading that reads "GitHub
Release: <release URL>" (use a markdown link) pointing to that program's GitHub
release page; ensure you insert this line for the four sections that currently
only show Program hash and summary so readers can click through to the release
pages.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 2b5406b3-9573-459e-9c8b-a89dd50787ad

📥 Commits

Reviewing files that changed from the base of the PR and between 0660df0 and 818402b.

📒 Files selected for processing (1)
  • changelog.mdx

Comment on lines +10 to +12
<Warning>
Breaking changes in this release. See the CHANGELOG for migration steps.
</Warning>
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Point these migration warnings at a real destination.

“See the CHANGELOG” is ambiguous here: readers are already on changelog.mdx, and changelog.md is the automation doc, not the migration guide. Please link each warning to the matching breaking-changes section or change the copy to “See below” so the migration path is obvious.

Also applies to: 73-75, 152-154, 254-256

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@changelog.mdx` around lines 10 - 12, The <Warning> blocks currently read "See
the CHANGELOG" which is ambiguous because readers are already on changelog.mdx;
update each <Warning> instance (the ones around lines 10-12, 73-75, 152-154,
254-256) to either point to the specific breaking-changes section anchors (e.g.,
link to the matching "Breaking changes" header within this document) or change
the copy to "See below for migration steps" so the migration destination is
unambiguous; ensure each updated <Warning> contains either a correct internal
link to the matching breaking-changes section or the "See below" wording
consistently.

Comment on lines +14 to +66
### light-system-program v2.3.0 (Mainnet)

Program hash: `581998887c26c6bda44872703b55187a435e3643293c8fd77929d562032fd04b`

`light-system-program` v2.3.0 deployed to mainnet with security fixes, new Pinocchio SDK support, and breaking SDK changes.

**Security**: `MintCloseAuthority` added to `RESTRICTED_EXTENSION_TYPES` and `has_mint_extensions()`. A mint with this extension could previously be compressed without `CompressOnly` mode, allowing the mint authority to close the mint and strand compressed tokens. Certora audit finding M-03. (#2263)

**New**: `light-account` (Anchor/Solana) and `light-account-pinocchio` crates provide framework-agnostic compressed account development. Introduces `#[derive(LightAccount)]`, `#[derive(LightProgramPinocchio)]`, and generic type aliases (`CpiAccounts`, `CompressCtx`, `DecompressCtx`, `ValidatedPdaContext`, `PackedAccounts`). (#2230)

**New**: `AccountLoader` for loading compressed accounts without derive macros. `#[light_account(init)]` now requires a `pda_rent_sponsor` account. (#2222)

**New**: `DECOMPRESSED_PDA_DISCRIMINATOR` constant (`[255u8; 8]`) in `light-compressible` marks decompressed PDA placeholder accounts. (#2208)

**Fixes**: `store_data()` owner caching corrected (#2277), v2 tree rollover balance check fixed (#2278), canonical bump enforced in ATA verification (#2249), batched address tree init asserts tree and queue index match (#2318), system program addresses corrected (#2298).

### Breaking changes in light-system-program v2.3.0

- `COMPRESSIBLE_CONFIG_SEED` renamed to `LIGHT_CONFIG_SEED`. Migration: update all references. (#2222)
- `COMPRESSIBLE_CONFIG_V1` renamed to `LIGHT_TOKEN_CONFIG`. Migration: update all references. (#2222)
- `token::authority` renamed to `token::owner_seeds` in `#[light_account]`. Owner seeds must be constants. (#2222)
- `#[light_account(init)]` now requires `pda_rent_sponsor` in instruction accounts. (#2222)
- `#[derive(Compressible)]` removed -- use `#[derive(LightAccount)]` or `#[derive(LightProgramPinocchio)]`. (#2230)

### light-compressed-token v2.4.0 (Mainnet)

Program hash: `ad43a477a97cad48b088a64ab51008c2d27b5798090330a922a588fdecec8ea1`

`light-compressed-token` v2.4.0 deployed to mainnet with a new mint creation fee and optional fee payer support.

**New**: Mint creation charges `MINT_CREATION_FEE` (50,000 lamports) forwarded to `rent_sponsor`. `CreateMintInputs` gains a required `rent_sponsor` field. Use `MintActionMetaConfig::with_rent_sponsor()` to configure the recipient. (#2309)

**New**: `revoke` and `approve` instructions accept an optional `fee_payer` account via `FEE_PAYER_IDX` const generic, with fallback to owner. (#2306)

**Fixes**: additional self-transfer validation (#2292), rent exemption check added to `create_token_account()` (#2292), `create_ata_idempotent()` guards against double-creation (#2292).

### Breaking changes in light-compressed-token v2.4.0

- `CreateMintInputs` requires a `rent_sponsor` field. Use `MintActionMetaConfig::with_rent_sponsor()`. (#2309)
- `handle_compressible_top_up()` and `process_compressible_top_up()` take a new `FEE_PAYER_IDX` const generic. `APPROVE_PAYER_IDX`/`REVOKE_PAYER_IDX` renamed to `OWNER_IDX`. (#2306)

### light-registry v2.3.0 (Devnet)

`light-registry` v2.3.0 deployed to devnet. Tree initialization functions (`create_initialize_merkle_tree_instruction`, `create_initialize_batched_merkle_tree_instruction`, `create_initialize_batched_address_merkle_tree_instruction`) now require the protocol authority as signer. The `payer` parameter is renamed to `authority`. (#2325)

V1 tree initialization logs a deprecation warning. V1 trees will be removed in a future release. (#2329)

Fixes: `init_v1_tree_with_custom_forester()` corrected (#2319), `migrate_trees_ix()` preserves in-progress work (#2320).

### account-compression v2.2.0 (Devnet)

`account-compression` v2.2.0 deployed to devnet. V1 tree initialization logs a deprecation warning. Tree default values updated to match mainnet configuration. (#2329, #2124)

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Add the GitHub Release links for the March 2026 entries.

The PR objective already includes release URLs for these four program releases, but the published sections only show hashes and summaries. Adding a GitHub Release: link under each heading would make the changelog much easier to verify and navigate.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@changelog.mdx` around lines 14 - 66, Under each March 2026 release heading
(the headings "light-system-program v2.3.0 (Mainnet)", "light-compressed-token
v2.4.0 (Mainnet)", "light-registry v2.3.0 (Devnet)", and "account-compression
v2.2.0 (Devnet)"), add a new line immediately below the heading that reads
"GitHub Release: <release URL>" (use a markdown link) pointing to that program's
GitHub release page; ensure you insert this line for the four sections that
currently only show Program hash and summary so readers can click through to the
release pages.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (2)
changelog.mdx (2)

30-32: ⚠️ Potential issue | 🟡 Minor

Clarify migration destination in all warning blocks.

Line 31, Line 94, Line 173, and Line 275 still say “See the CHANGELOG,” which is ambiguous on this page. Link each warning to the matching “Breaking changes …” section (or use “See below for migration steps” consistently).

Suggested wording pattern
- Breaking changes in this release. See the CHANGELOG for migration steps.
+ Breaking changes in this release. See below for migration steps.

Also applies to: 93-95, 172-174, 274-276

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@changelog.mdx` around lines 30 - 32, The Warning blocks in changelog.mdx
currently use ambiguous text "See the CHANGELOG" — update each <Warning> block
(the instances at the four repeated warning sections) to either link directly to
the matching "Breaking changes ..." section on this page or replace the text
with a consistent phrase like "See below for migration steps" that clearly
points readers to the migration steps; ensure each warning points to the correct
local section by using an internal anchor or explicit section title (e.g., "See
'Breaking changes in this release' below for migration steps") so readers are
not redirected ambiguously.

34-36: ⚠️ Potential issue | 🟡 Minor

Add direct GitHub Release links for March 2026 program entries.

These sections still lack click-through release URLs, which makes validation harder for readers.

Suggested additions under each heading
 ### light-system-program v2.3.0 (Mainnet)
+GitHub Release: [light-system-program-v2.3.0](https://github.com/Lightprotocol/light-protocol/releases/tag/light-system-program-v2.3.0)

 ### light-compressed-token v2.4.0 (Mainnet)
+GitHub Release: [light-compressed-token-v2.4.0](https://github.com/Lightprotocol/light-protocol/releases/tag/light-compressed-token-v2.4.0)

 ### light-registry v2.3.0 (Devnet)
+GitHub Release: [light-registry-v2.3.0](https://github.com/Lightprotocol/light-protocol/releases/tag/light-registry-v2.3.0)

 ### account-compression v2.2.0 (Devnet)
+GitHub Release: [account-compression-v2.2.0](https://github.com/Lightprotocol/light-protocol/releases/tag/account-compression-v2.2.0)

Also applies to: 58-60, 75-77, 83-85

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@changelog.mdx` around lines 34 - 36, The changelog entry for
"light-system-program v2.3.0 (Mainnet)" currently only shows the program hash;
update this heading to include a direct GitHub Release URL pointing to the March
2026 release (e.g., add a Markdown link next to the heading or after the program
hash), and repeat the same pattern for the other March 2026 program entries
mentioned in the review so each program heading includes a clickable GitHub
Release link; locate these by the heading text (e.g., "light-system-program
v2.3.0 (Mainnet)" and their program hash lines) and insert the proper release
URLs.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@changelog.mdx`:
- Around line 1-6: changelog.mdx exists but is not surfaced in site navigation;
update the docs navigation or routing so the "Changelog" navbar link and the
/changelog redirect point to the local changelog.mdx instead of the external
GitHub releases page. Edit docs.json (or the site nav config) to add an entry
for "Changelog" that references changelog.mdx (or its generated route), and
update the redirect configuration that currently maps /changelog to the external
URL to instead route to the new local path; verify the navbar label "Changelog"
and the /changelog redirect now resolve to the local changelog page.

---

Duplicate comments:
In `@changelog.mdx`:
- Around line 30-32: The Warning blocks in changelog.mdx currently use ambiguous
text "See the CHANGELOG" — update each <Warning> block (the instances at the
four repeated warning sections) to either link directly to the matching
"Breaking changes ..." section on this page or replace the text with a
consistent phrase like "See below for migration steps" that clearly points
readers to the migration steps; ensure each warning points to the correct local
section by using an internal anchor or explicit section title (e.g., "See
'Breaking changes in this release' below for migration steps") so readers are
not redirected ambiguously.
- Around line 34-36: The changelog entry for "light-system-program v2.3.0
(Mainnet)" currently only shows the program hash; update this heading to include
a direct GitHub Release URL pointing to the March 2026 release (e.g., add a
Markdown link next to the heading or after the program hash), and repeat the
same pattern for the other March 2026 program entries mentioned in the review so
each program heading includes a clickable GitHub Release link; locate these by
the heading text (e.g., "light-system-program v2.3.0 (Mainnet)" and their
program hash lines) and insert the proper release URLs.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 9e1776cb-c0db-4d40-a3ec-da730af9c161

📥 Commits

Reviewing files that changed from the base of the PR and between 818402b and 3b2fde6.

📒 Files selected for processing (1)
  • changelog.mdx

Comment on lines +1 to +6
---
title: "Changelog"
sidebarTitle: "Latest Releases"
description: "Latest Releases"
rss: true
---
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Verify local changelog page exists
fd -a 'changelog.mdx'

# Inspect docs navigation + redirect entries related to changelog
rg -n -C2 '"label":\s*"Changelog"|"href":\s*"https://github.com/Lightprotocol/light-protocol/releases"|"source":\s*"/changelog"|"destination":\s*"https://github.com/Lightprotocol/light-protocol/releases"' docs.json

Repository: Lightprotocol/docs-v2

Length of output: 462


🏁 Script executed:

# Search for all /changelog references across the repo
rg -n "changelog" -i --glob="*.json" --glob="*.js" --glob="*.ts" --glob="*.tsx" --glob="*.mdx" -A2 -B2

Repository: Lightprotocol/docs-v2

Length of output: 4025


🏁 Script executed:

# Look for navigation/sidebar configuration files
fd -a '\.(json|js|ts|tsx)$' | grep -E "(nav|sidebar|route|config)" | head -20

Repository: Lightprotocol/docs-v2

Length of output: 47


🏁 Script executed:

# Check if changelog.mdx is referenced in any config or import statements
rg -n "changelog\.mdx" -i

Repository: Lightprotocol/docs-v2

Length of output: 362


🏁 Script executed:

# Check for framework config files
fd -a -e json -e js -e ts -e yml | grep -E "(next|mint|docusaurus|astro|config|sidebar)" | head -20

Repository: Lightprotocol/docs-v2

Length of output: 47


🏁 Script executed:

# Check package.json or build setup
cat package.json | head -50

Repository: Lightprotocol/docs-v2

Length of output: 761


🏁 Script executed:

# Search for mint/next config files specifically
ls -la | grep -E "(mint|next|tsconfig|build|\.config)"

Repository: Lightprotocol/docs-v2

Length of output: 196


🏁 Script executed:

# Find mint.json or main config
fd -a "mint\.json"

Repository: Lightprotocol/docs-v2

Length of output: 47


🏁 Script executed:

# Also check for any yml/yaml config files
fd -a -e yml -e yaml

Repository: Lightprotocol/docs-v2

Length of output: 1792


🏁 Script executed:

# List root directory to see what config files exist
ls -la | head -30

Repository: Lightprotocol/docs-v2

Length of output: 1874


🏁 Script executed:

# Get line count first
wc -l docs.json

Repository: Lightprotocol/docs-v2

Length of output: 78


🏁 Script executed:

# Search for any navigation or sidebar structure that might include changelog
rg -n '"pages"|"navigation"|"sidebar"' docs.json | head -20

Repository: Lightprotocol/docs-v2

Length of output: 637


🏁 Script executed:

# Look for the structure around where pages/navigation are defined
sed -n '1,100p' docs.json

Repository: Lightprotocol/docs-v2

Length of output: 3260


🏁 Script executed:

# Search for changelog in the navigation/pages structure
rg -n '"changelog"' docs.json

Repository: Lightprotocol/docs-v2

Length of output: 47


🏁 Script executed:

# Get a broader view of the full docs.json to understand its structure better
sed -n '1,300p' docs.json | tail -100

Repository: Lightprotocol/docs-v2

Length of output: 3189


Add changelog.mdx to navigation or update routing to surface the local page.

changelog.mdx exists at the repository root but is not included in the documentation navigation (docs.json). The navbar "Changelog" link (line 274) and /changelog redirect (line 884) both point to the external GitHub releases page instead of the local file. Either integrate the page into the navigation structure or update the routing to reference it.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@changelog.mdx` around lines 1 - 6, changelog.mdx exists but is not surfaced
in site navigation; update the docs navigation or routing so the "Changelog"
navbar link and the /changelog redirect point to the local changelog.mdx instead
of the external GitHub releases page. Edit docs.json (or the site nav config) to
add an entry for "Changelog" that references changelog.mdx (or its generated
route), and update the redirect configuration that currently maps /changelog to
the external URL to instead route to the new local path; verify the navbar label
"Changelog" and the /changelog redirect now resolve to the local changelog page.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant