docs(changelog): fold pending notes into 0.28.0 + document migration - #45
Conversation
The judge subagent, default-prompt redesign, and read-only-profile network/config-injection (RCE) guards merged to main in #43, but their CHANGELOG entries stayed under `## Unreleased` while `## 0.28.0` already existed (release.py promoted it during prep). Tagging v0.28.0 as-is would publish release notes that omit them. Move those entries into the 0.28.0 section across both lockstep changelog files as narrative bullets matching the section style; document the `.pythinker/AGENTS.md` loading change as a scoped breaking change with migration guidance in breaking-changes.md; and tighten the security bullet to cover the `git -c`/`--config-env`/`--exec-path` block. Also drop the now-stale `integrations.md` entry from the old-owner guard's skip_files (its old-owner reference was removed in #44). No shipped-code paths change, so changelog-entry-required exempts this PR and the emptied `## Unreleased` is intentional.
📝 WalkthroughWalkthroughThe PR consolidates release notes for version 0.28.0 by moving ChangesRelease Notes Consolidation and Regression Test Update
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Possibly related PRs
Suggested labels
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/en/release-notes/changelog.md`:
- Around line 32-34: The changelog in docs/en/release-notes/changelog.md has
been manually edited but is auto-synced from the root CHANGELOG.md; revert your
manual changes in docs/en/release-notes/changelog.md, make the intended edits in
the root CHANGELOG.md instead, and then run the repository's changelog sync
script (the changelog sync flow) to regenerate
docs/en/release-notes/changelog.md so the release notes are updated correctly
and won't be overwritten.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: 0033e9f3-9f5d-423c-9733-1280de55e767
📒 Files selected for processing (4)
CHANGELOG.mddocs/en/release-notes/breaking-changes.mddocs/en/release-notes/changelog.mdtests/test_installation_docs.py
Why
The judge subagent, default-prompt redesign, and the read-only-profile network + git config-injection (RCE) guards merged to
mainin #43 — but their CHANGELOG entries were left under## Unreleased, while## 0.28.0 (2026-05-31)already existed (scripts/release.pypromoted it during the release-prep run).v0.28.0is not yet tagged (latest release isv0.27.0), so nothing wrong has shipped — but tagging it as-is would publish a curated changelog that omits a user-facing behavior change and a security fix that are already onmainand ship in 0.28.0.What
## 0.28.0section as narrative bullets matching the existing### What changed in this releasestyle, and add ajudgesubagent / prompt-redesign bullet. Both lockstep files updated identically. The root## Unreleasedbody is now empty (intentional).git -c/--config-env/--exec-pathconfig-injection block (arbitrary command execution viacore.pager/core.sshCommand), which the original wording missed.## 0.28.0entry no longer says "No breaking changes"; it documents the.pythinker/AGENTS.md-no-longer-loaded change with scoped migration guidance ("action only if you used it").integrations.mdentry from the old-owner guard'sskip_files(its old-owner reference was removed in docs: remove dead Zsh plugin integration #44) and the matchingzsh-pythinker-codecomment token. The guard now scansintegrations.mdand passes.Review note
The
breaking-changes.md0.28.0 entry flips from "No breaking changes" to documenting one. This is deliberate — dropping.pythinker/AGENTS.mdloading silently changes behavior for anyone who relied on it (thetest_load_agents_md.pychange in #43 confirms a real loader change), and the changelog already provides migration steps. If you consider it too minor to flag as breaking, revert just that hunk.Validation
pytest tests/test_installation_docs.py tests/test_release_py.py→ 29 passed## Unreleasedanchor;## 0.28.0 (heading intactruff check+ruff format --checkclean on the touched testsrc/**/packages/**/installer paths touched →changelog-entry-requiredis exempt by designSummary by CodeRabbit
New Features
Breaking Changes
.pythinker/AGENTS.mdis no longer loaded as project instructions; relocate affected instructions to root or directory-levelAGENTS.mdfilesSecurity
Documentation