Hi

This topic has been discussed several times before and various projects 
practice different rules for the fixVersion field.

Reason why I bring it up again is that I was researching the use of Yetus 
releasedocmaker[1] for generating release notes based on extra info added to 
jira issues as they are resolved. Attempting to run the tool for Solr v8.0.0 
({{releasedocmaker --project solr --version 8.0}}) resulted in a list of 255 
features, but only 30 of those were actually new in 8.0!

Currently we tag issues with fixVersion before commit, to indicate what 
BRANCHES we intend to commit to, i.e. new features normally gets “master (9.0)” 
and 8.2, while bugs normally gets 8.1.2 in addition. More serious bugs and 
security issues may in addition be flagged with 7.7.2.

An alternative fixVersion policy that I’d like us to consider, would be to 
mimic how we add CHANGES entries, i.e. only record the first version where a 
feature is introduced. For bug fixes we also in addition record any version 
where we backport the fix. This is because there is not a strict time line  
with increasing versions once a release has happened in a newer major version 
branch. I.e. once 9.0 is released we cannot guarantee that 8.x.y is released 
before 9.x, so both need to be recorded. With this strategy, the only time it 
would make sense to have fixVersion=master(9.0) for a bug is if a bug in the 
8.x line will not be fixed in a 8.x feature release. but the first fix will be 
in 9.0. With such a use of the field, a report for fixVersion=9.0 would list 
only new features and new bug fixes in 9.0. If we later change our mind and 
backport to 8.x we’d need to move changes entry and fixVersion from 9.0 to to 
8.x.

If we switch to this policy you could not immediately see from jira whether a 
feature or bug fix perhaps only applied to 8.x and not 9.x. So we’d need some 
other way to see this. Three ways spring to mind: from yetus comments, from git 
log or from a separate jira field.

Another discussion that keeps coming back is when to add fixVersion in jira. 
Some argue it should not be added only when you actually push to a branch. But 
most of us add it based on intended (hoped) version before development starts. 
Should we write down a formal policy on this?

Jan

[1] https://yetus.apache.org/documentation/0.10.0/releasedocmaker/

Reply via email to