This branch updates #20602 with latest from v4-dev so I can get tests passing and squash on merge.
v4-dev