Upgrade to 20

Merge in changes from upstream and our modifications to that.