update from 5.16.0 to 5.20.1, current stable

update from 5.16.0 to 5.20.1, current stable