sync with v3.12.x branch

Signed-off-by: Robert Nelson <robertcnelson@gmail.com>