The only minor functional change here is that I decided to remove #include <concepts> from <random>, because I don't think anyone has had time to start relying on that detail. But I left all the C++17-and-earlier superfluous headers intact — e.g. <random> still exports <vector>, because even some of our own tests rely on that. (I'd be happy to split out the removal of <concepts> into its own commit, immediately following the NFC commit.)
I didn't fully investigate the existing <__random/uniform_int_distribution.h>. It seems like it'd be possible now to eliminate that file's __independent_bits_engine and make it use std::independent_bits_engine instead; but that seems like a project for a separate PR.
I haven't checked whether that's the case or not, but please only do this when the file uses min() or max(). If that's already the case, then ignore this comment.