One thing, it would have to be 3.0 since no new features are going into 2.x anymore AFAIK.
Do I understand correctly that essentially what you want to be able to do is limit parallelism in mapped task? E.g. is it correct that you essentially want to do task mapping, but with parallelism=1? Would that be equivalent? Or is it something more than that? I am sorta surprised if we don't have a limit like that. Though I suspect DAG.max_active_tasks would control it at least. One other thing I'll mention. Prior to 2.9.3, there was a problem that caused trouble in some mapping scenarios. After a task runs, it will schedule downstream tasks. (we call this the mini scheduler). Before 2.9.3 the mini scheduler would try to obtain a lock on dag run before running. If you have 3000 tasks completing at about the same time, naturally this can cause trouble. So in 2.9.3 we skip mini scheduling if we can't obtain lock immediately. I wonder if this was part of the trouble you experienced with mapping.