Releases: ingokegel/jclasslib
Releases · ingokegel/jclasslib
7.1
New features
- Added "Find Subclasses" on class nodes (#85)
- Added "Find Implementing Classes" on interface nodes (#85)
- Added "Find Annotated Elements" on annotation classes, plus a general
"Search" action on the general info pane and on interface nodes (#85)
- Class file scanning for "Find usages" is significantly faster. UTF-8
constant pool entries are now decoded lazily, and attribute skipping can
be enabled per read via the newClassFileReadModeonDataInput
(previously only controllable through a global system property) - Classpath tree scanning is noticeably faster on large class hierarchies
- The Windows installer has been streamlined: additional locales, a
persistent language selection, and a simpler installation flow - Support for reading Java 26 class files
Bug fixes
- Obfuscated JARs where class entries are disguised as directories can now
be opened (#75) addConstantPoolEntrydid not add placeholder slots forlongand
doubleconstants (#79)- Hash codes of constant pool entries did not depend on the constant type
- The class file version constant for Java 26 was incorrect
- Dragging the same JAR file onto the browser a second time left the class
file browser empty
7.0
New features
- jclasslib now has a modern look with new icons and a new logo
- Added "Find usages" buttons to all constant pool entries
- Added "Find usages" buttons to all field and method entries
- Added a filter text field to the classpath chooser dialog.
- The filter text field on the constant pool and class member detail pane was modernized and now includes a match mode drop-down.
- Added locales for Japanese and Korean
- Support for reading and writing Java 25 classes
Bug fixes
- "Show method" and "Show field" actions did not work if the method was implemented in a superclass of the referenced class
- When opening a class file via the file association while jclasslib was not open, two windows were opened, with the empty window on top
- Link colors in multi-line labels were not updated when light/dark mode was changed
6.1
6.0.5
6.0.4
6.0.3
New features
- Improved display of record attributes by displaying each record entry as a single node with nested attribute nodes
- Support reading class files compiled by Java 18
- Added a placeholder panel with instructions in the IDEA tool window
Bug fixes
- Menu items with and without icons were not aligned on macOS
- PermittedSubclassesAttribute and RecordAttribute were saved incorrectly and corrupted the class file
- For Java 9+, the tree of JRE classes always showed the classes of the currently used JRE
6.0.1
6.0
New features
- Editing functionality for constant pool, attributes and bytecode
You can edit constant pool entries:

Attribute values, like access flags:

Bytecode instructions can be edited from the context menu:

The opcode itself can be replaced with another compatible opcode:

The immediate values of instructions can be edited:

- Attach mode: Connect to any locally running JVM and view and edit its loaded classes
- By setting -Djclasslib.locale=en (or another supported locale), the displayed language can be changed regardless of the default locale. In this way, the language can be overridden in the IDEA plugin
- Links to JVM spec now show the document for Java 16 instead of Java 8
Bug fixes
- Explicit language selection was broken in 5.8
- UI fixes and improvements
- Fixed error when writing the NestMembers attribute
5.8
5.7
New features
- Value labels and hyperlinks can be focused and text in value labels can be selected
- Support the Record class file attribute new in Java 14
- Support the PermittedSubclasses class file attribute new in Java 15
Bug fixes
- Installer was not localized in Simplified Chinese
- Checkbox and radio button menu items did not have the correct icon in the selected state






