Change default of clientUseIPv6 and clientPreferIPv6ORPort
Currently, the Tor client default to never use IPv6. This is bad, as it lets the tor client fail to connect entirely on IPv6-only connections.
A better default would be enabling IPv4 and IPv6 so that endpoints that fail to connect can be skipped. And for connections to the entry/guard node, it is also irrelevant for privacy and security reasons anyway.
Therefore I'd propose setting these new defaults in https://gitlab.torproject.org/tpo/core/tor/-/blob/main/src/app/config/config.c#L378:
ClientPreferIPv6ORPort 1
ClientUseIPv6 1
The first one is necessary because Tor does not have Happy Eyeball support right now for connecting to endpoints with multiple addresses.
And the 2nd one allows Tor to also use IPv6 entry node addresses and not limit itself to IPv4 ones.
The ideal solution would be a new "auto" option for all three (ClientUseIPv4, ClientUseIPv6, ClientPreferIPv6ORPort) that makes using Happy Eyeball the default behavior using both IPv4 and IPv6 node IP addresses. And changing the meaning of these three options, to mean from now on overwriting the Happy Eyeball logic and mainly being available for debugging network issues and legacy (config file) compatibility.
(This partial feature request relates to the user-facing issue reported in tpo/applications/tor-browser#41742 (closed) )