allowes TYER tags in the form of 'yyyy-mm-dd'
I think that violates the ID3v2 spec, TYER should only be a numeric string in the form of YYYY.
Indeed, month and day are supposed to go into the TDAT frame. For a full representation including the time one would use the TYEAR, TDAT and TIME frames. See https://id3.org/d3v2.3.0.
But as I understand this patch it just makes reading the tags and upgrading old v2.3 tags to v2.4 work even if TYER contains a non-standard format of yyyy-mm-dd. And you can certainly encounter such tagged files.
@phw bought a valid point. There are such tagged music tracks on the wild, no matter one hates it or not. In the end it comes down to where mutagen maintainers' stands. Do they want to handle things gracefully (like preserving data in case people want to do update_to_v24()), or do they have a hard stance against anything not conforming written standard? If it's the latter case, perhaps they want to make it very clear, otherwise PRs like this or similar feature requests will keep coming, which is a waste of everybody's time.
I provided an alternative implementation in #597
https://github.com/quodlibet/mutagen/pull/597 got merged with a bit different approach. Thanks for getting this rolling