In ID3v23 YYYY is stored in TYER and MM-DD stored as MMDD in TDAT and the underlying jaudiotagger lib handles the fact the year is stored in two different fields.
However many dates in MusicBrainz consist of only YYYYY-MM, but TDAT is always MMDD it cannot just be MM so a date of 1986-05 would be stored as TYER-1986 and TDAT=0501. If we then delete the SongKong database and retry matching SongChanges reports that YEAR has changed form 1986-01-01 to 1986-01 because the date in the file is stored with day , but match doesnt contain this information.
1> When have no day store TDAT as MM00, then handle 00 as a special case either in jaudiotagger or songkong itself. Does this break ID3 spec ?
2> Write an additional field MONTH_ONLY , and if this is set ignore the DD part when comparing values
3> Just write day '01' if missing