Open lumynou5 opened 2 months ago
I agree. Maybe changes could be split up into Changed and Updated? I regularly make changes to the code that does not change existing functionality... Maybe there could be a category for 'note' or 'cleanup' too?
@william-andersson
That could be a solution, and looks like:
Changed
"Big changes", breaking changes fall into this category.Updated
This category includes smaller changes that are safe to upgrade, such as a better performance and a slight change to application UI.The only problem is its name. Updated
is as abstract and obscure as Changed
, people might mix up.
You are absolutely right. Maybe Refactor
would be a better word for it?
This is mentioned at https://common-changelog.org/
Refactor
could also be used for code cleanup.
i'm not sure if it should be split... and even less about the names. but i'm pretty sure either way, it will confuse some people. 😑
but interestingly - although a different topic - i similarly classified the sections as "warning" and "note" without mentioning it (but by ranking them): https://github.com/olivierlacan/keep-a-changelog/issues/458#issuecomment-2459808902
...and yes, Changed
was/is a pretty hard one to crack. 😜
In my opinion, these categories have two kinds: note and warning. (The words are picked from compiler message. I just don't know better words.)
For example,
Added
is a "note". User doesn't need to know what's added to upgrade safely.Fixed
is also a "note". Although a fix might change behavior, the behavior is incorrect, unexpected, and/or different from the documentation.In the other hand,
Deprecated
andRemoved
are "warnings". They indicate to user preparation is needed.However,
Changed
seems very wide, including various big and small changes. Changes to functionality, behavior, and interface are "warnings" without a doubt, but there are also other kinds of changes in this category. A common one is optimization, which doesn't added new thing, fix a bug, or change any behavior but improve the performance. Optimization seems not changes any public interface but it does matter and users care, unlike really "invisible" ones such as changes to unit test and CI.It seems inconvenient to find a change fast because
Changed
has a such vary importance, and makes bumping semantic version numbers harder—other categories are obvious;Fixed
increases patch version,Added
increases minor version, andRemoved
increases major version, etc.Do I understand
Changed
wrong? Where should I put optimization?