This MR merges !106 (closed) forward for 0.4.2 and later. It resolves a conflict.
See #40083 (closed).