Problem/Motivation
Currently, the state of a given revision is tracked as an Entity-Reference field on the entity pointing to a state. This is simple, easy, and integrates nicely with other modules such as the in-progress Scheduled Updates.
However, that means that every time you touch moderation state you're creating a new revision. That implies that just approving an entity cannot be differentiated from editing its content. That pollutes the revision history, causes the moderation state to be included in serialized versions of an entity (rightly or wrongly), and various other pollution issues.
Proposed resolution
Investigate moving the state tracking to a new non-display content entity that references a single revision of an entity, likely using https://www.drupal.org/project/entity_reference_revisions. How much work is involved there, how much would it break, and would it be worth the effort? We don't know.
Remaining tasks
Adam Hoenich (phenaproxima) offered to run this question through Lightning and do some experimentation and user research there to determine if it's worth doing.
User interface changes
TBD.
API changes
TBD.
Data model changes
TBD.
Comments
Comment #2
jibranNow that we have a first stable release I don't think we can make his change in 1.x. We should move it to 2.x now because it will change the whole architecture design of the module. Or we can won't fix it now. ;-)