Skip to content

Fix/verstion to v0#31

Merged
cawpea merged 5 commits into
developfrom
fix/verstion-to-v0
Jan 1, 2026
Merged

Fix/verstion to v0#31
cawpea merged 5 commits into
developfrom
fix/verstion-to-v0

Conversation

@cawpea

@cawpea cawpea commented Jan 1, 2026

Copy link
Copy Markdown
Owner

Release versionをv1からv0に変更(semantic-releaseが勝手にv1に上げないようにする)

cawpea and others added 4 commits January 1, 2026 20:41
Release: rename package to docs-coderef
# [1.0.0](v0.1.0...v1.0.0) (2026-01-01)

### Bug Fixes

* exclude CODE_REF comments in unclosed code blocks from validation ([f1f5287](f1f5287))
* handle variable-length backtick sequences in code blocks ([b5674ad](b5674ad))

### Features

* remove default .docsignore value from configuration ([67967d3](67967d3))

### BREAKING CHANGES

* The `ignoreFile` configuration no longer defaults to '.docsignore'.
To continue using .docsignore, explicitly set `ignoreFile: '.docsignore'` in your
configuration file (.coderefrc.json or package.json).

This change makes the ignore file behavior explicit rather than implicit, applying
ignore patterns only when intentionally configured. All documentation examples now
use `.gitignore` instead of `.docsignore` to reflect this generic approach.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Jan 1, 2026

Copy link
Copy Markdown

Pull Request Review

Summary

This PR modifies the semantic-release configuration to add custom release rules and includes a changelog entry for v1.0.0. The changes aim to provide more granular control over versioning based on commit types.


Code Quality & Best Practices

Positive Aspects

  • The .releaserc.json configuration is well-structured and follows semantic-release conventions
  • The changelog follows the Keep a Changelog format properly
  • Automated checks (tests, linting, type-checking, docs validation) are all passing

⚠️ Concerns & Issues

1. Critical Issue: Versioning Inconsistency

The PR introduces a significant inconsistency between the changelog and package.json:

  • CHANGELOG.md documents a 1.0.0 release (lines 8-34)
  • package.json shows version 0.1.0

This creates confusion about the actual state of the project. According to the commit history, the intent appears to be reverting to v0.1.0, but the changelog still shows 1.0.0 as released.

Recommendation: Either:

  • Remove the 1.0.0 section from CHANGELOG.md and move those changes to "Unreleased"
  • Or update package.json to 1.0.0 if that's the intended release

2. Semantic Release Rules Configuration Issue

The custom releaseRules in .releaserc.json have a semantic versioning problem:

{ "breaking": true, "release": "minor" }

This violates semantic versioning principles. Breaking changes should trigger major releases (x.0.0), not minor releases. From Semantic Versioning 2.0.0:

  • Major (MAJOR.x.x): Incompatible API changes
  • Minor (x.MINOR.x): Backwards-compatible functionality
  • Patch (x.x.PATCH): Backwards-compatible bug fixes

Recommendation: Change to:

{ "breaking": true, "release": "major" }

3. Overly Permissive Release Rules

Several commit types that traditionally don't trigger releases are configured to create patch releases:

  • docs, style, refactor, test, build, ci

This contradicts the project's own git conventions documentation (docs/development/git-conventions.md:21-28), which states these types should have "None" semantic version impact.

Recommendation: Consider aligning the release rules with documented conventions:

{ "type": "docs", "release": false },
{ "type": "style", "release": false },
{ "type": "refactor", "release": false },
{ "type": "test", "release": false },
{ "type": "build", "release": false },
{ "type": "ci", "release": false }

Unless the team intentionally wants these to trigger releases, which would require updating the git conventions documentation.


Potential Bugs

  • None identified in the configuration syntax itself
  • The configuration is syntactically valid JSON

Performance Concerns

  • None - Configuration changes have negligible performance impact

Security Concerns

  • None - No security-sensitive changes in this PR

Test Coverage

  • ✅ Existing tests pass
  • N/A for configuration-only changes

Documentation Update Needs

