merged v4.90 of upstream
merged v4.99 of upstream