Revert "merge 0.20"

This reverts commit 3b2c32a9909fcdbbea9c5b744547de343570882d, reversing
changes made to d9af8af6a5b036b5d297ea13ffeaff9e4a962e7f.
merge 0.20 without the fixOutputBatching changes.

those changes should come from the master-related branch