Skip to content

Document 16.4.0.rc.3 changelog: collapse RCs, add missing entries#2448

Merged
justin808 merged 3 commits intomasterfrom
jg/changelog-next-release
Feb 19, 2026
Merged

Document 16.4.0.rc.3 changelog: collapse RCs, add missing entries#2448
justin808 merged 3 commits intomasterfrom
jg/changelog-next-release

Conversation

@justin808
Copy link
Copy Markdown
Member

@justin808 justin808 commented Feb 19, 2026

Summary

Adds missing changelog sections for versions 16.4.0.rc.3, covering everything since 16.3.0. Collapses the separate 16.4.0.rc.1 section into a single 16.4.0.rc.3 section for cleaner history. Also adds a missing entry for PR 2444 (RSC stream tee backpressure deadlock fix). Updates version comparison links so [16.4.0.rc.3] compares against v16.3.0.

Pull Request checklist

  • Add/update test to cover these changes (changelog only)
  • Update documentation
  • Update CHANGELOG file

Summary by CodeRabbit

  • Documentation

    • Updated changelog to publish RC 16.4.0.rc.3 (2026-02-18) with revised links and anchors.
  • New Features

    • Added Pro/RSC workflow improvements: generator flags, CLI installer enhancements, auto-registration for stores, extensible dev precompile pattern, dev DB check, CSP nonce for console replay, and related tooling.
  • Bug Fixes

    • Fixed JS string-escaping, improved precompile hook detection and HMR guard, and prevented bundler env leakage.

Move entries from Unreleased to new 16.4.0.rc.3 section and add
missing PR #2444 (RSC stream tee backpressure deadlock fix).
Update version comparison links.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Feb 19, 2026

No actionable comments were generated in the recent review. 🎉


Walkthrough

The CHANGELOG.md was updated to replace the Unreleased RC block with 16.4.0.rc.3 (2026-02-18), add new Added and Fixed entries for rc.3 (Pro/RSC flags, auto-registration, CLI/bin/dev changes, CSP, DB checks, JS escaping, precompile/HMR fixes, BUNDLE_GEMFILE handling), and adjust anchors/links and formatting.

Changes

Cohort / File(s) Summary
Changelog Documentation
CHANGELOG.md
Replaced Unreleased RC header with 16.4.0.rc.3 (2026-02-18); removed rc.1-specific lines and added 16.4.0.rc.3 Added items (Pro/RSC generator flags, auto-registration, create-react-on-rails-app CLI, extensible bin/dev precompile pattern and DB check, CSP nonce, attribution comment, Pro/dev workflow notes) and Fixed items (JS string escaping/to_json, precompile hook detection, HMR self-guard, BUNDLE_GEMFILE handling); updated anchors/links and minor formatting.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Poem

🐰 I hopped through lines of rc three,

Tidied entries, neat as can be.
Escapes secured, dev tools in tune,
Bundler wrapped beneath the moon.
A little nibble, changelog glee.

🚥 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 title clearly and specifically describes the main changes: documenting the 16.4.0.rc.3 changelog while collapsing earlier RCs and adding missing entries.
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
  • Commit unit tests in branch jg/changelog-next-release

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.

@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented Feb 19, 2026

Greptile Summary

This PR has a critical configuration error - the base and head branches appear to be reversed, causing it to merge an older version (16.2.0 from Jan 2026) over a newer version (16.4.0.rc.3 from Feb 2026).

Key Issues:

  • PR title says "Add 16.4.0.rc.3 changelog section" but HEAD contains 16.2.0
  • BASE branch already has 16.4.0.rc.3, making this a backwards merge
  • PR description mentions adding entry for PR 2444, which only exists in BASE history, not HEAD
  • Version comparison links would be incorrect if merged

Root Cause:
The PR appears to have been created with swapped base/head branches, or from an outdated branch that was never synced with recent releases.

Confidence Score: 0/5

  • DO NOT MERGE - This PR would revert to an older version and destroy recent work
  • Score of 0 reflects critical issue where PR base and head branches are reversed, causing merge to go backwards from version 16.4.0.rc.3 (Feb 2026) to 16.2.0 (Jan 2026). Merging would erase recent PRs 2440, 2444, 2447 and other work done after 16.2.0 release.
  • CHANGELOG.md requires immediate attention - entire PR setup needs correction

Important Files Changed

