Skip to content

fix(release): cap breaking-change bumps to minor while pre-1.0#447

Merged
rhuanbarreto merged 1 commit into
mainfrom
fix/pre-major-release-bump
Jul 2, 2026
Merged

fix(release): cap breaking-change bumps to minor while pre-1.0#447
rhuanbarreto merged 1 commit into
mainfrom
fix/pre-major-release-bump

Conversation

@rhuanbarreto

Copy link
Copy Markdown
Contributor

Problem

The session-context breaking changes (#446) made simple-release propose v1.0.0 (release PR #440). We are not ready to publish 1.0.0 — the project still ships no support guarantees. Pre-1.0, breaking changes should produce a minor bump (0.46.0).

Fix

Override getNextVersion in .simple-release.js: when the current version is 0.x and the conventional-commit computation yields a major bump, return the next minor instead. bump() derives its version from getNextVersion, so the manifest writes, changelog, release-PR title, and tag all stay consistent from the single cap.

Explicit version/as bump options bypass the cap, so v1.0.0 remains available as a deliberate, forced decision.

Verification

Dry-run against the live git history (which contains the feat! commits):

computed next version
stock NpmProject 1.0.0
capped ArchgateProject 0.46.0

Lint, typecheck, format, and archgate check (39/39) green.

After merge

The push to main re-triggers the release pull-request workflow, which updates release PR #440 in place from 1.0.0 to 0.46.0 (title, changelog, version files, shim versions). Do not merge #440 before this lands.

https://claude.ai/code/session_01SGjSjrywTnZDcUqgHWGrTj

The session-context BREAKING CHANGE commits made simple-release
propose v1.0.0 (release PR #440), but the project ships no support
guarantees yet — 1.0.0 must be an explicit decision, not an automatic
consequence of a feat! commit.

Override getNextVersion in .simple-release.js: when the current
version is 0.x and the conventional bump computes a major, return the
next minor instead (0.45.7 -> 0.46.0). bump() derives its version from
getNextVersion, so manifest writes, changelog, PR title, and tag stay
consistent. Explicit `version`/`as` bump options bypass the cap so the
real 1.0.0 can be forced deliberately when the time comes.

Verified against the live git history: stock NpmProject computes
1.0.0, the capped project computes 0.46.0.

Claude-Session: https://claude.ai/code/session_01SGjSjrywTnZDcUqgHWGrTj
Signed-off-by: Rhuan Barreto <rhuan@barreto.work>
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jul 2, 2026

Copy link
Copy Markdown

Deploying archgate-cli with  Cloudflare Pages  Cloudflare Pages

Latest commit: fe39b49
Status: ✅  Deploy successful!
Preview URL: https://cd69a9bb.archgate-cli.pages.dev
Branch Preview URL: https://fix-pre-major-release-bump.archgate-cli.pages.dev

View logs

@coderabbitai

coderabbitai Bot commented Jul 2, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@rhuanbarreto, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 22 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 13298ea6-05f4-4488-95a5-fe54575a58ad

📥 Commits

Reviewing files that changed from the base of the PR and between dd96230 and fe39b49.

📒 Files selected for processing (2)
  • .claude/agent-memory/archgate-developer/MEMORY.md
  • .simple-release.js

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.

@github-actions

github-actions Bot commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Code Coverage

Metric Value
Lines 90.0% (7173 / 7971)
Threshold 90% minimum — met
Platforms Linux + Windows

Full HTML report available in workflow artifacts.

Per-directory breakdown
Directory Coverage Lines
src/commands/ 88.5% 1984 / 2243
src/engine/ 90.9% 1463 / 1610
src/formats/ 100.0% 142 / 142
src/helpers/ 90.1% 3584 / 3976

@rhuanbarreto rhuanbarreto merged commit 3df6c91 into main Jul 2, 2026
20 checks passed
@rhuanbarreto rhuanbarreto deleted the fix/pre-major-release-bump branch July 2, 2026 16:22
@archgatebot archgatebot Bot mentioned this pull request Jul 2, 2026
rhuanbarreto pushed a commit that referenced this pull request Jul 3, 2026
# archgate

## [0.46.0](v0.45.7...v0.46.0)
(2026-07-02)

### ⚠ BREAKING CHANGES

* **session-context:** per-editor list/show subcommands; remove --skip
and its false premise (#446)

### Features

* **session-context:** per-editor list/show subcommands; remove --skip
and its false premise
([#446](#446))
([dd96230](dd96230))

### Bug Fixes

* **ci:** read POSTHOG_PROJECT_ID from secrets, not vars, in release
annotation ([#443](#443))
([a53b305](a53b305))
* detect opencode Desktop app installs, not just the CLI
([#439](#439))
([ed92b2b](ed92b2b))
* **hooks:** force bash shell for WorktreeCreate hook on Windows
([#442](#442))
([9da86cf](9da86cf))
* **release:** cap breaking-change bumps to minor while pre-1.0
([#447](#447))
([3df6c91](3df6c91)),
closes [#446](#446)
[#440](#440)
[#440](#440)
[#440](#440)
* repair broken WorktreeCreate hook and add PR approval policy
([#441](#441))
([de5e97d](de5e97d))
* **session-context:** select top-level opencode sessions, add --root
flag ([#445](#445))
([29b13f4](29b13f4))

---
This PR was generated with
[simple-release](https://github.com/TrigenSoftware/simple-release).

<details>
<summary>📄 Cheatsheet</summary>
<br>



You can configure the bot's behavior through a pull request comment
using the `!simple-release/set-options` command.

### Command Format

````md
!simple-release/set-options

```json
{
  "bump": {},
  "publish": {}
}
```
````

### Useful Parameters

#### Bump

| Parameter | Type | Description |
|-----------|------|-------------|
| `version` | `string` | Force set specific version |
| `as` | `'major' \| 'minor' \| 'patch' \| 'prerelease'` | Release type
|
| `prerelease` | `string` | Pre-release identifier (e.g., "alpha",
"beta") |
| `firstRelease` | `boolean` | Whether this is the first release |
| `skip` | `boolean` | Skip version bump |
| `byProject` | `Record<string, object>` | Per-project bump options for
monorepos |

#### Publish

| Parameter | Type | Description |
|-----------|------|-------------|
| `skip` | `boolean` | Skip publishing |
| `access` | `'public' \| 'restricted'` | Package access level |
| `tag` | `string` | Tag for npm publication |

### Usage Examples

#### Force specific version

````md
!simple-release/set-options

```json
{
  "bump": {
    "version": "2.0.0"
  }
}
```
````

#### Force major bump

````md
!simple-release/set-options

```json
{
  "bump": {
    "as": "major"
  }
}
```
````

#### Create alpha pre-release

````md
!simple-release/set-options

```json
{
  "bump": {
    "prerelease": "alpha"
  }
}
```
````

#### Publish with specific access and tag

````md
!simple-release/set-options

```json
{
  "bump": {
    "prerelease": "beta"
  },
  "publish": {
    "access": "public",
    "tag": "beta"
  }
}
```
````

### Access Restrictions

The command can only be used by users with permissions:
- repository owner
- organization member
- collaborator

### Notes

- The last comment with `!simple-release/set-options` command takes
priority
- JSON must be valid, otherwise the command will be ignored
- Parameters apply only to the current release execution
- The command can be updated by editing the comment or adding a new one


</details>

<!--
  Please do not edit this comment.
  simple-release-pull-request: true
  simple-release-branch-from: release
  simple-release-branch-to: main
-->

Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
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