Skip to content

docs(releasing): document the pre-1.0 version mapping - #808

Draft
ajalon1 wants to merge 1 commit into
mainfrom
aj/releasing-md-fix
Draft

docs(releasing): document the pre-1.0 version mapping#808
ajalon1 wants to merge 1 commit into
mainfrom
aj/releasing-md-fix

Conversation

@ajalon1

@ajalon1 ajalon1 commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

RATIONALE

While reviewing the v0.2.86..main diff to pick the next stable version, the
versioning guidance in releasing.md turned out to give no usable answer.

The doc says a breaking command-line change takes a MAJOR bump, and offers no
carve-out for 0.x. Read literally, the next release containing a breaking change
is v1.0.0 — which nobody intends while the interface is still moving. So the
person cutting the release has to either ignore the doc or freeze the CLI by
accident. Neither is good, and the answer shouldn't depend on who happens to be
doing the release that week.

This also matters right now: the current main contains a behavior change that
narrows template detection (repo.IsTemplateDir replacing the old bare
.datarobot check), which is exactly the kind of call this section should be able
to settle.

CHANGES

  • Add a Pre-1.0 versions subsection with the mapping that actually applies
    today: breaking → minor, features and fixes → patch. That is not a new policy,
    it is what v0.2.84 and v0.2.85 already shipped (both carried feat commits
    as patch releases).
  • State plainly that a breaking change bumps the minor version and does not
    force v1.0.0, and that v1.0.0 should be a deliberate decision to freeze the
    CLI rather than a side effect of one breaking change.
  • Add an Identifying a breaking change checklist. Since features and fixes
    share the patch slot pre-1.0, spotting the breaking change is the entire job of
    step 3. The checklist includes the case that is easiest to miss: a bug fix that
    tightens a previously permissive check still breaks whoever depended on the
    permissive behavior.
  • Point step 3 and best practice 5 at the new mapping. Both still said MAJOR.

Docs only — no code, no workflow changes.

NOTES

Open question for reviewers: the checklist treats "existing output changes shape"
as breaking, on the assumption that someone somewhere is parsing our stdout. If we
would rather scope that to --output-format json only and treat human-readable
output as unstable, say so and I will narrow it.

There is a pre-existing MD032 markdownlint warning further down this file (the
"To fix a failed release" list). Left alone to keep this diff focused.

releasing.md said a breaking command-line change takes a MAJOR bump, with no
carve-out for `0.x`. Read literally that puts the next breaking release at
v1.0.0, which is not the intent while the interface is still moving -- so the
guidance gave no usable answer for the releases we actually cut.

Add the pre-1.0 mapping (breaking to minor, features and fixes to patch, which
is what v0.2.84 and v0.2.85 already shipped), and a short checklist for
identifying a breaking change. The checklist calls out the case that is easiest
to miss: a bug fix that tightens a previously permissive check still breaks
whoever depended on the permissive behavior.

Step 3 and best practice 5 both pointed at the old MAJOR rule; both now point
at the pre-1.0 mapping.
@ajalon1 ajalon1 changed the title docs(releasing): document the pre-1.0 version mapping [CFX-7712] docs(releasing): document the pre-1.0 version mapping Aug 20, 2026
@ajalon1 ajalon1 changed the title [CFX-7712] docs(releasing): document the pre-1.0 version mapping docs(releasing): document the pre-1.0 version mapping Aug 20, 2026
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