Releases: ingokegel/jclasslib
Releases · ingokegel/jclasslib
5.5
New features
- Switched the look and feel to FlatLaf for a more modern appearance and better HiDPI support
- Added a dark mode that can be activated persistently by selecting "File->Dark mode" in the main menu
Bug fixes
- Constant pool and class member nodes in the class file structure tree were expanded when selected
5.4
New features
- Support NestHost and NestMembers attributes new in Java 11+
- IDEA plugin: Improved method for finding class files, decompiled classes and Scala classes can now be shown
- HiDPI on Windows is supported
- Windows and macOS media files are now bundled with a JRE (as of 5.4 Java 13)
- macOS DMG is now notarized
5.3.2
5.3.1
5.3
New Features
- Support for reading class files with major versions 54 and 55 (Java 10 and 11)
- Support for dynamic class file constants in Java 11
- Added a "Save all open classes" action to the menu. This is useful for extracting class files from Java 9+ JDKs.
Bug fixes
- Fixed exception when running the GUI from the IDE with Java 9
- After adding a classpath entry in the classpath browser, the browser was empty.
- When showing the classpath browser, the tree was re-scanned even if the classpath was unchanged
- Fixed Java 9 warning for illegal reflective access when debug mode is enabled
- Fixed wrong attribute length when writing ModuleTargetAttribute
- Branch instructions were marked as invalid in code attributes if switch instructions were present in between the branch instruction and the target instruction
5.2.1
5.2
New features
- The class browser now has a module path and a class path tab
- Support for CONSTANT_Module_Info and CONSTANT_Package_info structures in Java 9 class files
- Support for all new class file attributes that occur in the Java 9
module-info.class
file: ModulePackages, ModuleMainClass, ModuleTarget, ModuleHashes and ModuleResolution.
Bug fixes
- Could not use relative path names as arguments for invoking jclasslib
- Data for unknown attributes was not written
- Auto-resize in table attribute details panels was broken (regression in 5.0)
- Class path browser was not updated after changing the JRE home directory in the class path setup dialog
5.1
Major changes
- Added a plugin for IntelliJ IDEA that can be installed via the plugin manager. The action in the "View menu"
can be invoked when a Java, Groovy or Kotlin file is open in the editor.
The bytecode will be shown in the "jclasslib" tool window on the right hand side. Multiple class files can be open at the same time.
Other changes
- Added support for the SourceDebugExtension class file attribute
- When opening a class file, select the "General Information" node
Bug fixes
- Reload class file action did not work (regression in 5.0)
- LocalVariableTable attribute: "Length" column always displayed "10" (Regression in 5.0)
- System property jclasslib.io.skipAttributes did not work anymore (Regression in 5.0)
5.0
Major changes
- jclasslib's code base has been converted to the Kotlin programming language. Parts of the code base have been rewritten to better fit with Kotlin's programming paradigms. If used as a library, all classes continue to be usable from Java. However, many classes have been renamed and restructured.
- The jclasslib UI now uses draggable tabs instead of the outdated internal frames in previous versions, a window can be split horizontally, vertically or in a 4-way split
- Multiple top-level windows with separate class path configurations are now supported
- Browsing classes in the runtime library of Java 9 JREs is now supported
- Drag and drop of class files and JAR files into a jclasslib window is now supported
- Filtering for the constant pool
Other changes
- Inline links to the JVM spec in the bytecode display
- Selectable text in the bytecode display
- When reloading a class file, the current selection is always retained
Deployment changes
- Java 8 is now required to run the jclasslib UI
- Signed Windows installer and signed DMG for Mac OS X