It would be nice if libzypp had some framework that allowed to implement extensions like e.g. a history of installed and removed packages easily.
I’m currently looking into the boost signals library to see if we could use it to provide hooks for such extensions.
A future ZYpp::commit would then emit signals e.g. before and after installation/deletion of packages. Some extension code could then connect to those signals to create e.g. such a history.
Another candidate would be the repository management emitting signals as repositories are added removed refreshed.