For reasons very well described here, our current implementation of the modulo base classes (component, lifecycle component, controller) has quite a poor ABI stability. That means that each time we want to add new feature to those classes, it is very hard - or impossible - to do so without breaking the ABI. The longer we stick to one major version, the more our hands become tied in what we can still add.
That said, for modulo v6 we want to work towards libraries with higher ABI stability, using a set of techniques mentioned above. Most likely, we will implement some sort of PIMPL structure.
The current breaking branch already contains the following changes:
@eeberhard @SprGrf @yrh012
In addition to this pure (breaking) refactor, we can implement any of the following for v6
For reasons very well described here, our current implementation of the modulo base classes (component, lifecycle component, controller) has quite a poor ABI stability. That means that each time we want to add new feature to those classes, it is very hard - or impossible - to do so without breaking the ABI. The longer we stick to one major version, the more our hands become tied in what we can still add.
That said, for modulo v6 we want to work towards libraries with higher ABI stability, using a set of techniques mentioned above. Most likely, we will implement some sort of PIMPL structure.
The current
breakingbranch already contains the following changes:@eeberhard @SprGrf @yrh012
In addition to this pure (breaking) refactor, we can implement any of the following for v6