Update CHANGELOG for version 8.0.1 and add release command documentation

- Added new section for version 8.0.1 in CHANGELOG.md detailing enhancements to root install scripts, syncback management of .gitkeep files, and improvements to patch visualization and sync test reliability.
- Introduced a new release command documentation file to guide version bumping, changelog updates, and release tagging processes.
This commit is contained in:
Joe 2026-02-08 16:38:54 -06:00
parent ae25a27633
commit 82e480719e
3 changed files with 156 additions and 1 deletions

143
.cursor/commands/release.md Normal file
View file

@ -0,0 +1,143 @@
# /release - Version Bump and Tag Release
Bump the project version, update the changelog, commit, push, and tag a new release.
The user must provide the new version string (e.g. `8.0.1`). If not provided, ask for it before proceeding.
---
## Step 1: Pre-Flight — Submodule Check
Run these two commands and inspect the output:
```powershell
git submodule status
```
```powershell
git submodule foreach "git status --short"
```
**Verify ALL submodules are clean:**
- No submodule prefixed with `+` (dirty) or `-` (uninitialized) in `git submodule status`
- No uncommitted changes in any submodule from `git submodule foreach`
**If any submodule is dirty or uninitialized, STOP immediately.** Report which submodules have issues and do not proceed until the user resolves them.
**Ignore** `rbx-dom/aftman.toml` — it references the Atlas version but is not part of the release process.
---
## Step 2: Version Bump
Replace the old version with the new version in each of these files:
| File | What to change |
|---|---|
| `Cargo.toml` | `version = "X.Y.Z"` (line 3) |
| `plugin/Version.txt` | Entire file content — must match `Cargo.toml` exactly (enforced by `build.rs`) |
| `rokit.toml` | `atlas = "UserGeneratedLLC/rojo@X.Y.Z"` |
**Do NOT manually edit `Cargo.lock`.** It is auto-updated in the next step.
After editing the three files above, run:
```powershell
cargo check
```
This does two things:
1. Auto-updates `Cargo.lock` with the new version
2. Validates that `plugin/Version.txt` matches `Cargo.toml` (build.rs assertion — build will fail if mismatched)
**If `cargo check` fails, fix the issue before continuing.**
---
## Step 3: Update CHANGELOG.md
### 3a. Gather commit history
Run this to get all commits since the previous version tag (replace `vOLD` with the previous tag):
```powershell
git log --oneline vOLD..HEAD
```
### 3b. Write the release section
Insert a new version section between `## Unreleased` and the previous version's header. Format:
```markdown
## Unreleased
## [X.Y.Z] (Month Dth, Year)
* Summary of change 1
* Summary of change 2
* ...
[X.Y.Z]: https://github.com/UserGeneratedLLC/rojo/releases/tag/vX.Y.Z
```
**Guidelines for writing entries:**
- Group related commits into single bullet points (don't list every commit separately)
- Write user-facing descriptions, not raw commit messages
- Use present tense ("Add", "Fix", "Improve", not "Added", "Fixed", "Improved")
- Omit internal-only changes (CI tweaks, test refactors, snapshot updates) unless they affect behavior
- Keep link definitions in ascending numeric order (per repo convention)
### 3c. Include a git summary
After the bullet points, add a collapsible section with the raw commit log so readers can see full detail:
```markdown
<details>
<summary>Full commit log</summary>
- `abc1234` Commit message one
- `def5678` Commit message two
- ...
</details>
```
---
## Step 4: Commit, Push, Tag, Push Tag
Run these sequentially:
```powershell
git add Cargo.toml Cargo.lock plugin/Version.txt rokit.toml CHANGELOG.md
```
```powershell
git commit -m "Bump version to X.Y.Z"
```
```powershell
git push
```
```powershell
git tag vX.Y.Z
```
```powershell
git push origin vX.Y.Z
```
The tag push triggers `.github/workflows/release.yml` which creates a draft GitHub release and builds artifacts for all platforms.
---
## All Versioned Files (Reference)
| File | Role | Updated by |
|---|---|---|
| `Cargo.toml` | Crate version (source of truth) | Manual edit |
| `Cargo.lock` | Lockfile version | `cargo check` (automatic) |
| `plugin/Version.txt` | Plugin version, validated at build time | Manual edit |
| `rokit.toml` | Toolchain manager reference | Manual edit |
| `CHANGELOG.md` | Release notes | Manual edit |

View file

@ -31,6 +31,18 @@ Making a new release? Simply add the new header with the version and date undern
## Unreleased ## Unreleased
## [8.0.1] (February 8th, 2026)
* Root install scripts now also build and install the VS Code/Cursor extension.
* Syncback now manages `.gitkeep` files to preserve empty directories during filesystem writes.
* Added Git-style change metadata and diff utilities to the plugin for richer patch visualization.
* Refactored subtree highlight handling in PatchVisualizer and DomLabel components.
* Improved two-way sync test reliability with polling helpers and macOS compatibility checks.
* Fixed internal reference in ServeSession to reflect Atlas sync operation.
* Standardized messageCursor redaction in snapshot test files.
[8.0.1]: https://github.com/UserGeneratedLLC/rojo/releases/tag/v8.0.1
## [8.0.0] (February 7th, 2026) ## [8.0.0] (February 7th, 2026)
* Improved syncback performance by parallelizing filesystem writes using rayon. File writes and removals now run concurrently, while directory operations remain sequential to preserve ordering constraints. * Improved syncback performance by parallelizing filesystem writes using rayon. File writes and removals now run concurrently, while directory operations remain sequential to preserve ordering constraints.

@ -1 +1 @@
Subproject commit 36722ce2bbf7aefca56489d4f58913060eccd568 Subproject commit 188dc9da72de70452909b0c5f67d9a42c9dbad05