Differences between version 1.5.8 and version 1.5.7

  1. Ver. 1.5.8g: fixed some instances of 'Couldn't resolve all exception handlers' for 48+ class files and one crashing bug. Switched to STL & VS2005.
  2. Ver. 1.5.8f: fixed one crashing bug.
  3. Ver. 1.5.8e: few random bug fixes.
  4. Ver. 1.5.8d: (mostly JBuilder-specific) bug fixes. Jad now disambiguates fields with the same name but different types. The command-line option -nofd restores the previous behavior.
  5. Ver. 1.5.8c: bug fixes.
  6. Ver. 1.5.8b: added support for the "deprecated" attribute, bug fixes.
  7. Ver. 1.5.8a: fixed a minor problem with certain command-line arguments (-t).
  8. Ver. 1.5.8: works with classes produced by JDK 1.3, lots of bug fixes, new command-line options:
    -lradix num - display long integers using the specified radix (8,10, or 16)
    -noclass    - do not convert .class operators
    -radix num  - display integers using the specified radix (8, 10, or 16)
    -safe       - generate additional casts to disambiguate methods/fields

Differences between version 1.5.7 and version 1.5.6

  1. Ver 1.5.7g: several minor bug fixes.
  2. Ver 1.5.7f: bug fixes.
  3. Ver 1.5.7e: bug fixes, new command-line option -lnc - show original line numbers as comments.
  4. Ver 1.5.7d: bug fixes.
  5. Ver 1.5.7c: bug fixes.
  6. Ver 1.5.7b: the version for Rhapsody.
  7. Ver 1.5.7a: bug fixes, new command-line option -space, Linux version compiled on RedHat 6.0
  8. New command-line options:
    -nonlb   - don't insert a new line before opening brace (Java style)
    -noconv  - don't convert identifiers
    -clear   - clear all prefixes (subset of -noconv)
  9. New environment variable JAD_OPTIONS. It contains the command-line options to be set by default.
  10. Bug fixes

Differences between version 1.5.6 and version 1.5.5

  1. Ver 1.5.6g: bug fixes
  2. Ver 1.5.6f: further improvements, some rarely used options were renamed
  3. Ver 1.5.6e: better handling of inlined functions, works with methods > 64K, Linux version compiled on RedHat 5.2, bug fixes
  4. Ver 1.5.6d: compatibility changes for JDK 1.2
  5. Ver 1.5.6c: bug fixes + version for Solaris 7.0 (Intel)
  6. Ver 1.5.6b: bug fixes
  7. Bug fixes

Differences between version 1.5.5 and version 1.5.4

  1. Ver. bug fixes
  2. Ver. bug fixes
  3. Ver. bug fixed: incorrect ordering of 'fall through' cases in switch.
  4. Bug fixes and corrections (mostly JBuilder-specific)

Differences between version 1.5.4 and version 1.5.3

  1. Ver. compiled for FreeBSD 2.2.5
  2. Ver. some improvements and bug fixes. New option -8 (8-bit strings)
  3. Ver. some improvements. New option -nodos
  4. Ver. bug fixed: a+(b+c) was decompiled as a+b+c
  5. Ported to Solaris 2.5

Differences between version 1.5.3 and version 1.5.2

  1. Ver. several bugs and inconsistencies have been fixed. New option -af
  2. Ver. bug fixed: crash while decompiling some inner classes
  3. Ver. bug fixed: expressions like i = (i += 5) * 5 sometimes were decompiled as i *= 5
  4. Bug fixes
  5. New command-line options: -nocode and -ff (Fields First). See Readme.txt for more info

Differences between version 1.5.2 and version 1.5.1

  1. Fixed a bug (missing parenthesis around an array expression in certain contexts)
  2. Ported to AIX
  3. Cross-compiled for OS/2

Differences between version 1.5.1 and version 1.5

  1. Bug fixes and other enhancements

Differences between version 1.5 and version 1.4.2

  1. Support for inner classes
  2. Several new command-line options. See Readme.txt

Differences between version 1.4.2 and version 1.4.1

  1. Fixed a bug which occasionally results in the output of inverted conditions in conditional operators (26/1/98)
  2. Other enhancements

Differences between version 1.4.1 and version 1.4

  1. Fixed misprinting of Long constants introduced in 1.4
  2. Speed improvements

Differences between version 1.4 and version 1.3

  1. Better decompilation of SWITCH statements inside while(true) loops.
  2. JDK 1.1-related changes (blank finals, new T { } construct)
  3. Implemented '**' wildcard for input file names which allows a decompilation of whole tree of classes

Differences between version 1.3 and version 1.2

  1. Version 1.3 - initial public release

Differences between version 1.2 and version 1.1

  1. Ported to Linux.