Link to PR
Supported methods (all booleans, extrude, mirror, makeFillet2, makeChamfer2) now come with an optional withHistory parameter that can be set to True if you want to store history. The development of the sub-shapes from the sub-shapes of the base(s) can be studied by using shapeName.History.modified, shapeName.History.generated, shapeName.History.isDeleted.
Some testing is required, however. Works well enough for my test cases, but they are fairly naive. Some stress-testing would be greatly appreciated.