Enigma 2.1.0 Changelog

As with any big release, Enigma 2.0 broke tons of things. We’ve cleaned up all the bugs and crashes as well as added a few features for the bytecode nerds with this release!

  • added new development options!
    • added an option to enable debug token highlighting
    • added an option to show the source plugin of proposed mappings in the identifier panel
    • remember to have these options available you need to run enigma with the --development flag!
  • added tokenization to the bytecode view
    • this allows you to rename entries and more clearly see what is obfuscated and deobfuscated when viewing the bytecode!
  • added syncing of names between method declarations in interfaces
    • sometimes, a class will implement methods with the same names and signatures from two different interfaces. previously, this would break the mappings if you renamed one of those as enigma wasn’t aware that they needed to match. now it’s smarter!
  • fixed the server asking all users to verify warnings instead of just the mapper who caused the warning
  • fixed mappings sync on the server sending proposed mappings
  • fixed some issues with drop-invalid-mappings
  • fixed an inverted condition when parsing arguments in the CLI
  • fixed toggling between obfuscated and deobfuscated on parameters of bridge methods
  • fixed vineflower settings not being properly applied and saved
  • fixed the merged mapping tree occasionally prioritising empty mappings over real ones
  • fixed incorrect bytecode tokens on arrays
  • fixed recent projects adding duplicate entries when the same project is opened twice
  • fixed old recent projects beyond the limit not being removed
  • fixed a startup crash when no recent projects are present
  • fixed a startup crash likely caused by a bug in FlatLAF
  • fixed the package index being quite broken and not properly tracking all packages