commitizen-tools / commitizen

Create committing rules for projects :rocket: auto bump versions :arrow_up: and auto changelog generation :open_file_folder:
https://commitizen-tools.github.io/commitizen/
MIT License
2.39k stars 257 forks source link

commitizen v4 #1073

Open noirbizarre opened 4 months ago

noirbizarre commented 4 months ago

Description

Discuss and tracking breaking changes to include in the next major release.

Possible Solution

Additional context

Should we release a major by breaking change or group them into a single major release ?

Additional context

No response

Lee-W commented 4 months ago

Not sure whether we need to create a 4.0 branch 🤔

Lee-W commented 4 months ago

I'm thinking of splitting version_schemes into smaller modules. Make both version_schemes and providers pluggable

woile commented 4 months ago

I'm thinking of splitting version_schemes into smaller modules

good idea, to be in-line with providers, and it would be easier to find them

Make both version_schemes and providers pluggable

what do you mean? they are already plugins, right?

Lee-W commented 4 months ago

what do you mean? they are already plugins, right?

ah, you're right. I forget it 🤦‍♂️

woile commented 4 months ago

We should improve the templates to make it easier to extend

noirbizarre commented 4 months ago

Brainstorming a few ideas (doesn't mean that we need everything in the next major):

Given there is an autobump, maybe we can formalize a process to group new features and breaking changes together to reduce the bump of major/minor releases. Maybe using merge queues. I did not yet research what exists for that.

woile commented 4 months ago

Most of them look good.

I would avoid relying on pydantic as it's a widely used library. A lot of people attach commitizen to their dev-dependencies, and a lot of ppl use pydantic 1 or 2, probably creating problem. I heard today someone having issues with charset-normalizer

Lee-W commented 4 months ago

I also think https://github.com/commitizen-tools/commitizen/issues/950 might be something we want to correctly handle but could potential be a breaking change due to the difference between python packaging versioning and semver

Lee-W commented 3 months ago

Should we change this into a discussion and maybe create a few issues related to it? This looks more like a discussion instead of an issue to me

Lee-W commented 3 months ago

https://github.com/commitizen-tools/commitizen/issues/1135#issuecomment-2132814288

Lee-W commented 3 weeks ago

We might also want to include this one https://github.com/commitizen-tools/commitizen/pull/1209

Lee-W commented 2 weeks ago

@noirbizarre I just created a v4 branch. Also added some branch protection rule to this branch