Skip to content

Releases: ingokegel/jclasslib

5.5

26 Jan 11:31
Compare
Choose a tag to compare
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

Dark mode

Bug fixes

  • Constant pool and class member nodes in the class file structure tree were expanded when selected

5.4

24 Sep 20:23
Compare
Choose a tag to compare
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

03 Jun 13:53
Compare
Choose a tag to compare

New features

  • Added the ability to read truncated class files
  • Support class file version numbers for JDK 12 and 13

5.3.1

27 Dec 14:40
Compare
Choose a tag to compare

Bug fixes

  • Table row heights were too small in the IDEA plugin

5.3

18 Jun 10:00
Compare
Choose a tag to compare
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

02 Nov 15:37
Compare
Choose a tag to compare

Bug fixes

Support running with Java 9 on macOS

5.2

10 Jul 13:30
Compare
Choose a tag to compare
5.2

New features

  • The class browser now has a module path and a class path tab

module path

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

module-info.class

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

04 Feb 14:20
Compare
Choose a tag to compare
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.

IntelliJ IDEA action

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.

IntelliJ IDEA window

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

13 Jun 14:48
Compare
Choose a tag to compare
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

constant pool filters

  • 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

constant pool filters

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

4.3.1

10 Jan 10:02
Compare
Choose a tag to compare

Bug fixes

Regression: NOP opcodes broke the bytecode display