Ping setting source address differences between IPv4 and IPv6

I was testing something and stumbled on this weird oddity:

Ping using IPv4 and setting the source address to ‘127.0.0.1’ (works):

# ping -I 127.0.0.1 192.168.1.1
PING 192.168.1.1 (192.168.1.1) from 127.0.0.1 : 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.130 ms

Ping using IPv6 and setting the source address to ‘::1’ (doesn’t work):

# ping -I ::1 fc00::1
PING fc00::1(fc00::1) from ::1 : 56 data bytes

The strange thing is that this used to work, at least on kernel 4.13. Is there any valid reason for this change in the Linux kernel, or am I missing something?