In versions <= 0.10.6, the mod name was determined only from the filename. this means that mod in file FooMod.zip was called FooMod and mod in directory BarMod/ was called BarMod, regardless of the content of their info.json file.
0.10.7 has two changes:
1) Mod filename must match the name from info.json. This check is case sensitive We silently supposed that this would happen for all mods, it should have been made more clear ... now you will get a very uncompromising error message :-)
2) Mod filename may optionally contain version number separated by underscore. If the version number is present, it must again match the version from info.json.
The filename format without version number is deprecated since 0.10.7 and will eventually (in 0.11.0, probably) be completely disabled.
Edit:
Sorry, I should have explained it better.
Also we would like to make a recommendations for mod names, so that your mod directory looks a little cleaner.
Our current idea is lowercase mod name with minus signs separating words and underscores separating modules i.e. my-super-mod_planes-and-helicopters_6.4.16.zip. Discuss