Using the Python API,
GSLayer.decomposeComponents decomposes components on a given layer. In Glyphs 2 this would happen recursively, such that no component is on the layer after the operation. In Glyphs 3 the operation is shallow.
I can simulate the old behavior with
while len(somelayer.components) > 0: somelayer.decomposeComponents()
Is this a bug and the old behavior will be restored in a future version or is this change intentional?