Skip to content

Default changelog titles for cz_conventional_commits #1119

Closed as not planned
Closed as not planned

Description

@paduszyk

Description

In general the Conventional Commits / Angular scheme is suitable for me (as for most of the people write code with VSC, I guess). It is nicely implemented in commitizen and suggested to be set as a default (see #535, comment). That's great!

The only thing I don't get is the way the changelog sections are formatted:

change_type_map = {
"feat": "Feat",
"fix": "Fix",
"refactor": "Refactor",
"perf": "Perf",
}

Is there any specific reason (or convention) for which the section titles are as they are?

Changelogs are supposed to be read by humans (?), so why more human-readable names aren't applied?

Regards! 🙂

Possible Solution

change_type_map = { 
     "feat": "Features", 
     "fix": "Bug fixes", 
     "refactor": "Code refactoring", 
     "perf": "Performance improvements", 
 } 

The change_type_order must be updated accordingly.

Additional context

I am aware of the fact that my issue can be resolved by cz_customize. This, however, requires providing extra configurations, e.g. bump_pattern, etc.

Additional context

No response

Activity

  1. changed the title [-]Default changelog titled for `cz_conventional_commits`[/-] [+]Default changelog titles for `cz_conventional_commits`[/+] on May 16, 2024
  2. woile commented on May 17, 2024

    @woile
    Member

    Yeah me neither TBH, I'm open to it. @Lee-W @noirbizarre do you have any thoughts?

  3. Lee-W commented on May 18, 2024

    @Lee-W
    Member

    Looks good to me. But will we probably need to go to v4? somewhat a breaking change

  4. woile commented on May 18, 2024

    @woile
    Member

    I think even if it's exposing to the end user, it's not a breaking change. Functionality will remain the same.

  5. Lee-W commented on May 18, 2024

    @Lee-W
    Member

    I think even if it's exposing to the end user, it's not a breaking change. Functionality will remain the same.

    I'm ok with it. Sound great!

  6. paduszyk commented on May 18, 2024

    @paduszyk
    ContributorAuthor

    @Lee-W @woile I'm glad you guys are OK with it. I also don't see a breaking change in it.

    I can open a PR if you don't mind... Just let me know whether the titles I have proposed are OK. Maybe, we should go with "New features", "Features added", or "New features added" instead of "Features".

  7. Lee-W commented on May 19, 2024

    @Lee-W
    Member

    Sounds great! I don't have a strong opinion on which one. Maybe we can take a look at how large open-source projects do. Assigning this to you. Thanks!

  8. paduszyk commented on May 24, 2024

    @paduszyk
    ContributorAuthor

    As I just checked in my local fork, updating the titles breaks a lot of tests. This is because the old titles are hard-coded in the test changelogs. So, one way is to update the hard-coded titles. This would result in a large diff, however...

    An alternative is to add (to the global conftest.py) a fixture that will preserve the old titles:

    @pytest.fixture(autouse=True)
    def default_change_type_map(mocker: MockFixture) -> None:
        mocker.patch.object(
            ConventionalCommitsCz,
            "change_type_map",
            {
                "feat": "Feat",
                "fix": "Fix",
                "refactor": "Refactor",
                "perf": "Perf",
            },
        )

    This makes everything green.

    @woile @Lee-W What do you think? I have some doubts. Should I auto use or use the fixture only for the tests that fail?

  9. Lee-W commented on May 27, 2024

    @Lee-W
    Member

    Sorry for late reply. I would prefer use the fixture only for the tests that fail

  10. woile commented on May 27, 2024

    @woile
    Member

    I'd rather have the tests fixed 🙏🏻

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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions