Skip to content

Releases: QuiltMC/enigma

enigma 2.3.0

11 Apr 02:37
df33132
Compare
Choose a tag to compare
  • added inactive states for inheritance tree dockers
    • this includes the implementations docker and inheritance docker. when they have no inheritance to display, they will show messages informing the user of their state
  • added a progress bar in the bottom right corner to indicate stat generation progress
    • this progress bar is usable for other work as well, and will be used to display other things in the future!
  • added prettier printing for field types in the identifier panel
    • matches the printing used by lambda types
  • whitespace is now automatically stripped when creating EntryMapping objects
  • development options menu is now always shown if any development options are enabled
  • added a config option for disabling stat icons
  • fixed stat icons not matching the currently editable types
  • fixed stat generation having the wrong amount of total work
  • fixed entry navigator not updating after name proposal
  • fixed checkboxes not displaying properly in the search panel
  • added a processor to display all possible language choices in the config file
  • updated dependencies
    • ASM: 9.6 -> 9.8-20240409.145119-3
      • this version is a snapshot. if you want to use enigma 2.3, you'll need to include the ow2 snapshot repository in your buildscript via adding maven { url = "https://repository.ow2.org/nexus/content/repositories/snapshots/" } to your repositories block
    • vineflower: 1.10.0-20240126.053810-85 -> 1.10.0
      • you can now remove the vineflower snapshot repository from your buildscripts!
    • quilt config: 1.2.0 -> 1.3.0
    • syntaxpain: 0.1.2 -> 0.1.5
    • cfr: 0.2.1 -> 0.2.2
    • guava: 32.0.1 -> 33.0.0
    • flatlaf: 3.2.5 -> 3.4

enigma 2.2.0

28 Jan 04:14
8258ad2
Compare
Choose a tag to compare
  • added more info to the identifier panel:
    • for inner classes, the name of their parent class is now displayed
    • for parameters, their type is now shown. this is super helpful for mapping lambdas where you can't see their type!
  • made some big changes and cleanups to the enigma server!
    • the protocol version is now 2!
    • made lots of architectural changes to streamline the code
    • greatly improved the way client approval is handled
    • added a development option to log packets
    • added a username field to the server creation dialog
    • added validation for the client's username
    • fixed lots of possible crashes (if you wanted to, it would be trivially easy to crash an enigma <2.2.0 server with a custom client)
    • added lots of new tests to make sure everything is working!
  • added a new command: print-stats
    • this command generates and prints mapping stats for on-the-go mappers who can't be bothered to crack open the swing GUI
  • added dynamic resizing for the calls tree docker's list of tokens
  • added a new shortcut constructor for LocalVariableEntry
  • added tokenization of invokedynamic arguments (this means something if you're a nerd. we promise)
  • fixed some users not seeing indentation when using the vineflower decompiler
  • updated syntaxpain to 1.1.2
    • fixes the line ruler in the code view not automatically resizing
  • updated quilt config to 1.2
  • updated vineflower to the latest 1.10.0 snapshot

enigma 2.1.0

28 Jan 04:12
e35cc47
Compare
Choose a tag to compare

new features

  • 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!

bugfixes. a lot of them

  • 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