The reason for disabling modules is because in general always re-building all modules is overkill and takes a long time. It would be better to re-build everything that may potentially fail because of backward-incompatible changes in dependencies (or mistakes in semantic versioning). However to build something that has no changed dependencies is unnecessary.
So two things are needed for this:
[x] Incremental build system that automatically detects when something needs to be re-build.
[x] Faster running of tests
EDIT: A second reason is that we don't want to release modules that haven't changed.
The reason for disabling modules is because in general always re-building all modules is overkill and takes a long time. It would be better to re-build everything that may potentially fail because of backward-incompatible changes in dependencies (or mistakes in semantic versioning). However to build something that has no changed dependencies is unnecessary.
So two things are needed for this:
EDIT: A second reason is that we don't want to release modules that haven't changed.