Sorry to reply to this old thread, but I'm actually facing the situation you're describing at the end: having possibly many rels to traverse.
As you mentioned, the fix in 2.1 won't fix this and there is the workaround you describe above or even, as Mark Needham and Cédric Fauvet told me, the possibility of fanning out such dense relationships with Max de Marzi unmanaged extension:
https://github.com/maxdemarzi/dense.
Do you know if this issue will still be tackled in 2.2?
Would you mind sharing some insights (like the approach currently considered by the engineering team)?
This may be a very naive outlook on the matter, but wouldn't it be possible to actually implement the fanning out (as done with the unmanaged extension of Max de Marzi) at the storage level and introduce the notion of paging into core APIs?
This notion of page, as in the unmanaged extension, is currently taking the shape of a relationship depth variable.
With no specified page (or ranges of page), this would remain backwards-compatible: all relationships would be traversed, else only the ones in the specified page.
With guaranteed backwards-compatibility, people who currently don't need to worry about this still wouldn't need to.
People in need of this wouldn't a workaround anymore.
Again, I'm aware this has huge impacts anyway and I may miss many others. But I'm really curious about the approaches that are considered.
Sorry if that does not make sense at all.