@Em0nM4stodon ok, but look on technical side, most of updates is in binary format, and assumes one state, and leads to other. Now if you would like to have 2 updates, one for security, one for features.... it is difficult (I would like to say impossible) in diff approach.
You don't have 1 "start" version but multiple... maybe user has prev security, but not features....
Even for single app it seems that you would need to produce multiple versions of the same update.... lets say, you would always keep only 10 back... so 10 back, user can go with full, or only security... so there are 2 10 back, 9 back... user may start from each of those and choose going with features, or with security.... what will be even more wired...
Even if it would be distributed on source level... nope... it would be backporting security changes, or sometimes writing several versions of those....
Or you have some idea how to do it? Maybe there is some doable way I simply don't see, hope you will share 🙂