Skip to content

docs: add per-package CHANGELOG.md for sdk-libs crates#2314

Open
klausundklaus wants to merge 1 commit intoLightprotocol:mainfrom
klausundklaus:chore/per-package-changelogs
Open

docs: add per-package CHANGELOG.md for sdk-libs crates#2314
klausundklaus wants to merge 1 commit intoLightprotocol:mainfrom
klausundklaus:chore/per-package-changelogs

Conversation

@klausundklaus
Copy link

@klausundklaus klausundklaus commented Feb 25, 2026

Summary

  • Add empty CHANGELOG.md to 13 publishable sdk-libs crates that didn't have one
  • Existing changelogs (client, photon-api, stateless.js, compressed-token) are untouched
  • Excluded: sdk-types, token-types (not user-facing)

New files

Crate Path
light-token sdk-libs/token-sdk/CHANGELOG.md
light-token-pinocchio sdk-libs/token-pinocchio/CHANGELOG.md
light-compressed-token-sdk sdk-libs/compressed-token-sdk/CHANGELOG.md
light-event sdk-libs/event/CHANGELOG.md
light-token-client sdk-libs/token-client/CHANGELOG.md
light-sdk-macros sdk-libs/macros/CHANGELOG.md
light-account sdk-libs/account/CHANGELOG.md
light-account-pinocchio sdk-libs/account-pinocchio/CHANGELOG.md
light-sdk sdk-libs/sdk/CHANGELOG.md
light-sdk-pinocchio sdk-libs/sdk-pinocchio/CHANGELOG.md
light-program-test sdk-libs/program-test/CHANGELOG.md
light-instruction-decoder sdk-libs/instruction-decoder/CHANGELOG.md
light-instruction-decoder-derive sdk-libs/instruction-decoder-derive/CHANGELOG.md

Summary by CodeRabbit

  • Documentation
    • Added changelog files across multiple SDK libraries to establish a centralized location for tracking and documenting notable changes to each package.

Add empty CHANGELOG.md files for 13 publishable sdk-libs crates that
didn't have one. Existing changelogs (client, photon-api, stateless.js,
compressed-token) are untouched.

Excluded: sdk-types, token-types (not user-facing).
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 25, 2026

📝 Walkthrough

Walkthrough

This pull request adds CHANGELOG.md files across 12 SDK library packages within the sdk-libs directory. Each file contains identical boilerplate content: a "Changelog" header and a note indicating that notable changes will be documented in the file. No functional code or API changes are introduced.

Changes