Filename Overview
CHANGELOG.md Critical issue: PR merges old 16.2.0 release over newer 16.4.0.rc.3, reversing version history

Last reviewed commit: bf64c86

Copy link
Copy Markdown

@greptile-apps greptile-apps Bot left a comment

Choose a reason for hiding this comment

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

1 file reviewed, 2 comments

Edit Code Review Agent Settings | Greptile

Comment thread CHANGELOG.md
Comment on lines 1887 to 1889

- Fix several generator-related issues.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Version links show this PR is merging 16.2.0 into a branch that already has 16.4.0.rc.3, going backwards in version history.

PR title says "Add 16.4.0.rc.3" but HEAD actually contains 16.2.0 (an older release from 2026-01-14), while BASE contains 16.4.0.rc.3 (from 2026-02-18).

Check that base/head branches are correct - this appears to be merging the wrong direction.

Comment thread CHANGELOG.md Outdated
Comment on lines 25 to 31

### [16.2.0.rc.1] - 2026-01-11
### [16.2.0] - 2026-01-14

#### Fixed

- **Component Registration**: Fixed "component not registered" error on core `react-on-rails` package that could occur when components were referenced before registration completed. [PR 2295](https://github.com/shakacode/react_on_rails/pull/2295) by [AbanoubGhadban](https://github.com/AbanoubGhadban).
- **JSON Parse Race Condition in Immediate Hydration (Pro)**: Fixed a race condition where `immediate_hydration` could attempt to parse incomplete JSON props during HTML streaming on slow networks. When the JS bundle executes before the props `<script>` tag content is fully received, `el.textContent` returns truncated JSON, causing `SyntaxError: Unterminated string in JSON`. The fix uses a `nextSibling` check to verify the props script's closing tag has been parsed before attempting hydration; incomplete elements are deferred to the fallback `reactOnRailsComponentLoaded()` path. [PR 2290](https://github.com/shakacode/react_on_rails/pull/2290) by [AbanoubGhadban](https://github.com/AbanoubGhadban).
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

PR description mentions adding changelog entry for PR 2444 (RSC stream tee backpressure fix), but that PR doesn't exist in the commit history leading to this HEAD.

HEAD (bf64c86) history includes PRs 2295, 2302, 2304 while PR 2444 is in the BASE branch history. This confirms the branches are reversed.

Merge all RC changelog entries into a single 16.4.0.rc.3 section
covering everything since 16.3.0. Remove the separate rc.1 section
and update version comparison links.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
@justin808 justin808 force-pushed the jg/changelog-next-release branch from bf64c86 to be4453e Compare February 19, 2026 07:18
Copy link
Copy Markdown
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: 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.md`:
- Around line 26-30: The changelog currently finalizes "### [16.2.0] -
2026-01-14" but the PR title/description claim adding "### [16.4.0.rc.3] -
2026-02-18" and a missing PR `#2444` entry; decide which was intended and make the
changelog consistent: if the intent was to finalize 16.2.0, add the PR `#2444`
entry (RSC stream tee backpressure deadlock fix for large payloads) under the
appropriate section (either the finalized 16.2.0 or the Unreleased section if it
belongs to a later release); if the intent was to add the 16.4.0.rc.3 release,
create the "### [16.4.0.rc.3] - 2026-02-18" heading and move the Unreleased
entries (including PR `#2444`) into that new section and update the PR description
to match the change. Ensure references to "### [16.2.0] - 2026-01-14", "###
[16.4.0.rc.3] - 2026-02-18", and "PR `#2444`" are corrected so the title,
description, and file contents align.
- Around line 1890-1891: The `[16.2.0]` reference link includes an inconsistent
`v` prefix ("16.1.1...v16.2.0"); update the URL in the `[16.2.0]` link so it
matches the other 16.x release links by removing the `v` prefix (change the
right-side tag from `v16.2.0` to `16.2.0`) to yield a consistent compare URL
like the pattern used by `[unreleased]` and other 16.x entries.

Comment thread CHANGELOG.md Outdated
Comment thread CHANGELOG.md Outdated
Comment on lines 1890 to 1891
[unreleased]: https://github.com/shakacode/react_on_rails/compare/v16.2.0...master
[16.2.0]: https://github.com/shakacode/react_on_rails/compare/16.1.1...v16.2.0
Copy link
Copy Markdown
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
# Check what git tags exist for 16.2.0
git tag --list | grep -E '^v?16\.2\.0$'

Repository: shakacode/react_on_rails

Length of output: 50


🏁 Script executed:

#!/bin/bash
# Get a broader view of git tags for version 16.x and 14.x to understand the pattern
git tag --list | grep -E '^v?1[46]\.' | sort -V

Repository: shakacode/react_on_rails

Length of output: 50


🏁 Script executed:

#!/bin/bash
# Check the CHANGELOG.md context around lines 1890-1891 to see the full picture
sed -n '1885,1900p' CHANGELOG.md

Repository: shakacode/react_on_rails

Length of output: 683


🏁 Script executed:

#!/bin/bash
# Check total lines in CHANGELOG.md and find where lines 1890-1891 are
wc -l CHANGELOG.md

Repository: shakacode/react_on_rails

Length of output: 85


🏁 Script executed:

#!/bin/bash
# Show lines 1880-1895 from CHANGELOG.md to see the context
tail -n +1880 CHANGELOG.md | head -n 20

Repository: shakacode/react_on_rails

Length of output: 753


🏁 Script executed:

#!/bin/bash
# Check all git tags in the repository to understand the naming pattern
git tag --list | tail -20

Repository: shakacode/react_on_rails

Length of output: 50


🏁 Script executed:

#!/bin/bash
# Check if there are any tags for version 16 at all
git tag --list | grep '16\.' | head -20

Repository: shakacode/react_on_rails

Length of output: 50


🏁 Script executed:

#!/bin/bash
# Search for the unreleased link mentioned in the review
grep -n "unreleased.*v16.2.0" CHANGELOG.md

Repository: shakacode/react_on_rails

Length of output: 50


🏁 Script executed:

#!/bin/bash
# Search for any v16.2.0 references in CHANGELOG.md
grep -n "16.2.0" CHANGELOG.md

Repository: shakacode/react_on_rails

Length of output: 746


🏁 Script executed:

#!/bin/bash
# Get the end of the CHANGELOG.md file to see reference-style links
tail -50 CHANGELOG.md

Repository: shakacode/react_on_rails

Length of output: 3830


🏁 Script executed:

#!/bin/bash
# Search for the unreleased section
grep -n "unreleased" CHANGELOG.md

Repository: shakacode/react_on_rails

Length of output: 160


🏁 Script executed:

#!/bin/bash
# Check lines 2000-2010 to see the context around lines 2003-2004
sed -n '2000,2010p' CHANGELOG.md

Repository: shakacode/react_on_rails

Length of output: 952


🏁 Script executed:

#!/bin/bash
# Look for all 16.x version reference links to see the full pattern
grep -n "16\." CHANGELOG.md | grep "^\[16"

Repository: shakacode/react_on_rails

Length of output: 50


🏁 Script executed:

#!/bin/bash
# Check what git tags actually exist for the 16.x versions
git tag --list | grep '^v\?16\.[0-4]' | sort -V

Repository: shakacode/react_on_rails

Length of output: 50


🏁 Script executed:

#!/bin/bash
# Verify if the tag 16.2.0 exists (without v) and v16.2.0 exists (with v)
git tag --list | grep -E '^(v)?16\.2\.0$'

Repository: shakacode/react_on_rails

Length of output: 50


🏁 Script executed:

#!/bin/bash
# Check what git tags exist at all - just get all tags
git tag --list | head -30

Repository: shakacode/react_on_rails

Length of output: 50


🏁 Script executed:

#!/bin/bash
# Check if there are any tags and what the latest ones are
git tag --list --sort=-version:refname | head -20

Repository: shakacode/react_on_rails

Length of output: 50


🏁 Script executed:

#!/bin/bash
# Look at the git log to see if 16.2.0 was ever released
git log --oneline --all | grep -i "16.2.0" | head -10

Repository: shakacode/react_on_rails

Length of output: 552


🏁 Script executed:

#!/bin/bash
# Try to check the actual git tag - let's see what objects exist
git rev-parse v16.2.0 2>&1 || echo "v16.2.0 not found"
git rev-parse 16.2.0 2>&1 || echo "16.2.0 not found"

Repository: shakacode/react_on_rails

Length of output: 492


🏁 Script executed:

#!/bin/bash
# Let's check the git refs to see what actually exists
git show-ref | grep "16.2.0"

Repository: shakacode/react_on_rails

Length of output: 50


🏁 Script executed:

#!/bin/bash
# Let's understand the full scope - check if line numbers in review match current file state
# The review says lines 1890-1891, but we found the content around lines 2000+
# Let's see what's actually at lines 1890-1891
sed -n '1888,1893p' CHANGELOG.md

Repository: shakacode/react_on_rails

Length of output: 155


🏁 Script executed:

#!/bin/bash
# And let's verify the current pattern inconsistency more broadly
# Check the 16.x and nearby release links to understand the full inconsistency
sed -n '2003,2008p' CHANGELOG.md

Repository: shakacode/react_on_rails

Length of output: 538


Fix inconsistent v prefix in the [16.2.0] reference link.

Line 2004 has a mixed format (16.1.1...v16.2.0) while all other recent 16.x releases use consistent formatting: 16.1.1, 16.1.0, and 16.0.0 all omit the v prefix. The [16.2.0] link should align with this established pattern:

🔧 Proposed fix
-[16.2.0]: https://github.com/shakacode/react_on_rails/compare/16.1.1...v16.2.0
+[16.2.0]: https://github.com/shakacode/react_on_rails/compare/16.1.1...16.2.0
📝 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
[unreleased]: https://github.com/shakacode/react_on_rails/compare/v16.2.0...master
[16.2.0]: https://github.com/shakacode/react_on_rails/compare/16.1.1...v16.2.0
[unreleased]: https://github.com/shakacode/react_on_rails/compare/v16.2.0...master
[16.2.0]: https://github.com/shakacode/react_on_rails/compare/16.1.1...16.2.0
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@CHANGELOG.md` around lines 1890 - 1891, The `[16.2.0]` reference link
includes an inconsistent `v` prefix ("16.1.1...v16.2.0"); update the URL in the
`[16.2.0]` link so it matches the other 16.x release links by removing the `v`
prefix (change the right-side tag from `v16.2.0` to `16.2.0`) to yield a
consistent compare URL like the pattern used by `[unreleased]` and other 16.x
entries.

@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Feb 19, 2026

Changelog PR Review

Overall this is a clean changelog consolidation for the 16.4.0.rc.3 release, but there are a few issues worth addressing:

1. Section order violates project guidelines

Per .claude/docs/changelog-guidelines.md and update-changelog.md, the preferred section order is:

  1. Breaking Changes
  2. Added
  3. Changed
  4. Improved
  5. Fixed

In the [16.4.0.rc.3] section, #### Improved appears after #### Fixed, which is out of order. It should come before Fixed.

2. Unexplained jump from rc.1 to rc.3

The PR removes [16.4.0.rc.1] and skips directly to [16.4.0.rc.3] with no mention of rc.2. Two questions:

  • Was 16.4.0.rc.2 published to RubyGems? If yes, its entries should be documented (or explicitly noted as included in the rc.3 section).
  • If there was no rc.2, it would help to note that in the PR description to avoid confusion.

3. Historical comparison link for rc.1 is dropped

The old [16.4.0.rc.1] link at the bottom of CHANGELOG.md is removed entirely. If v16.4.0.rc.1 was ever pushed as a gem release, users upgrading from that specific version have no comparison link to track what changed between rc.1 and rc.3. Per keepachangelog.com conventions, released versions should retain their comparison links even when changelog sections are consolidated.

If collapsing all RC entries into a single [16.4.0.rc.3] section (Option 2 from the guidelines), consider at minimum adding the old rc.1 link pointing to the same base:

[16.4.0.rc.1]: https://github.com/shakacode/react_on_rails/compare/v16.3.0...v16.4.0.rc.1

4. Greptile bot's concern is unfounded

The Greptile bot flagged this as a "backwards merge" — that assessment is incorrect. The diff correctly moves entries from the Unreleased section into the new [16.4.0.rc.3] section and adds the PR 2444 entry. The CHANGELOG.md after this PR is in the correct state.

Minor: v prefix in comparison links

The guidelines say to use versions without the v prefix in comparison links (e.g., 16.4.0.rc.3 not v16.4.0.rc.3), but this is a pre-existing inconsistency in the file and not introduced by this PR.

@justin808 justin808 changed the title Add 16.4.0.rc.3 changelog section Document 16.4.0.rc.3 changelog: collapse RCs, add missing entries Feb 19, 2026
Comment thread CHANGELOG.md Outdated
- **Precompile Hook Self-Guard for HMR**: Added self-guard to the generator template's `bin/shakapacker-precompile-hook` to prevent duplicate execution in HMR mode where two webpack processes (client dev-server + server watcher) each trigger the hook. The script now exits early when `SHAKAPACKER_SKIP_PRECOMPILE_HOOK=true` is set by `bin/dev`, regardless of Shakapacker version. The version warning is now smarter: it only warns for hooks that lack the self-guard or use direct commands. **Existing users**: add `exit 0 if ENV["SHAKAPACKER_SKIP_PRECOMPILE_HOOK"] == "true"` near the top of your `bin/shakapacker-precompile-hook` script. [PR 2388](https://github.com/shakacode/react_on_rails/pull/2388) by [justin808](https://github.com/justin808).
- **Fix generator inheriting BUNDLE_GEMFILE from parent process**: The `react_on_rails:install` generator now wraps bundler commands with `Bundler.with_unbundled_env` to prevent inheriting `BUNDLE_GEMFILE` from the parent process, which caused "injected gems" conflicts when running generators inside a bundled context. [PR 2288](https://github.com/shakacode/react_on_rails/pull/2288) by [ihabadham](https://github.com/ihabadham).

#### Improved
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The #### Improved section appears after #### Fixed here, but the project guidelines define the preferred section order as: Added → Changed → ImprovedFixed. These two sections should be swapped to match the defined order.

Comment thread CHANGELOG.md
[unreleased]: https://github.com/shakacode/react_on_rails/compare/v16.4.0.rc.1...master
[16.4.0.rc.1]: https://github.com/shakacode/react_on_rails/compare/v16.3.0...v16.4.0.rc.1
[unreleased]: https://github.com/shakacode/react_on_rails/compare/v16.4.0.rc.3...master
[16.4.0.rc.3]: https://github.com/shakacode/react_on_rails/compare/v16.3.0...v16.4.0.rc.3
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The [16.4.0.rc.1] comparison link from the previous changelog state has been removed. If v16.4.0.rc.1 was published to RubyGems, users of that version lose the ability to track what changed. Consider preserving it:

Suggested change
[16.4.0.rc.3]: https://github.com/shakacode/react_on_rails/compare/v16.3.0...v16.4.0.rc.3
[unreleased]: https://github.com/shakacode/react_on_rails/compare/v16.4.0.rc.3...master
[16.4.0.rc.3]: https://github.com/shakacode/react_on_rails/compare/v16.3.0...v16.4.0.rc.3
[16.4.0.rc.1]: https://github.com/shakacode/react_on_rails/compare/v16.3.0...v16.4.0.rc.1

If rc.1 was never actually published as a gem, this can be ignored.

Copy link
Copy Markdown
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.

🧹 Nitpick comments (1)
CHANGELOG.md (1)

47-53: Optional: move #### Fixed after #### Improved for consistency.

The existing convention in this file (e.g., ### [16.2.0]) places #### Improved before #### Fixed. The new #### Fixed section lands before the pre-existing #### Improved block, inverting that order.

♻️ Suggested reordering
-#### Fixed
-
-- **Fixed string values interpolated into generated JS code without proper escaping**. ...
-- **Precompile Hook Detection**: ...
-- **Precompile Hook Self-Guard for HMR**: ...
-- **Fix generator inheriting BUNDLE_GEMFILE from parent process**: ...
-
 #### Improved
 
 - **Smarter duplicate registration warnings**: ...
+
+#### Fixed
+
+- **Fixed string values interpolated into generated JS code without proper escaping**. ...
+- **Precompile Hook Detection**: ...
+- **Precompile Hook Self-Guard for HMR**: ...
+- **Fix generator inheriting BUNDLE_GEMFILE from parent process**: ...
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@CHANGELOG.md` around lines 47 - 53, Move the newly added "#### Fixed" block
so it appears after the existing "#### Improved" block to match the file's
established ordering; locate the "#### Fixed" header inserted around the new
bullet list and cut/paste it so it follows the existing "#### Improved" header
and its content (preserving the PR links and author attributions).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@CHANGELOG.md`:
- Around line 47-53: Move the newly added "#### Fixed" block so it appears after
the existing "#### Improved" block to match the file's established ordering;
locate the "#### Fixed" header inserted around the new bullet list and cut/paste
it so it follows the existing "#### Improved" header and its content (preserving
the PR links and author attributions).

Address PR review: reorder sections in 16.4.0.rc.3 to match
project guidelines (Added → Changed → Improved → Fixed).

Co-Authored-By: Claude Opus 4.6 <[email protected]>
@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Feb 19, 2026

PR Review: Document 16.4.0.rc.3 Changelog

The changelog consolidation is clean overall — the restructuring from rc.1 to rc.3 is logical and the entries are well-written. A few things worth addressing:

Issues

1. Missing comparison link for 16.4.0.rc.1

The PR removes the [16.4.0.rc.1] reference link at the bottom of the file. If v16.4.0.rc.1 was already published to RubyGems, users who pinned to that gem version have no comparison link to understand what changed between rc.1 and rc.3. Per keepachangelog.com conventions, released versions should retain their comparison links even when changelog sections are consolidated.

If the tag exists in git, consider preserving:

[16.4.0.rc.1]: https://github.com/shakacode/react_on_rails/compare/v16.3.0...v16.4.0.rc.1

(This is separate from the changelog section — you can collapse the section text while keeping the link.)

2. rc.2 gap is unexplained

The PR jumps from rc.1 to rc.3 with no mention of rc.2. Was 16.4.0.rc.2 published? If yes, its entries should be documented (or noted as included in rc.3). If no rc.2 was published, a note in the PR description would prevent confusion for maintainers reviewing git history later.

3. Compare link format inconsistency with guidelines

The .claude/commands/update-changelog.md guidelines explicitly state: "Git tags use v prefix but the changelog and compare links use versions WITHOUT the v prefix." The new links use v:

[unreleased]: https://github.com/shakacode/react_on_rails/compare/v16.4.0.rc.3...master
[16.4.0.rc.3]: https://github.com/shakacode/react_on_rails/compare/v16.3.0...v16.4.0.rc.3

That said, all existing links in the file also use the v prefix (e.g., [16.3.0]: .../compare/v16.2.1...v16.3.0), so the new links are consistent with practice even if not with the guidelines doc. Low priority — but worth reconciling the guideline doc at some point.

Not Issues

  • Section ordering: The current file has Added → Improved → Fixed, which is correct per the guidelines. CodeRabbit's suggestion to reorder was based on an earlier diff state and does not apply to the current file.
  • Greptile's backward-merge warning: Incorrect. The diff clearly shows the correct forward direction — moving entries from Unreleased into the new rc.3 section and adding the PR 2444 entry. The base/head branches are not reversed.
  • PR 2444 entry placement: Correctly placed under ##### Fixed in the #### Pro subsection, since the RSC stream tee fix is Pro-specific.

Comment thread CHANGELOG.md
[unreleased]: https://github.com/shakacode/react_on_rails/compare/v16.4.0.rc.1...master
[16.4.0.rc.1]: https://github.com/shakacode/react_on_rails/compare/v16.3.0...v16.4.0.rc.1
[unreleased]: https://github.com/shakacode/react_on_rails/compare/v16.4.0.rc.3...master
[16.4.0.rc.3]: https://github.com/shakacode/react_on_rails/compare/v16.3.0...v16.4.0.rc.3
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The [16.4.0.rc.1] reference link was removed here. If v16.4.0.rc.1 was ever pushed as a git tag and published to RubyGems, its comparison link should be preserved even when collapsing the changelog section — this allows users on that gem version to see what changed.

Suggested change
[16.4.0.rc.3]: https://github.com/shakacode/react_on_rails/compare/v16.3.0...v16.4.0.rc.3
[unreleased]: https://github.com/shakacode/react_on_rails/compare/v16.4.0.rc.3...master
[16.4.0.rc.3]: https://github.com/shakacode/react_on_rails/compare/v16.3.0...v16.4.0.rc.3
[16.4.0.rc.1]: https://github.com/shakacode/react_on_rails/compare/v16.3.0...v16.4.0.rc.1

Skip this if v16.4.0.rc.1 was never actually tagged/published.

@justin808 justin808 merged commit 700630c into master Feb 19, 2026
8 of 9 checks passed
@justin808 justin808 deleted the jg/changelog-next-release branch February 19, 2026 08:03
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