write json serialized PlanDescriptions directly to output stream instead of in-memory string <-- avoid OOM when plans are huge
Merge branch '2.0-maint' into 2.1-maint