Skip to content

Default changelog titles for cz_conventional_commits #1119

Open
@paduszyk

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

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

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?

Lee-W

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

woile

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.

Lee-W

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!

paduszyk

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".

Lee-W

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!

paduszyk

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?

3 remaining items

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

    Default changelog titles for `cz_conventional_commits` · Issue #1119 · commitizen-tools/commitizen