With the introduction of backdating for issues raised on old code by rules newly activated in the quality profile, we have made huge strides, but a corner case remains:
- New issues raised on old code by an improved rule implementation. Specifically, the rule has been active for a while in the profile, but an upgrade to the code analyzer brings an improved implementation and new issues are raised by an "old" rule on old code.
- For custom rules, the implementation change may also come from an update of the base plugin
The idea in such case is to backdate all new issues found by the rule during the first analysis following the use of the new version of the rule implementation
We'll store plugin hashes in DB, and we will consider that a change to a plugin is equivalent to an implementation change of all rules it contains. To not be affected by plugin updates that could occurs while the analysis was already started, the scanner will store plugins updatedAt date in the scanner report.