Yep, it seems so, I just tried what you found out and it's same here for me...
any chance for a fix from dev?
AFAI understand it, the LAME folks say that LAME should be in capitals. If that is so, MP3tag shows it.
If you don't see LAME, then it is not clear: is it just in non-standard case or is there no information at all - which could also apply.
If you see LAME then you can be sure it is encoded with LAME. In all other cases, you would have to investigate anyway.
Further analyzing with HxD hex editor mp3 files that have this issue (Lame instead of LAME) I found that the first reference of "Lame" is spelled like this which Mp3tag does not recognize but after the first "Lame" reference there are tens of other reference spelled like this "LAME" which Mp3tag should recognize but since it's not the first reference Mp3tag seems to ignore. Changing the first reference of Lame to LAME - now Mp3tag recognize it - as we already established.
Maybe Mp3tag doesn't look in the correct location for encoder? since other software like Audio Identifier (software from 2008) / TrueLameVersion (also very old utility) / Media Info - recognize the encoder regardless of how it's spelled the first reference for Lame in this case.
Mp3tag reads a correctly written LAME header and makes the whole thing available via %_tool%. Other encoders (including other encoders that use LAME internally but do not write a LAME header) are not recognized by Mp3tag. I am very surprised about the lower case of Lame in the example file, because all LAMEs I know actually use LAME correctly (except LAME 3.99.1, which I think used L3.99.1).
At some point I decided against recognizing encoders, because the whole thing can only be solved heuristically and there will always be an edge case which is then reported as bug (as this example shows).
If you can point me to an official version of the LAME encoder that writes "Lame" instead of "LAME", I might add support for that. Otherwise, I'd like to encourage you to use the tools that detect encoders in a for you sufficiently acceptable way.
Just for completeness:
According to this information about the "LAME version string", LAME was written in uppercase at least since version 3.98 back in 2008:
3.98 = 3.98.0 = "LAME3.98" followed by a space character (byte 0x20)
3.98.1 through 3.98.4 = "LAME3.98r"
3.99 alpha versions = "LAME3.99a"
3.99 beta versions = "LAME3.99b"
3.99 = 3.99.0 = "LAME3.99" followed by a space character
3.99.1 = "L3.99r" followed by three null characters (byte 0x00)
3.99.2 through 3.99.n = "LAME3.99r"
3.100 alpha versions = "LAME3100a"
There was only one exception for v3.99.1:
(between November 05 2011 and November 18 2011 until v.3.99.2 was released)
For LAME 3.99.1, the format was changed such that release versions with a patch version > 0 would be identified with the following format:
"
L" + major version + "." + minor version + flag + patch versionHowever, the new code contained a minor error which resulted in the patch version being omitted, and the change of "
LAME" to "L" proved to be problematic for hardware and software players which failed to recognize the LAME tags as such, adversely affecting gapless playback and encoder identification, so the new scheme was abandoned for 3.99.2 and up.