$Id: NEWS,v 1.35 2004/07/10 15:14:40 anarxia Exp $

[0.19.1]
jclassinfo:
- No changes.

libjclass:
- Fixed a bug in the default classloader that made the find_class
  function fail.

[0.19]
jclassinfo:
- [XML] Fixed xml output.
- [XML] Changed the way implements are reported.
- [XML] Method parameters are no longer in a single attribute
  but there is an element for each one.
- [XML] Instruction operands are now using the operand element
  instead of param to avoid conflicts with the new way method
  parameters are reported.
- [WIN32] Don't print "Reading class" message because
  \r doesn't work in cmd (or I am doing something wrong).

libjclass:
- All functions that used to take classpath and bootclasspath
  as parameters were changed to use a single classpath struct.
- New function: jclass_classloader_get_classpath to return
  a new style classpath from classpath and bootclasspath strings.
- Replaced jclass_class_get_interfaces_string with
  jclass_class_get_interfaces. It is more efficient and more
  flexible.
- Create dlls for Windows and install development stuff.
- New function: jclass_descriptor_get_parameters_array to
  return parametes in a null terminated array.
- Support for manifest files.
- The default class loader now honors the Class-Path attribute
  in jar files.
- Don't report the abstract flag for interfaces in
  jclass_access_flag_to_string.

[0.18]
jclassinfo:
- Improved help message.
- Print error message when no classes are given instead of 
  displaying the help message.
- XML output (DTD included).
- Huge speed improvements when detecting recursive dependencies.

libjclass:
- Added support for custom class loaders.
- New functions: jclass_jar_* for reading jar files.
- New operand type: OP_TYPE_SHORT_FIELD_INDEX for operands that are
  indexes for fields. Previously they were returned as methods.
- New function: jclass_cp_get_entry_type to return the type
  of a constant pool entry.
 
[0.17]
jclassinfo:
- Fixed crashes when recursive dependencies could not be found.
- Free strings when removed from internal string lists.
  This fixes some memory leaks.
- Minor changes in the way tableswitch and lookupswitch are printed.

libjclass:
- Fixed a crash caused by closing file streams twice.
- Speed improvements on the zip code.
- Removed all print functions (they are now in jclassinfo).
- New functions for reading tableswitch and lookupswitch operands.

[0.16]
jclassinfo:
- Bootclasspath and classpath are searched in the correct order.
- All the options work for multiple classes.
- If more than one classes have the same name only the first one is used.
- Sub-packages are reported as well. For example java.util and 
  java.util.regex are both reported. The previous behaviour
  was to report java.util only.
- Dependencies on innerclasses are not reported.
- Recursive dependencies (VERY SLOW!).

libjclass:
- Switched documentation from doxygen to gtk-doc.
- The API has changed. Function names are more
  verbose to avoid naming conflicts.
- Many new functions.
- Use integer types from inttypes.h instead of typdefs in types.h
- A header file to include the whole library: jclass/jclass.h
- More efficient implementations for some functions.
- Private symbols are prefixed with _jclass_.

[0.15]
- The library is finally ready.
- Win32 binary is statically linked.
- HUGE changes in the backend code. Mostly renames and
  modularization of the attribute-related code.
- Removed conflicts with C++ keywords (hopefully).
- More error checking for broken files.
- Stopped using temp files when reading classes from jars.
- Lots of interface changes and minor speedups.
- New option find-class to find the file that contains a class.
- An almost complete rewrite of the disassembler.
- Several minor fixes.

[0.14]
- Fixed the detection of the wide opcode.
- Fixed a bug that could cause crashes on invalid opcodes.
- Fixed a bug on the UTF-8 to ASCII conversion code.
- Fixed some pointer alignment issues on the disassembler code
  that caused crashes and incorrect results on the sparc
  architecture (at least).
- Fixed a bug that caused incorrect printing of unused arguments
  of the invokeinterface instruction as instructions.
- Report strictfp access modifier.

[0.13]
- Added jar archives support so jclassinfo depends on zlib.
  The support can be turned off with --disable-jar if
  you don't have zlib (or don't want to bother).
- Replaced PACKAGE and VERSION with PACKAGE_* equivalents to
  reduce the size of config.h
- Simplified getopt detection and removed system specific detection.
- autoconf 2.57 is required (earlier 2.53 was required).
- Bootstrap classpath is searched and the default can be overriden
  with the new --bootclasspath option.
- Fixed a bug that affected the disassembly of 5-byte instructions
  (invokeinterface, goto_w, jsr_w).
- Stopped printing primitive types as class dependencies.
- Some internal changes to provide needed functionality for the
  jar support.

[0.12]
- Fixed a bug that caused the program to crash when class names
         where given.
- Fixed two rather big memory leaks.
- Fixed a possible crash when freeing fields without attributes.
- Stopped reporting local packages as dependencies for package
  report for multiple classes.
- disasm and method-debug-info now imply methods option.
- general-info is turned when no other information option is given.
  The previous behaviour was to turn it on when no other option
  was given (whether it was an information option or not).

[0.11]
- Remove interfaces option from help.
- Print warnings on ignored options for multiple classes.
- Fixed printing of array classes (extra ; before [])
- Don't report class arrays as separate classes for class
  dependency report.

[0.10]
- Reports on sets of classes.
  Currently only dependencies are reported and you need to
  specify each class.

[0.9]
- Initial "classloader" implementantion. No jars yet.