Required Updates:

  1. Git Conventions Documentation (docs/development/git-conventions.md)

    • If the new release rules are intentional, update the "Semantic Version Impact" column in the commit types table to reflect that docs, style, refactor, test, build, and ci now trigger patch releases
    • Document that breaking changes trigger minor (not major) releases if that's intentional
  2. CHANGELOG.md

    • Resolve the version inconsistency as noted above
  3. Optional: Release Process Documentation

    • Consider documenting why breaking changes are configured to trigger minor releases instead of major releases
    • This decision should be explained somewhere for future maintainers

Summary of Recommendations

Must Fix:

  1. ❌ Resolve CHANGELOG.md / package.json version inconsistency (1.0.0 vs 0.1.0)
  2. ❌ Change breaking: true to trigger major releases, not minor
  3. ❌ Update git-conventions.md to match actual release behavior OR change release rules to match documentation

Should Consider:

  1. ⚠️ Evaluate whether docs, style, refactor, test, build, ci should really trigger releases

Overall Assessment

The configuration changes are technically sound, but there are important semantic versioning and documentation consistency issues that should be addressed before merging. The most critical issue is the breaking changes → minor release mapping, which violates semantic versioning standards and could cause problems for downstream consumers of this package.

@cawpea cawpea force-pushed the fix/verstion-to-v0 branch from e4c55f1 to 235e338 Compare January 1, 2026 11:56
@cawpea cawpea force-pushed the fix/verstion-to-v0 branch from 235e338 to f537336 Compare January 1, 2026 11:59
@github-actions

github-actions Bot commented Jan 1, 2026

Copy link
Copy Markdown

Pull Request Review

Overview

This PR modifies the semantic-release configuration to add custom release rules.


Critical Issues

1. Inconsistency with Documented Git Conventions

Severity: High

The release rules contradict docs/development/git-conventions.md:

Current PR: docs, style, refactor, test, build, ci → PATCH release
Documented: These types → No version impact

Impact: Documentation-only commits will trigger patch releases (0.1.0 → 0.1.1), violating the principle that docs changes should not affect package versions.

Recommendation: Set these types to release: false to align with documented conventions.

2. Breaking Changes Trigger MINOR Instead of MAJOR

Severity: High

The config has breaking: true, release: minor which violates SemVer 2.0.0.

Impact: Breaking changes will bump minor (0.1.0 → 0.2.0) instead of major (0.1.0 → 1.0.0), misleading consumers about compatibility.

Recommendation: Change to release: major or document rationale for pre-1.0 semantics.


Other Issues

PR Description Mismatch (Medium): Description mentions CHANGELOG.md updates and breaking changes, but diff shows only .releaserc.json changes.

PR Title (Low): Contains typo verstion and unclear meaning.


Code Quality

✅ Valid JSON syntax
✅ Proper formatting
✅ Correct plugin ordering

Security & Performance

✅ No security issues
✅ No performance impact


Documentation Updates Needed

  1. Update docs/development/git-conventions.md to align with new release rules
  2. Consider adding docs/development/release-process.md
  3. Update PR description to match actual changes

Summary

Recommendation: Request Changes

Critical issues:

  1. Fix inconsistency between release rules and documented conventions
  2. Reconsider breaking changes → minor mapping or document rationale
  3. Update documentation to reflect actual behavior

The idea of explicit release rules is good, but current implementation conflicts with documented behavior and SemVer practices.

@github-actions

github-actions Bot commented Jan 1, 2026

Copy link
Copy Markdown

Pull Request Review

Overview

This PR updates the semantic-release configuration in .releaserc.json to add explicit release rules for different commit types. The changes provide more granular control over versioning behavior.


Code Quality & Best Practices

✅ Positive Aspects

  • Clean, well-structured JSON configuration
  • Follows semantic-release plugin conventions
  • Comprehensive coverage of all commit types from the project's git conventions
  • Explicit rules improve predictability and transparency

⚠️ Critical Issues Identified

1. Breaking Changes → Minor Release (SEVERITY: HIGH)

{ "breaking": true, "release": "minor" }

