As a manual workaround to this missing functionality (History of change), I keep a manual ChangeLog in the Description of the element (Action, Web-block, Screen, Structure, Entity, Module, etc) with the following format:
---ChangeLog (dates in descending order):---
2019-11-16-Sat, <developer-name>:
- Changed action to public.
2019-11-01-Fri, <developer-name>:
- Fix bug B123.
When the limit of 2000 characters in the Description is reached, I move the oldest part of the current ChangeLog to a comment inside the flow of the action, or some other place of the element when possible (the Preparation or dummy action of Screen/Web-Blocks).
Again, a manual workaround, not the perfect solution, also consumes a bit more development time, but it has saved quite some time when I try to understand the previous changes on the element.
Of course, I would like to see implemented a solution that is not manual, but sincerely I am not envisioning how this will be done by OutSystems as its versioning control system is not based on Deltas between commits (publishes) but it is based on the full upload of the source code (.oml).
--Tiago Bernardo