I think it was required until about 2010 or so for GNU tar. (I still use it from habit.)
There was a problem about integrating support for different compression applications, with each one needing to get a new letter in the tar command!
Won't this fail when the file is not gzipped but, for example, zstd compressed?
It doesn't assume gzip, it detects the compression format.
Yup, I remember when you had to pass `z` if it was gzip, and I remember my surprise when I missed it once and it still worked (apparently about 5 years after it was no longer needed!)