Issue: This violates Semantic Versioning 2.0.0 principles. Breaking changes MUST trigger major version bumps, not minor.

  • MAJOR (x.0.0): Incompatible API changes (BREAKING CHANGES)
  • MINOR (0.x.0): Backwards-compatible new functionality
  • PATCH (0.0.x): Backwards-compatible bug fixes

Impact: Downstream consumers relying on semver will not be warned about breaking changes, potentially causing their builds to break unexpectedly.

Recommendation: Change to:

{ "breaking": true, "release": "major" }

Exception: If the project is pre-1.0.0 and intentionally using 0.x versioning where minor = breaking, this should be documented clearly.


2. Inconsistency with Documented Git Conventions (SEVERITY: MEDIUM)

The new release rules conflict with docs/development/git-conventions.md:

Type Documented Impact New Behavior Issue
docs None release: false ✅ Aligned
style None release: false ✅ Aligned
refactor None release: false ✅ Aligned
test None release: false ✅ Aligned
chore None release: false ✅ Aligned
ci None release: false ✅ Aligned
build None release: false ✅ Aligned
feat MINOR minor ✅ Aligned
fix PATCH patch ✅ Aligned
perf PATCH patch ✅ Aligned
revert Depends patch ⚠️ Reasonable default

Actually, upon closer inspection, the configuration is well-aligned with the documented conventions! Good work here.


Potential Bugs

None identified. The JSON syntax is valid and the configuration follows semantic-release conventions.


Performance Concerns

None. Configuration changes have negligible runtime impact.


Security Concerns

None. No security-sensitive changes in this PR.


Test Coverage

  • ✅ All automated checks passing
  • ✅ Configuration-only changes don't require additional tests
  • ✅ semantic-release will validate this config at runtime

Documentation Update Needs

REQUIRED:

  1. If breaking → minor is intentional for pre-1.0 versions:

    • Add a note to docs/development/git-conventions.md explaining that breaking changes trigger minor releases during pre-1.0 development
    • Document when this policy will change to standard semver (at v1.0.0?)
  2. Update/Create Release Documentation:

    • Consider adding docs/development/release-process.md documenting:
      • How semantic-release is configured
      • What commit types trigger what version bumps
      • The rationale for custom release rules

RECOMMENDED:

  1. PR Description Clarification:

    • The PR description mentions "CHANGELOG.md updates" and "v1.0.0 release", but the diff only shows .releaserc.json changes
    • Update description to accurately reflect the actual changes, or verify all intended files are included
  2. PR Title:

    • Contains typo: "verstion" → "version"
    • Unclear what "to v0" means
    • Suggestion: feat: add explicit semantic-release rules for commit types

Recommendations Summary

MUST FIX:

  1. Change breaking: true to release: "major" unless there's a documented reason for pre-1.0 semantics
  2. Document the breaking changes versioning strategy if keeping as minor

SHOULD FIX:
3. ⚠️ Fix PR title typo and make it more descriptive
4. ⚠️ Verify PR description matches actual changes (mentions CHANGELOG.md but it's not in the diff)
5. ⚠️ Add release process documentation

NICE TO HAVE:
6. 💡 Consider documenting the transition plan from pre-1.0 to 1.0+ versioning


Overall Assessment

Current Status: REQUEST CHANGES ⚠️

The configuration is well-structured and mostly aligns with project conventions, but the breaking changes → minor release mapping is a critical semantic versioning violation that must be addressed before merge. This could cause serious issues for package consumers.

Once the breaking change mapping is fixed or properly justified/documented, this PR will be in good shape to merge.


Additional Context

The custom release rules are a good addition to the project as they:

  • Make versioning behavior explicit and predictable
  • Prevent unintended releases from doc/style changes
  • Align with the project's git conventions
  • Improve maintainability

Good work on implementing this! Just needs the breaking change versioning resolved.

@cawpea cawpea merged commit 10e55ad into develop Jan 1, 2026
4 checks passed
@cawpea cawpea deleted the fix/verstion-to-v0 branch January 1, 2026 12:02
@github-actions

github-actions Bot commented Jan 1, 2026

Copy link
Copy Markdown

🎉 This PR is included in version 0.2.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants