This releases introduces two separate mapping data formats for Enigma mapping files, for compatibility with both Enigma 2.4.0+ and older.
The new mapping data formats, ENIGMA_EXPLODED_LENGTH_SORT and ENIGMA_EXPLODED_LEXICOGRAPHIC_SORT, are largely the same with one difference: the order in which inner classes are written. The first one does a lengthwise sort first on the inner class name (then a lexicographical sort), which corresponds to the behavior of versions of Enigma older than 2.4.0. The second one only does a lexicographical sort on the full inner class name, which corresponds to Enigma 2.4.0 and beyond.
For backwards compatibility, the original ENIGMA_EXPLODED mapping data format is retained with its original behavior (corresponding to ENIGMA_EXPLODED_LENGTH_SORT).
Other additional fixes and changesinclude:
- The message used to indicate method non-existence in the member existence validator has been fixed to correctly refer to it as a 'method' (and not 'class').
- The sanitized export will no longer prefix the parameters of record canonical constructors with
p. - The parameter index validator (which checks that parameters are valid according to the metadata) has been merged into the member existence validator.
Full Changelog: v0.9.0...v0.10.0