Release Notes for Condensity(tm) Version 1.0
--------------------------------------------

WHAT IS CONDENSITY?
===================

Condensity is a development tool which "condenses" and packages Java
applications, applets, and libraries.  Condensity is meant to be used
at the end of the development cycle of a Java application when the 
application is about to be deployed.  Condensity performs four key functions:

* Condensity removes unused classes, methods, and variables
* Condensity "obfuscates" classes, methods, and variables, rendering them
  unreadable and at the same time vastly reducing their size
* Condensity makes all methods which are not overridden an a subclass final,
  which allows code to be run faster
* Condensity packages the resulting class files in a variety of common
  formats simultaneously

The primary benefits of Condensity are a considerable reduction in the
size of class files and obfuscation of class files which renders them
incomprensible to anyone attempting to reverse-engineer them.

Condensity is released under a commercial Software License; please see the 
LICENSE.TXT file for details.  You are bound by this license agreement when
you use Condensity so you should be familiar with the terms listed therein.

INSTALLING CONDENSITY
=====================

The installation of Condensity is platform dependent.

For Microsoft Windows platforms (Windows 95/98/NT):

    Download the Windows installation and run the condensity-setup.exe
    installer.

For Unix and Unix-like platforms:

    Download the Unix gzipped tar file.  Un-gzip the file and untar it.
    Change directory to the "Condensity-1.0" directory and run the
    install.sh installer.

The Macintosh platform is not officially supported.  However, it is
possible to download, install, and use Condensity on the Macintosh.  To
do so:

   Download the Unix version of the product.  You will receive a gzipped
   tar file, which any modern Macintosh archiving utility should be able
   to unarchive.  This will result in a folder called "Condensity-1.0".
   Additionally download the following file:

   http://www.condensity.com/support/files/condensity-1.0.sit

   This is a StuffIt archive which you should place in the Condensity-1.0
   folder, then double-click to unstuff.  This will produce a Condensity
   icon which you can double-click to run Condensity.

   Note that MRJ Version 2.0 and above are required to run Condensity on
   the Macintosh.

If you wish to run Condensity in an unsupported environment not mentioned
here, the salient points to keep in mind are these:

   * Your classpath MUST include classes.zip or rt.jar from your Java
     runtime environment
   * Your classpath MUST include afc11.zip and condensity.zip from the
     Condensity distribution.  The easiest way to obtain these is to do
     a Unix download.
   * The class to run is called simply Condensity.

An example of manually running Condensity with Sun's JRE under Unix is:

jre -classpath /path/to/classes.zip:/path/to/afc11.zip:/path/to/condensity.zip Condensity

The key file for registered versions of Condensity (condensity.key) must be
located either in the current directory, or be specified via the -k option,
as in:

jre (-classpath ...) Condensity -k /path/to/condensity.key

TRIAL VERSIONS
==============

Trial versions of Condensity may be downloaded and used indefinitely.  Trial
versions of Condensity are identical to registered versions with one caveat:
a trial version of Condensity will produce class files which "expire" 5
days after being created.  The expiration method restricts these class
files from working after this 5 day period has elapsed.

It is important to note that the Condensity program itself does not expire;
a trial version of Condensity can be run indefinitely.  It is the class files
which are output by an unregistered version of Condensity which expire after
5 days.

Some special versions of Condensity do expire (beta test versions and
special evaluation versions generally not released to the public); these
versions are fully licensed versions until their expiration date is
reached, at which point they revert to unregistered versions.

REGISTERING CONDENSITY
======================

A registration key for Condensity may be purchased by visiting the
Condensity web site at http://www.condensity.com/download.html. A
Condensity registration key purchased in this way never expires.

COMMERCIAL SUPPORT
==================

Support for Condensity is provided electronically via Plumb Design's web
site and email support service.  Support may be obtained at:

http://www.condensity.com/support/index.html

Any issue not addressed on this site should be emailed to:

problems@condensity.com

The following platforms are officially supported:

Operating System	    JVM
----------------	    ---	
Unix and Windows 95/98/NT   Sun JDK 1.1 and up
Windows 95/98/NT	    IE 4.0 and up

Condensing Java class files is a computationally intensive process and 
therefore a computer with 64 MB of RAM and computing power equivalent to a
Pentium 166 are considered requirements for running Condensity.  128 MB of
RAM and computing power equivalent to a Pentium II 233 are recommended.

KNOWN ISSUES
============

At the time of release, the following issues with Condensity 1.0 were known:

* Condensity will fail in many subtle and sometimes non-obvious ways if
  classes.zip is not in the CLASSPATH when Condensity is run.

* At times the cursor may be stuck in a left-right arrow rather than the
  normal pointer arrow.  This does not affect the operation of Condensity
  in any way.

* On certain Windows VM's, a class tree panel will not show any contents
  until the scroll bar is moved.

CHANGELOG
=========

Version 1.0.6
-------------

* Added option for specifying default package name, so that classes do not
  end up packageless but instead end up in a package with a name that the
  user chooses
* Added option to allow user to specify that extra files should be put in
  this user-named default package as well
* Changed the way input obfuscation maps are read - instead of being read in
  when they are specified in the Advanced Options Dialog, they are now read
  in at the beginning of Obfuscation, each time Obfuscation is performed.
  This means that multiple projects which share map files will work properly.
* Fixed a bug in input map file reading which was causing maps of method
  names to be completely ignored.

Version 1.0.5
-------------

* Fixed a bug which would not allow map files to be used as input map files
  to another project
* Added better error handling for a case when there are problems reading
  extra files out of a zip file
* CondensityCmd was not including all warning and info output in the log
  file.  This was fixed.
* Fixed a bug with Obfuscation Maps which used incorrect class names (some
  were prepended with a space).

Version 1.0.4
-------------

* Added CondensityCmd command-line interface to Condensity
* Fixed a bug which, under some Windows VM's, caused very long
  class trees to not be visible.
* Fixed a bug which caused unregistered Condensity to use huge
  amounts of memory during the Read process.  Note that this
  bug only affected unregistered versions of Condensity.
* Added version number printout to the Condensity splash screen
  and About window; added -v option to Condensity (also present
  in CondensityCmd) which causes Condensity to just print out
  its version number and exit.

Version 1.0.3
-------------

* First Public Release

FOR MORE INFORMATION
====================

For the most complete and up-to-date information about Condensity, visit
the Condensity web site at:

http://www.condensity.com
