Skip to content

Commit e99e7c8

Browse files
committed
add changelog for 2.7
1 parent 91d673b commit e99e7c8

File tree

1 file changed

+114
-0
lines changed

1 file changed

+114
-0
lines changed

CHANGELOG.md

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -366,3 +366,117 @@ A wealth of bugfixes brought to you by rai, iota, and friends. You'll be rich. T
366366
- fixed deobfuscation level icons not immediately updating after stat generation completes (thanks [pitheguy](https://github.com/PiTheGuy)!)
367367
- improved wording of some save dialogs (thanks [pitheguy](https://github.com/PiTheGuy)!)
368368
- improved `PackageIndex` javadoc
369+
370+
# 2.7.0
371+
372+
Featuring code from supersaiyansubtlety, pitheguy, and rai, your recently bereaved QM team has fought through their grief over Quilt Mappings to bring you this release.
373+
Blood, sweat, refactors, enhancements, tears, unit tests, bugfixes, blood, and more have gone into this release.
374+
375+
- added tooltips showing javadoc and declarations for entries ([#307](https://github.com/QuiltMC/enigma/pull/307))
376+
- contains 3 elements:
377+
- navigable links to parent classes
378+
- clicking a class will open its tooltip, control-clicking a package will navigate to and expand it in the tree
379+
- formatted javadoc
380+
- snippet of code from the declaration
381+
- tooltips are movable via dragging
382+
- tooltips can be disabled or made non-interactable via the config
383+
- reworked commands and added a new search command
384+
- added a new `search-mappings` command ([#282](https://github.com/QuiltMC/enigma/pull/282))
385+
- allows searching for mappings using regular expressions. and normal expressions. as you desire
386+
- includes extensive options for filtering by types, access, names, and more
387+
- allows sorting by name, package, and depth
388+
- added specification by name for command arguments (`parameter=value`) instead of positionally ([#280](https://github.com/QuiltMC/enigma/pull/280))
389+
- the two can be mixed as long as all positional arguments come before named args
390+
- any argument can be specified either by name or position
391+
- this is necessary for the new search command which has an unfathomable FIFTEEN possible arguments
392+
- added generation parameters as arguments to `PrintStatsCommand` ([#297](https://github.com/QuiltMC/enigma/pull/297))
393+
- fixed several bugs in existing commands (where are all these bugs coming from)
394+
- fixed `InvertMappingsCommand` using `OUTPUT_FOLDER` instead of `MAPPING_OUTPUT`, meaning it didn't support alternate formats
395+
- fixed `InvertMappingsCommand`'s arguments skipping an index
396+
- fixed `ENIGMA_PROFILE` argument not verifying it was a file
397+
- fixed `ComposeMappingsCommand` not properly declaring its optional args
398+
- fixed `DecompileCommand` using the `OUTPUT_JAR` arg instead of an output directory
399+
- fixed broken test suite on windows
400+
- refactored code surrounding commands ([#277](https://github.com/QuiltMC/enigma/pull/277))
401+
- these changes clarify that we do not currently support adding custom commands. but we might in the future... stay tuned
402+
- gave each command a private constructor with one definitive instance
403+
- sealed `Command`
404+
- eliminated `ComposedArgument`, make `Argument` a record instead of an enum
405+
- default arguments are now stored in `CommonArguments`
406+
- made `Main`'s map of commands immutable
407+
- added autosave option in the GUI ([#276](https://github.com/QuiltMC/enigma/pull/276), [#285](https://github.com/QuiltMC/enigma/pull/285), [#300](https://github.com/QuiltMC/enigma/pull/300))
408+
- this will be off by default, as it can be destructive due to the lack of ways to restore old mappings
409+
- in the future, this will be addressed via backup mappings and undo functionality
410+
- saving occurs each time a mapping is changed and will run in the background
411+
- improved API and GUI around statistics ([#255](https://github.com/QuiltMC/enigma/pull/255))
412+
- added an option for treating fallback-proposed entries as mapped for stat generation
413+
- improved performance for stat reloads via ordering work and cancelling unnecessary jobs ([#301](https://github.com/QuiltMC/enigma/pull/301))
414+
- fixed a rare CME when generating stats
415+
- configured generation parameters for stats will now control the tree icons
416+
- the stats dialogue will default to the parameters for the icons, with changes made there being transient (except for the dialog-exclusive package filter)
417+
- added a GUI toggle for disabling/enabling icons
418+
- the tree will now update in real time as settings are changed
419+
- added indexing for parameters via `EntryIndex` ([#282](https://github.com/QuiltMC/enigma/pull/282))
420+
- fixed wrong types occasionally being displayed in the editor panel
421+
- the editor panel will now show `<unknown>` for non-parameter entries in the LVT
422+
- added a search bar for the structure panel ([#266](https://github.com/QuiltMC/enigma/pull/266))
423+
- added a new keybind for opening the structure panel (`ctrl + t`)
424+
- `ctrl + shift + t` will open the panel with the search selected
425+
- cleaned up backend around menu bar ([#261](https://github.com/QuiltMC/enigma/pull/261))
426+
- now consistently updates state and retranslates everywhere
427+
- improved proguard implementation for tests ([#289](https://github.com/QuiltMC/enigma/pull/289))
428+
- improved editor tabs ([#296](https://github.com/QuiltMC/enigma/pull/296))
429+
- fixed unfocused tabs not showing the close button on hover
430+
- now focuses the editor after a tab is clicked or closed
431+
- added a tooltip to tab titles for viewing the fully qualified name
432+
- improved reliability of a few keybinds via removing possible conflicts ([#303](https://github.com/QuiltMC/enigma/pull/303))
433+
- changed default keybind for `EDITOR_SHOW_CALLS` to `ctrl + alt + c`, as the old keybind of `ctrl + c` would both copy text and show calls
434+
- improved quick find bar in the editor ([#304](https://github.com/QuiltMC/enigma/pull/304))
435+
- added configuration for the default quick find keybind (default `ctrl + f`)
436+
- added an option for allowing quick find to be persistent when the user clicks off
437+
- replaced the backend, eliminating some weirdness and making it more responsive
438+
- one weird part of the code down. 1000 to go
439+
- fixed the dialog sometimes becoming detached from the editor and appearing outside the main window
440+
- fixed the first token clicked after opening the quick find dialog immediately navigating ([#270](https://github.com/QuiltMC/enigma/pull/270))
441+
- added navigation to method calls inside lambdas and static initializers ([#308](https://github.com/QuiltMC/enigma/pull/308))
442+
- uses parsing of the source code to obtain tokens for these calls, which can then be navigated via the editor
443+
- this is yet another small change that vastly improves how reliable the GUI feels
444+
- improved indexing for libraries ([#306](https://github.com/QuiltMC/enigma/pull/306))
445+
- exposed a combined index for libraries and main jar entries
446+
- disabled renaming entries that are declared in libs
447+
- fixed issues related to enigma not understanding that all classes inherit from `Object`, such as the ability to map a `String` method with no args as `toString` without the conflict detector noticing
448+
- not all the JDK is indexed yet, as we encountered issues with ASM's analysis
449+
- added error handling for plugins ([#330](https://github.com/QuiltMC/enigma/pull/330))
450+
- plugins are now required to implement a `supportsEnigmaVersion` method to define which versions they're compatible with
451+
- we recommend matching major and minor, allowing any patch, since breaking API changes can and will be made in minor versions (like this one!)
452+
- we're thinking of calling this innovative release scheme 'raiver'. let us know why this is a great idea in the discord
453+
- `AbstractMethodError`s due to the unimplemented method will be caught and reported with an error message
454+
- updated organisation of config files
455+
- added new file, `editor.toml`
456+
- moved `enableClassTreeStatIcons` to `main#stats`
457+
- your config will not automatically be migrated, make sure to update if you're using this option!
458+
- removed `main#features`
459+
- updated the navigator and fixed some issues ([#269](https://github.com/QuiltMC/enigma/pull/269), [#305](https://github.com/QuiltMC/enigma/pull/305))
460+
- navigation is now relevant to the cursor instead of an invisibly stored position
461+
- fixed the panel's count not updating properly when reloading mappings
462+
- fixed entries sometimes becoming improperly ordered when their types changed
463+
- fixed zero padding on label not always matching between index and total (`03/3` -> `03/03`)
464+
- fixed entry navigator keybinds not always triggering ([#275](https://github.com/QuiltMC/enigma/pull/275))
465+
- enigma 2.7: the keybind reliability update
466+
- fixed classes being renamable via the context menu when `CLASS` is not configured as an editable type ([#299](https://github.com/QuiltMC/enigma/pull/299))
467+
- fixed translations for mapping formats
468+
- updated dependencies ([#334](https://github.com/QuiltMC/enigma/pull/334))
469+
- shadow: `8.1.1` -> `9.2.2`
470+
- guava: `33.2.1` -> `33.5.0`
471+
- gson: `2.10.1` -> `2.13.2`
472+
- asm: `9.7.1` -> `9.9`
473+
- tinylog: `2.6.2` -> `2.7.0` (omg they're just like us fr)
474+
- vineflower: `1.11.0` -> `1.11.2`
475+
- junit: `5.10.3` -> `6.0.1`
476+
- jimfs: `1.3.0` -> `1.3.1`
477+
- gradle: `8.7` -> `9.2.0`
478+
- syntaxpain: `0.1.5` -> `0.2.0`
479+
- new: `jspecify`: `1.0.0`
480+
- all nullability annotations have been moved away from `javax` to use jspecify
481+
- new: `javaparser`: `3.27.0`
482+
- required for supporting navigation to lambdas and static init

0 commit comments

Comments
 (0)