Cohort / File(s) Summary
Changelog Documentation Setup
sdk-libs/*/CHANGELOG.md (account-pinocchio, account, compressed-token-sdk, event, instruction-decoder-derive, instruction-decoder, macros, program-test, sdk-pinocchio, sdk, token-client, token-pinocchio, token-sdk)
Added boilerplate CHANGELOG.md files with standard header and placeholder text across all SDK library packages. No functional changes.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

Suggested reviewers

  • sergeytimoshin
  • SwenSchaeferjohann

Poem

📝 Twelve changelogs bloom, a garden of notes,
Each file a vessel for future devotes,
Of changes yet pending, of features to come—
A changelog symphony, beautifully strung! ✨

🚥 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: add per-package CHANGELOG.md for sdk-libs crates' accurately and concisely describes the main change—adding CHANGELOG files to 13 sdk-libs packages.
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
  • Post copyable unit tests in a comment

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.

Copy link
Contributor

@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 (4)
sdk-libs/compressed-token-sdk/CHANGELOG.md (1)

1-3: Same format suggestion as sdk-libs/token-sdk/CHANGELOG.md — the ## [Unreleased] section and format attribution are missing here too.

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

In `@sdk-libs/compressed-token-sdk/CHANGELOG.md` around lines 1 - 3, The
CHANGELOG.md is missing the standard "## [Unreleased]" section and the Keep a
Changelog format attribution used in sdk-libs/token-sdk/CHANGELOG.md; update
this file to match that format by adding a top "## [Unreleased]" section (with
placeholder entries or an empty subsection) and include the "This project
adheres to the Keep a Changelog..." attribution/footer exactly as in
token-sdk/CHANGELOG.md so both changelogs share the same structure and metadata.
sdk-libs/macros/CHANGELOG.md (1)

1-3: Same format suggestion as sdk-libs/token-sdk/CHANGELOG.md — the ## [Unreleased] section and format attribution are missing here too.

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

In `@sdk-libs/macros/CHANGELOG.md` around lines 1 - 3, Add the same changelog
structure used by sdk-libs/token-sdk/CHANGELOG.md: insert a top "##
[Unreleased]" section under the main header and include the format
attribution/footer links (compare format attribution and link reference style
from token-sdk's CHANGELOG.md) so this CHANGELOG.md matches the repository's
standard release/unreleased layout and link references.
sdk-libs/sdk-pinocchio/CHANGELOG.md (1)

1-3: Same format suggestion as sdk-libs/token-sdk/CHANGELOG.md — the ## [Unreleased] section and format attribution are missing here too.

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

In `@sdk-libs/sdk-pinocchio/CHANGELOG.md` around lines 1 - 3, Add the same
changelog structure used in sdk-libs/token-sdk/CHANGELOG.md to this file by
inserting a top "## [Unreleased]" section and the standard format
attribution/footer (e.g., "This project adheres to Keep a Changelog" with the
versioning and link) so the CHANGELOG.md matches the expected template and
attribution used across sdk-libs.
sdk-libs/event/CHANGELOG.md (1)

1-3: Same format suggestion as sdk-libs/token-sdk/CHANGELOG.md — the ## [Unreleased] section and format attribution are missing here too.

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

In `@sdk-libs/event/CHANGELOG.md` around lines 1 - 3, Add the missing "##
[Unreleased]" section and the standard format attribution to the top of this
CHANGELOG so it matches the same structure as sdk-libs/token-sdk/CHANGELOG.md;
specifically update the top-level "Changelog" content to include a "##
[Unreleased]" header immediately under the main title and append the standard
"This project follows Semantic Versioning..." / "All notable changes..." format
attribution/footer used in the other changelog so future entries and the compare
URL metadata are present.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@sdk-libs/token-sdk/CHANGELOG.md`:
- Around line 1-3: Add a top-level "## [Unreleased]" section to this
CHANGELOG.md and adopt the full Keep a Changelog scaffold used in other sdk-libs
(e.g., include sections like Added, Changed, Deprecated, Removed, Fixed,
Security under the Unreleased header and an example release template below), so
contributors have a clear place to add entries; update the existing 3-line
boilerplate to include the "## [Unreleased]" header followed by the standard
subsection headings and an example past-release entry to match the pattern used
in sdk-libs/client and sdk-libs/photon-api.

---

Duplicate comments:
In `@sdk-libs/compressed-token-sdk/CHANGELOG.md`:
- Around line 1-3: The CHANGELOG.md is missing the standard "## [Unreleased]"
section and the Keep a Changelog format attribution used in
sdk-libs/token-sdk/CHANGELOG.md; update this file to match that format by adding
a top "## [Unreleased]" section (with placeholder entries or an empty
subsection) and include the "This project adheres to the Keep a Changelog..."
attribution/footer exactly as in token-sdk/CHANGELOG.md so both changelogs share
the same structure and metadata.

In `@sdk-libs/event/CHANGELOG.md`:
- Around line 1-3: Add the missing "## [Unreleased]" section and the standard
format attribution to the top of this CHANGELOG so it matches the same structure
as sdk-libs/token-sdk/CHANGELOG.md; specifically update the top-level
"Changelog" content to include a "## [Unreleased]" header immediately under the
main title and append the standard "This project follows Semantic Versioning..."
/ "All notable changes..." format attribution/footer used in the other changelog
so future entries and the compare URL metadata are present.

In `@sdk-libs/macros/CHANGELOG.md`:
- Around line 1-3: Add the same changelog structure used by
sdk-libs/token-sdk/CHANGELOG.md: insert a top "## [Unreleased]" section under
the main header and include the format attribution/footer links (compare format
attribution and link reference style from token-sdk's CHANGELOG.md) so this
CHANGELOG.md matches the repository's standard release/unreleased layout and
link references.

In `@sdk-libs/sdk-pinocchio/CHANGELOG.md`:
- Around line 1-3: Add the same changelog structure used in
sdk-libs/token-sdk/CHANGELOG.md to this file by inserting a top "##
[Unreleased]" section and the standard format attribution/footer (e.g., "This
project adheres to Keep a Changelog" with the versioning and link) so the
CHANGELOG.md matches the expected template and attribution used across sdk-libs.

ℹ️ Review info

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 12bec0c and 0077ef2.

📒 Files selected for processing (13)
  • sdk-libs/account-pinocchio/CHANGELOG.md
  • sdk-libs/account/CHANGELOG.md
  • sdk-libs/compressed-token-sdk/CHANGELOG.md
  • sdk-libs/event/CHANGELOG.md
  • sdk-libs/instruction-decoder-derive/CHANGELOG.md
  • sdk-libs/instruction-decoder/CHANGELOG.md
  • sdk-libs/macros/CHANGELOG.md
  • sdk-libs/program-test/CHANGELOG.md
  • sdk-libs/sdk-pinocchio/CHANGELOG.md
  • sdk-libs/sdk/CHANGELOG.md
  • sdk-libs/token-client/CHANGELOG.md
  • sdk-libs/token-pinocchio/CHANGELOG.md
  • sdk-libs/token-sdk/CHANGELOG.md

Comment on lines +1 to +3
# Changelog

All notable changes to this package will be documented in this file.
Copy link
Contributor

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
# Inspect existing CHANGELOG.md files (excluding sdk-libs) to determine format conventions
fd -g "CHANGELOG.md" --exclude "sdk-libs" --exec head -20 {} \; -exec echo "---FILE_END---" \;

Repository: Lightprotocol/light-protocol

Length of output: 428


🏁 Script executed:

# Count total CHANGELOG.md files in sdk-libs to verify the "13 new files" claim
find sdk-libs -name "CHANGELOG.md" | wc -l

Repository: Lightprotocol/light-protocol

Length of output: 74


🏁 Script executed:

# List all new CHANGELOG.md files in sdk-libs to see the scope
find sdk-libs -name "CHANGELOG.md" | sort

Repository: Lightprotocol/light-protocol

Length of output: 596


🏁 Script executed:

# Check if any existing changelogs use the Keep a Changelog format with [Unreleased]
rg "\[Unreleased\]" --type markdown

Repository: Lightprotocol/light-protocol

Length of output: 247


🏁 Script executed:

# Check the format of existing sdk-libs changelogs that have [Unreleased]
echo "=== sdk-libs/photon-api/CHANGELOG.md ===" && head -15 sdk-libs/photon-api/CHANGELOG.md
echo ""
echo "=== sdk-libs/client/CHANGELOG.md ===" && head -15 sdk-libs/client/CHANGELOG.md

Repository: Lightprotocol/light-protocol

Length of output: 961


🏁 Script executed:

# Search for stateless.js and compressed-token changelogs outside sdk-libs
fd -g "CHANGELOG.md" -exclude "sdk-libs" && rg -l "stateless|compressed-token" --type markdown

Repository: Lightprotocol/light-protocol

Length of output: 1980


🏁 Script executed:

# Check the specific file being reviewed
head -20 sdk-libs/token-sdk/CHANGELOG.md

Repository: Lightprotocol/light-protocol

Length of output: 153


🏁 Script executed:

# Check the format of the external changelogs mentioned in the review
echo "=== js/compressed-token/CHANGELOG.md ===" && head -15 js/compressed-token/CHANGELOG.md
echo ""
echo "=== js/stateless.js/CHANGELOG.md ===" && head -15 js/stateless.js/CHANGELOG.md

Repository: Lightprotocol/light-protocol

Length of output: 1858


🏁 Script executed:

# Check which sdk-libs changelogs already have the full scaffold vs minimal
for file in $(find sdk-libs -name "CHANGELOG.md"); do
  lines=$(wc -l < "$file")
  echo "$file: $lines lines"
done

Repository: Lightprotocol/light-protocol

Length of output: 733


🏁 Script executed:

# Check CLAUDE.md and other convention docs for changelog guidance
find . -name "CLAUDE.md" -o -name "CONVENTIONS.md" | head -5 | xargs -I {} sh -c 'echo "=== {} ===" && head -50 {}'

Repository: Lightprotocol/light-protocol

Length of output: 13529


Adopt the full Keep a Changelog scaffold with an ## [Unreleased] section.

The current 3-line boilerplate lacks structure. The existing sdk-libs/client and sdk-libs/photon-api changelogs already follow the Keep a Changelog standard with an [Unreleased] section at the top—this pattern should extend to all other sdk-libs changelogs for consistency. The [Unreleased] section provides a clear landing zone for contributors to add entries before the next release, preventing files from remaining empty until the last minute.

The pattern used in client and photon-api:

✨ Standard scaffold (applies to all 15 new sdk-libs CHANGELOG.md files)
 # Changelog
 
 All notable changes to this package will be documented in this file.
+
+The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
+and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+
+## [Unreleased]
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
# Changelog
All notable changes to this package will be documented in this file.
# Changelog
All notable changes to this package will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@sdk-libs/token-sdk/CHANGELOG.md` around lines 1 - 3, Add a top-level "##
[Unreleased]" section to this CHANGELOG.md and adopt the full Keep a Changelog
scaffold used in other sdk-libs (e.g., include sections like Added, Changed,
Deprecated, Removed, Fixed, Security under the Unreleased header and an example
release template below), so contributors have a clear place to add entries;
update the existing 3-line boilerplate to include the "## [Unreleased]" header
followed by the standard subsection headings and an example past-release entry
to match the pattern used in sdk-libs/client and sdk-libs/photon-api.

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