Skip to content

[Phase 5.2] Add versioning and release strategies #286

@loonghao

Description

@loonghao

Parent Issue

Part of #273 - .vx.toml v2 Configuration Enhancement

Objective

Add version control and release strategy configuration.

Configuration Format

[versioning]
strategy = "semver"  # semver | calver | custom
auto_bump = true

[versioning.release]
branches = ["main", "release/*"]
prerelease = ["alpha", "beta", "rc"]
tag_prefix = "v"

[versioning.changelog]
types = [
  { type = "feat", section = "Features" },
  { type = "fix", section = "Bug Fixes" },
  { type = "perf", section = "Performance" },
  { type = "docs", section = "Documentation" },
]

Tasks

  • Define VersioningConfig structure
  • Implement vx version bump command
  • Implement vx version release command
  • Add SemVer auto-bump from commits
  • Add CalVer support
  • Add changelog generation
  • Add git tag creation
  • Add unit tests

Commands

vx version                 # Show current version
vx version bump            # Auto-bump based on commits
vx version bump major      # Bump major version
vx version release         # Create release
vx version changelog       # Generate changelog

Acceptance Criteria

  • Version bump follows commits
  • Changelog generated correctly
  • Git tags created
  • Release workflow works

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions