Skip to content

process: define versioning policy for ported breaking changes — two unreleased ! commits sit under v2.8.0; consider release automation #98

Description

@IgorShevchik

Background

Surfaced during the June 2026 multi-angle project audit (CTO review).

Problem

main currently carries ~13 unreleased commits over v2.8.0, including two breaking ones: 081a979 feat(InputMenu)! (#68) and 5da53b6 fix(components)! (#72). The CHANGELOG is hand-written and releases are manual chore(release) commits (no changesets/release-please).

If the next release ships as 2.9.0, semver is violated and consumer trust erodes — and the per-commit upstream sync (#75) will keep generating exactly this class of decision, so it needs a standing policy rather than per-release judgment calls.

Actions

  • Publish a one-paragraph versioning policy in AGENTS.md / contributing docs: either any ported ! commit ⇒ next release is a major, or an explicitly documented v2-line exception (e.g. "breaking changes inherited from upstream v4 ports are released in minors during the 2.x adaptation phase, flagged in the CHANGELOG ⚠️ section") — but written down, before the next release.
  • Consider release automation (release-please or changesets): commit history is already 100% conventional-commits via squash-merged PRs, so versions + CHANGELOG can be derived mechanically; this also removes single-maintainer release friction.
  • Make the breaking-change call part of the sync-port checklist in .sync/PORTING.md.

Priority: P2 — decide before the next release ships.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions