---------------
5.  WHAT's NEW
---------------
A list of changes in recent versions:

0.8.3c: (19-Jun-2003)
        * BugFix: The Area class is not able to clip lines, any attemp results
          in an empty area. Clipping for lines is now disabled, if the output
          target does not support clipping, the results may look weird if the
          shape exceeds the element bounds.

        * BugFix: The RTF writer does no longer support images. Using images
          seems to cause a memory leak, so this function is disabled until a
          fix is found.

        * BugFix: The ExportDialogs now disables all plugins during the repagination.
          PageSetup works again.

        * BugFix: The demos now report all errors in a proper way.

        * BugFix: The AbstractBandLayoutManager is now able to handle null content
          without crashes.

        * BugFix: The StyleSheet collection now clones all substylesheets correctly
          and gets updated when stylesheets are added or removed from already
          registered stylesheets.

        * The RTF target now supports all fonts by using the PDF base font support
          classes.

        * The StyleSheet collection is available from all Bands and Elements, as
          soon as the element is connected with the report. Independent elements
          have no stylesheet collection.

        * A new PreviewApplet was created to enable the direct preview of
          Reports within a webpage. The OpenSourceDemoApplet demonstrates the
          new component.

0.8.3b:  (16-Jun-2003)
        * BugFix: StyleSheets were not deeply cloned, so inherited stylesheets
          were shared among all reports. This is fixed now.

          Stylesheets can now be accessed directly using StyleSheetCollection,
          which is maintained by the report definition object.

        * BugFix: Printing in the PreviewFrame was no plugin and could not be
          disabled.

        * BugFix: On MacOS X the font path was not detected properly. MacOS
          does not use the standard unix font path.

        * BugFix: Menu accelerators were not defined in a platform independent way.
          Systems without an CTRL key (like MacOS) were not able to use the
          shortcuts).

        * BugFix: Empty pages were not detected correctly, causing empty pages
          to be printed at the end of the report under some circumstances.

          The group footers pagebreak-after-print now works as expected.

        * BugFix: Not all errors which may have occured during the function
          processing were detected or even printed in the log.

        * BugFix: The PlainTextOutputTarget computed wrong page sizes, which
          caused errors when elements were printed at the bottom or the right
          border of a page.

        * BugFix: The TextContent removed leading whitespaces from the text.

        * BugFix: The HTML-TableProcessor did not encode the generated content
          properly. The content was completly invalid and did not conform to any
          standard. The same bug was hidden in the ReportWriter.

          Both classes are working now as expected.

          Warning: UTF-16 encoded content is not readable by Mozilla or IE, both
          browsers are not able to handle standard conforming UTF-16 correctly.

        * BugFix: The report writer is now able to handle inherited stylesheets
          correctly.

        * BugFix: Null values in the element content do no longer cause the layouting
          to fail. NullContent and empty content are handled correctly now.

        * An EmptyReportException is now thrown when the report generation produced
          no pages for the report.

        * The StyleSheet interface is removed now, it was not used.

        * The reference document generator now also generates documentation for the
          DataSource factories.

        * The XML parser now prints the location of the parse error on all exceptions.l 

0.8.3a : (04-Jun-2003)
        * BugFix: Serialization works again. All functions are serializable
          now.
        
        * BugFix: The report writer handles subclasses correctly
        
        * BugFix: The parser's extended report definition is working again.
        
        * BugFix: Unclean definitions in the ReportState, Band, Element and
          DataRow classes.
          
        * BugFix: The excel and PDF target work again.
        
        * BugFix: Unclean definition in Group and GroupList methods removed.
          Groups can no longer be composed in an invalid way.

        * BugFix: ReportWriter was unclean and did not handle complex stylesheet
          definitions.

        * BugFix: The parser/writer object factories did not handle inherited objects
          correctly in some cases.

        * BugFix: Generating URLs in the ReportParser was unclean.

        * BugFix: ItemColumnQuotientFunction did not implement the function interface
          causing classcast exceptions when used as function.

        * We got a new Swedish translation. All fame goes to Thomas Dilts.

0.8.3    : (26-May-2003)
        * BugFix: The report states where unclean when a pagebreak was issued,
          causing the printing and several computation functions to fail or to
          return invalid values.

          The event oder was redefined to resolve that issue. Please read
          "migration.txt" for details on the new event order.

        * BugFix: URL handling was buggy, the base URL was never set in the
          templates.

        * BugFix: NewLine characters were not handled correctly in the last
          version. After the linebreak was done, an undisplayable newline character
          remained in the text-line instances.

        * BugFix: The repeating group header feature now repeats all marked group
          headers, and not just the last one.

        * BugFix: Wordbreaking was buggy.
        
        * Most of the parser code moved into JCommon. We are using JCommon version
          0.8.1; all classes of JCommon moved into the package tree under
          org.jfree.*

        * Upgraded to pixie-0.8.0. All pixie classes moved into the package tree
          under org.jfree.*

        * DTD bugs fixed.

        * Modified the BuggyFontRenderer messages as these messages seemed to
          cause confusion.

        * All table output targets (CSV, HTML, Excel, RTF) have now a generic
          configuration interface; the targets can be configured using the
          ReportConfiguration.

        * Drawable elements are officially supported now. There are no
          drawable implementations yet (except JFreeChart :)), more support
          is included in later versions ...

        * ItemColumnQuotientFunction changed into ItemColumnQuotientExpression.

        * New Translations: Slovenian, Russian, Hungarian and Dutch. Adjusted
          the mnemonics of some translations to fit the displayed text.

        * The Excel export now uses the extended data cell style capabilities
          of POI 1.10. Numeric and Date/Time cells are no longer formatted as
          texts, the cells contain numeric values so that you can use them in
          formulas. In case this causes trouble, the cell format strings can
          be redefined or this feature can be completly disabled. Please see
          migration.txt for details.

        * The licence now has an exception for using function and expression
          implementations in non-free programms.

        * Due to several iText improvements, the PDF target is now able to use
          transparent PNG pictures and iText is now able to use all GIF files.

        * The extended XML-Parser and the writer are now able to write and
          parse generic shapes.

        * The report converter GUI now displays exceptions to the user.

r0.8.2    : (12-Apr-2003):
        * Important: There were fixes in the shape handling and the order of the
          function events, please read the file migration.txt for detailed
          information about API changes of this release.

        * BugFix: Layouting was broken for band in band stacking and complex layouts.

        * BugFix: SimplePageLayouter layouting was broken.

        * BugFix: The event handling and pagebreaking within the SimplePageLayouter
          was unclean and under some circumstances the row of a last page which
          triggered a pagebreak could got lost.

          The event handling is now in a better defined state: It is guaranteed, that
          page-start events are invoked before any other report event for the page.
          When starting a new report, the page-start event will be the first event that
          is received. When the itemAdvanced event is triggered all previous bands are
          printed completly and no other event is issued between the itemAdvanced and
          the print event (unless the printing would trigger a new pagebreak).

        * BugFix: Images were not printed correctly, when an image was not loaded
          completly using an ImageObserver. The return value of Graphics2D.drawImage
          is now used to determine whether the image must be loaded and reprinted.
          If the image was not yet loaded, the printing process waits until the image
          is completly loaded by the AWT.

        * BugFix: When no content was generated for given bounds, the resulting null
          content was not checked and caused NullPointerExceptions.

        * BugFix: The PlainTextDialog had no CloseListener, so an attemp to close the
          window had no effect.

        * BugFix: TextLayout was buggy, if the minimum size was greater than the
          element's maximum size.

        * BugFix: The template writer was buggy.

        * BugFix: Extended report definition parser had a bug in the handling of
          the extends-tag of stylesheets.

        * BugFix: Several MemoryLeaks have been fixed. The leaks were non-fatal for
          smaller reports but killed report with more than 300 pages. The reference
          to the JFreeReport object within the ReportStates was replaced by a smallscale
          ReportDefinition object.

          The report definition object is readonly and limits access to the bands and
          group definitions and the report configuration. The function/expression
          collections and the tablemodel are no longer directly available within the
          report definition and can only be accessed indirectly by using the DataRow.

        * BugFix: The excel export generated too many CellStyle-definitions. The generated
          excel file could not be read if more than 4000 CellStyles were generated. The
          fixed implementation fixes the caching of previously generated styles.
          The 4000 CellStyles limitation is a hard limit imposed by MS Excel.

        * "shape-element" added for the simple report definition format. The shape
          element can be used to draw shapes retrieved from the dataRow.

        * ShapeFieldTemplate added to create a easy to use "shape-element" for the
          extended report definition profile.

        * The report processing performance is heavily increased.

        * LineShapes were now created correctly when using the ItemFactory.

        * We have an complete french translation of the core libraries now. Thanks
          mimil :)

        * Bands now bind their own BandLayoutManagers.

        * New demo: The card demo has been added to show a complexer use and the power
          of the extended report definition format. The demo uses templates and
          stylesheets to coordinate the appearance of several fields.

          The demo can be found in the package com.jrefinery.report.demo.cards

        * New demo: The PercentageDemo shows the use of NumberFields and the format
          decimal format string of the number field.

        * A new ElementColorFunction defines the color of an element depending on
          a boolean expression.

        * JFreeReport now uses iText 0.98. This iText version is incompatible with
          the previously used iText version 0.96.

        * The available encodings for the various export dialogs can now be defined
          using a properties file. The properties file is referenced in the report
          configuration in the Key "com.jrefinery.report.encodings.available" and
          the key "com.jrefinery.report.encodings.file". The available key
          can be set to "all", "none" or "file".

          A sample encodings property file can be found in the file
          "/com/jrefinery/report/jfreereport-encodings.properties". Disabling
          unnessary encodings will speed up the initial loading of the preview dialogs.

0.8.1_02 : (09-Mar-2003):
        * BugFix: Shape handling was invalid. All Shapes were painted at position
          (0,0) within the element, regardless what was defined for the shape.

        * BugFix: The ReportWriters validity checks were buggy and caused exceptions
          when writting Object-Descriptions.

0.8.1_01 : (04-Mar-2003):
        * BugFix: The PlainTextOutputDialog was not modal and caused trouble.

        * BugFix: Adding element to a band, which already contains that element
          caused IndexOutofBoundsExceptions.

        * BugFix: The extended parser had a bug in the band handler, so that
          elements got added twice.

        * Added stricter error handling to the report processing. This can be
          activated by setting the com.jrefinery.report.StrictErrorHandling
          property to true. If activated, all exceptions that occur during the
          report processing cause the report generation to fail.

        * Removed the "/jfreereport.properties not found" debug message. It caused
          confusion without supplying anything valuable.

        * Updated the HTML OutputTarget so that the default Page text is printed
          properly and Author and Title work as expected. The Html dialog is now
          more resistent against invalid or unexpected inputs.

        * Updated the README file, so that the layout restrictions are mentioned.
          Thanks for the idea, JM Delsaux.

0.8.1 : (28-Feb-2003):
        * BugFix: Corrected many bugs in the SimplePageLayouter.

        * BugFix: empty ReportProperties were not marked correctly.

        * BugFix: TextLine layout was inaccurate, used java.awt.Dimension instead
          of Dimension2D.

        * BugFix: Band containing other bands were not laid out correctly.

        * BugFix: PreviewPane was unusable when used directly. The report was not
          repaginated automaticly and there was no way to trigger the repagination.

        * BugFix: Generated PNG files in the PDFOutputTarget no longer use the
          Alpha-Channel as iText doesn't seem to like it.

        * BugFix: The generated PDF files did not work with GhostScript.

        * BugFix: The ReportFooter handling was unclean and caused trouble.

        * BugFix: The PageBreak was not handled correctly, so that sometimes bands
          got lost after a pagebreak was done.

        * BugFix: Corrected layouting calculations; using double values seem to cause
          incorrect calculations. Switched to float values everywhere.

        * BugFix: BandLayoutManager illegaly modified the values from the
          ElementStyleSheet. This caused invalid states when a band was hidden and restored.

        * BugFix: The PDFOutputTarget did not handle state restoration correctly when a
          new page was started.

        * Refactoring: All tablemodel related classes moved into a spearate package.
          The package is expected to grow heavily during the next releases.

        * Refactoring: The iText font support moved into a separate package. The
          PDFFontFactory is now known as BaseFontFactory.

        * Refactoring: The BandLayout stuff moved into a separate package as these
          classes are used by allmost all output targets.

        * Info: The First demo has been renamed to SwingIconsDemo.

        * Added a main method in the JFreeReport info, so that everybody is able to
          read the library specifications without having to install or start the
          demo package.

        * The order of fields in the group definition does no longer matter. Anyway,
          all fields of the parent group must also be defined in the child group.

        * Added a new event type: The LayoutEvent can be used to adjust INTERNAL values
          after the layouting is completed. Do not use this event to modify the layout,
          this can have funny results, but won't produce what you may expect.

        * Added separate thread for the repagination process and the printing. The
          PageableOutputTarget now check the Thread-state for interrupt events. If
          the current thread gets interrupted, the report processing or repagination
          is canceled.

        * Added resource compare tool lists differences between the base
          resource class and the localized resources to help with the translation
          process.

        * Added a line height property for text elements. This property can be used
          to increase the space between 2 lines.

        * Bands now handle the object composition correctly and check for component
          loops.

        * The ANT script can be used to checkout the latest sources from the anonymous
          CVS repository on sourceforge.

        * Added a generic DummyImplementation for the output targets. This should help
          to reduce the repagination time.

        * We now have a polish translation. Thanks Pjotr (pbzdyl).

        * Font encoding and embedding can now defined separatly for all text elements.

        * The ABSOLUTE_DIM stylekey was removed. This is now handled by specifying
          a minimum size (and a maximum size if needed).

        * Added dynamic element support for all content types. Image and shape elements
          can be defined as dynamic elements to have their sizes adjusted according to
          the contained content.

        * New element template types: ResourceLabel and ResourceField use a string from
          the data source to lookup a value in an assigned ResourceBundle.

        * Added support for Scaling for Shape and Image elements. Scaling can be
          configured to keep the original aspect ratio.

        * The XML parser now uses local copies of the DTD to validate the document,
          if an document type is specified in the XML definitions.

        * Added support for Underlined and StrikeThrough font style.

        * Several new report functions added by Heiko Evermann.

        * A PaintComponentFunction can be used to create Images from AWT-Components.

        * Added PaintComponentFunction to create images from AWT or Swing components.
          The generated images can be used in ImageElements.

        * Added a new Demo: OpenSourceDemo2.java

        * The maximum band height is now limited by the page height. A band will never
          grow over the available page size when using dynamic elements. To make a band
          greater than the available page height, the user has to force it by defining
          such an invalid minimum band size. This fix reduces the accidentaly generated
          "Report-Does-Not-Proceed" Exceptions.

        * Added a new Demo: LGPLDemo.java shows the automatic height limitation for oversized
          "dynamic" elements.

        * Heiko Evermann wrote an Excel-OutputTarget, which provided the base implementation
          for several table style output targets:

          Added several new OutputTargets:

          - Simple XML Output
              an educational output target to have a simple output target
          - CSV Data-Output
              to write the raw data from the DataRow into a CSV file
          - CSV TableLayout Output
              writes layouted bands and elements into a CSV file.
          - Excel Output
              writes Excel files using the Apache POI library.
          - HTML Output
              writes HTML4 and XHTML content.
          - RTF Output
              generates simple RTF documents
              (implementation limited to standard fonts)
          - PlainTextOutput
              generates text files

        * Added a new XML-parser to support extended report definitions.
          Also implemented a writer to create XML-Definitions from JFreeReport objects.
          The new parser can be used transparent replacement of the old implementation,
          without any special treatment of the client application. The report definition
          type is detected during the parsing process.

        * Added a report converter to convert reports from the simple profile into
          the extensible report definition format.
          (com.jrefinery.report.io.ext.writer.ReportConverterGUI)

        * Added a ReferenceDoc generator for the extensible report definition format:
          (com.jrefinery.report.io.ext.ReferenceDocGenerator)

        * Added support for templates to simplify the usage of DataSources and DataFilters.

        * Redesigned the PreviewDialogs: All dialog implementations now share a common
          backend. All Export-Targets are included using a PlugIn-Strucure and can
          be activated and deactivated separatly using the ReportConfiguration.

        * BugFix: Cloning was insufficient to separate functions and expression from their
          anchestors. Added the method getInstance() to enforce a strict separation of
          the original expression instance and the generated copy.

        * Added a second properties file ("/jfreereport.properties") which overlays the
          main property file "com/jrefinery/report/jfreereport.properties". Use this file
          to create a global configuration without having to repack the jfreereport.jar file.

        * The FileEncodings are now selectable from the PDF- and HTML dialogs.

        * Patrice Rolland contributed a french translation

0.8.0-3 : (07-Jan-2003):
        * BugFix: Fixed the ReportStateList. Element were added at the wrong position, causing
          NullPointerExceptions. Also fixed the dynamic element, if the element contained too much
          data which would not fit on a single page, the report generation failed. Now the data
          is cut down to the size of a single page. The LGPL-Demo shows the new behaviour.

0.8.0-2 : (19-Dec-2002):
        * BugFix: fix for a ReportFooter bug in the layoutmanagement. Printing the ReportFooter on
          its own page caused the report generation to fail.

0.8.0-1 : (16-Dec-2002):
        * BugFix: fix for a PageHeader bug in the layoutmanagement. The bug
          caused the pageheader to drive crazy and print strange values in the elements.

0.8.0 : (13-Dec-2002):
        * Many, many ... (repeat it several times: many) ... many lines of JavaDoc documentation.

        * Added a new Demo: StraightToPDF.java: Demo for saving PDF directly - no preview

        * Added a new Demo: HelloWorld.java: New (simple) demo.

        * Added a new Demo: OpenSourceProjects.java

        * BugFix: FontRendering is not correct when not using AntiAliasing on some JDKs.
          A configuration setting exists to switch to an alterate font size calculation

        * BugFix: PDFFontFactory did not prevent iText from caching the created fonts -> OutOfMemoryException

        * BugFix: PDFDocument metadata was never added to the document (Author and Title)

        * BugFix: original LineBreaking was buggy and got fixed by Aleksandr Gekht

        * BugFix: DefaultTableModel creation was buggy, ReportGenerator had a NullPointer
          on parseReport(File). Thanks to Robert Fuller for the report and the fix.

        * FunctionLeveling: functions can be executed in a controled order. Functions of the same
          depencylevel are considered independent, functions with a higher level depended.

        * Dynamic TextElements are now fully supported.

        * A full featured configuration interface with support for external property file
          and system-properties added. Reports can supply local configuration settings
          (as PDFEncoding or advanced PDF-Settings (security, author, title)

        * ReportProperties can be defined in the report definition. <property-ref> tag
          is used to mark and possibly define the property. Marked properties are treated
          as DataRow-columns and can be queried as every other function or tablemodel column.

        * PageCounting can now be customized. Start-page can be set, page counting is now
          a Function.

        * Preview frame can have a maximum-size and a preferred-size defined. The maximum
          size is enforced.

        * Logging now uses Object-parameters instead of strings for performance reasons.

        * A PreviewDialog was added, as frames are not accessible from within modal
          dialogs.

        * PreviewDialog/Frame menus changed to allow the selection of Zoom-levels by
          using the JMenu.

        * Some possible memory leaks have been resolved. Most leaks occur in certain
          Swing/AWT environments when PreviewFrames and ReportPanes are not garbage collected.
          If you think you found another leak, report it to us (and don't forget to
          tell us the JDK version you use).

        * We have a polish translation. And there is a spanish translation as well.

        * Elements can have a vertical alignment.

        * LineShapeElement changed. A line is no longer extended to the full width
          if the X values are equal and the Y values are equal. A line must be  a
          valid shape and can then be extended to the full element dimension by
          setting the scale-property to true.

        * All Bands are able to pagebreak before or after printing. Pagebreaks on
          empty pages are ignored. A page is empty if no content or just the pageheader
          is printed.

        * All text is now printed to the font's base line. The base line is calculated
          manually and does not depend on the AWT anymore. Now the results are almost
          as accurate as the iText calculations.

        * The report now uses a new layouting/printing subsystem. Printing is done by
          using a report function and is no longer bound to a specific output method.

        * The dynamic feature finally works in all imaginable configurations.

        * Elements are now configured using StyleSheets. There is no direct StyleSheet
          support in the parser yet. StyleSheet can inherit settings from other
          style sheets. Not all stylesheet settings are configurable using the classical
          get/set methods and not all style-settings need to be used by the outputtargets.
          StyleSheet-settings should be seen as a general constraints collection, and
          like AWT does, not every constraint is used everywhere.

        * The PDF-Dialog is now able to save the PDF without showing the dialog to the
          user.

        * Bands are able to use LayoutManager for their internal component layout.
          Bands can be stacked into each other, the same rules as in the AWT apply.

        * The report state list uses a smarter storage model. The first states are
          now always stored as strong-references.

        * JCommon-0.7.1 is used.

        * removed deprecated classes and most of the deprecated functions. <*-function>
          tags are no longer defined in the DTD, use the corresponding <*-field> elements.
          DataElement and DataFunctionElement and their sub classes do no longer exist.
          Use text fields and filters instead or create similiar fields using the ItemFactory.

        * PageCountFunction and PageTotalFunction is now more flexible and can count
          the pages of a certain group or can start counting at an arbitary page number.

        * Functions and Expressions have dependency levels.  Higher dependency functions
          are executed before lower dependency functions.

        * There is a JPEG-Servlet in the extension package. This servlet generates
          JPEG-Files for every page of an report.

0.7.6 : (07-Sep-2002):

        --- A new Library is needed: bsh.jar from www.beanshell.org ---

        * Downport to JDK 1.2.2, requires a Pixie-Update from the CVS; JFreeReport should
          now work in Visual Age for Java 3.5 without any patching.

        * PDF supports security and encryption (40bit & 128bit keys). The password for the example
          is "user" and "owner" for the user- and the ownerpassword.

        * An extended and more comportable Save-Dialog for PDF-Files exists

        * Expressions exist as a way to implement stateless lightweight
          functions. Expressions do not maintain a state and refer only
          the current datarow.

        * The BSHExpression can be used to include the expressions sourcecode
          in the report definition. This enables a

        * DataRows are used to unify the access to the different datasources
          as functions, expressions and the tablemodel.

        * Bands can be set invisible, invisible bands are not printed and
          consume no space.

        * Band height of "-100" is now interpreted as "full page height available".
          In the XML-definitions this can be expressed by setting the pageheight to "100%"

        * Rectangle-Elements support drawing, so that an unfilled border can
          be drawn

        * After Parsing the report the source filename and the contentbase
          are stored as report properties.

        * The DefaultPageFormat can be defined in the report definitions <report>-tag

        * All Strings are cut down to the length of the element. If a string is too
          long to fit into the field, the string is cut down on word boundry.

        * Bug: PreviewFrame was not being GarbageCollected, if dispose() or removeNotify() was
          not called. Added call to dispose when the frame is hidden.

        * Bug: Drawing on G2OutputTarget was buggy, aligment was inaccurate

        * Bug: FontSize for G2OutputTarget was not calculated correctly

        * Bug: ReportPane.setError was buggy

        * Bug: ReportState.isProceeding was useless

        * Bug: Fonthandling for default fonts fixed in PDF-Target

        * Bug: Unicode support was not working in PDF-mode

        * Bug: some GIF Images not recognized

        * Bug: ClassLoader changed for use in servlet environment

        * Bug: Mutiline-Text fixed

        * Bug: Cloning fixed

        * Bug: An Empty (0 rows) tablemodel caused a single all-elements-null row to be printed. Fixed,
          now the headers and then the footers are printed without an ItemBand between headers and footers
          in that case.

        * Bug: WMF-Support in Pixie-Lib: The WmfImageProducer needed a huge amount of RAM to work on
          complex images, now the image production process uses multiple scanlines to create the image
          resulting in lower resource usage.

0.7.5 : (21-Jul-2002):
        * DTD updated to contain the latest elements

        * Bug: ReportFunctions are now evaluated before the result is printed

        * Bug: WaitingImageObserver deadlock fixed

        * Bug: Nullpointers on empty graphic fixed

        * Bug: Corrected function behaviour when the tablemodel contains no data

        * Bug: Reportproperties set in the JFreeReport object got lost when a report is started

        * A new example (first.xml) which is used in the documentation

        * Most classes now implement the serializable and clonable interfaces

        * TextElement simplified

        * ImageElement/ImageFunctionElement updated

        * Removed JUNIT tests from base package. The tests can be found in
          the extension project.

        * A new mode exists on report processing, called a prepare run. During this run,
          the report is repaginated and the reentry points for the ReportStateList are
          created. Function-results computed in this state can be reused during the real
          report processing. This leads to 2 new functions to demonstrate the posibilities:

        * 2 new functions ItemPercent and TotalSum
          TotalSum summarizes a group in the prepare run so that the total sum
          for that group is available in the group header.

0.7.4 : (10-Jun-2002):
        * A bug in PDFFontFactory crashed the programm in linux

        * jcommon-0.6.2.jar is now included in the package. JCommon
          changed the name of an used class, so you have to use jcommon-0.6.2
          instead of one of the previous versions.

0.7.3 : (09-Jun-2002):
        * PreviewPane has a property to enable/disable the painting of the
          border

        * PreviewFrame's toolbar floating is controled by a property

        * PDFTarget uses the truetype fonts of the system. These fonts have
          to be registered to the FontFactory in order to be used.
          Registration can be done by feeding Directories or files into the
          PDFOutoutTarget.FontFactory or by letting the factory search the
          fonts by ifself by setting the SystemProperty
          "com.jrefinery.report.targets.PDFOutputTarget.AUTOINIT" to "true"

        * PDFTarget is able to do unicode. The encoding is controled by the
          system property
          "com.jrefinery.report.targets.PDFOutputTarget.ENCODING"
          and defaults to windows "Cp1252" (WinANSI). Set this property to
          "Identity-H" to enable HorizontalUnicode writing (see
          PDFOutputTarget.setEncoding() and the iText documentation for more
          information on that)

        * PreviewFrame has improved navigation (Goto first, last, or Page#)

        * A statusbar for the PreviewPane displays total and current pages

        * A demo with 200.000 rows is added to show what JFR is able to do

        * Truetype-Fonts are now embedded in PDF

        * Support for generic shapes is included

        * a new Element (RectangleShapeElement) for filled colored boxes

        * all TextElement-Inheritants have been replaced by the filtering
          interface in com.jrefinery.report.filter. The deprecated classes in
          the main package should no longer be used. Use the ItemFactory to
          create the TextElement with correct filters attached.

        * A new function (ElementVisibilitySwitch) shows how to control the
          visiblity of elements at runtime.

        * The parser has a better structure and can be easier customized
          using inheritance.

        * All TextElements are now able to perform a linebreak if the text
          is too long to fit on the line and if there is space for more than
          one line.

        * Reports are repaginated before printing, Repagination moved into
          JFreeReport. A new ReportState property (isPrepareRun()) can be
          used to query whether this is a repagination run.

        * The total number of pages is stored in the report properties
          (using key "report.pagecount")

        * An exception dialog informs the user when errors occur. A stacktrace
          can be viewed in this dialog if wanted.

        * ReportProperties are now bound to the ReportStates, not the report,
          and shared among all ReportStates derived from the StartState.
          A repagination run for printing/saving will no longer affect other
          prepared reports.

        * UI improvements

        * removed ReportStateConstants interface and the constants for the
          action commands in JFreeReportConstants.

        * All classes have at least basic documentation.

        * All UserInterface strings are localized. Localisations for
          english and german exist.


        Bugs fixed:
        * ReportState did not initialize the ReportProperties correctly

        * ReportState caused a OutOfMemoryError on huge reports

        * the default PageFormat is passed from the JFreeReport-object into the
          PreviewFrame.

        Still to do:

        * JUnitTests

0.7.2a: (15-May-2002) Just a small fix as long as the code is fresh.
        * No more NullPointer if the DataModel contains null
        * values. Functions can no longer disrupt the report processing by
          throwing Exceptions.
        * All text elements have a property "nullstring" to define a String
          which will replace all Null-Values for this element's or function's
          value. Thanks go to Thomas Rynne for this inspiration.
        * Fixed Bug: The ImageReference did not fill its sourceURL, so printing
          images to pdf targets always failed.

0.7.2 : (14_May-2002) This release is the result of a code review. Most
        classes have been simplified and hardened. Unnessecary import
        statements have been removed, so every class has changed. Please
        look at the classes ChangeLog to see real changes.

        * Important: Please make sure you have the Pixie-Library included,
          or ImageReference/ImageElement will not work. The Pixie-Library
          is included in JFreeReport's repositiory and release directory.

        * All complex constructors have been removed. For every element
          exists a defaultConstructor. All properties can be accessed by
          accessor functions.

        * From now on a report is always completly initialized. Such a
          report has no null-value bands or groups. A report is guaranteed
          to have at least one group.

        * Groups have to be fully qualified. A sub-group has to include all
          fields from its parent. So if you define group "Continents" and
          a subgroup of "Countries" you have to declare

          <groups>
            <group name="Continents">
              <fields>
                <field>Continient</field>
              </fields>
            </group>
            <group name="Countries">
              <fields>
                <field>Continient</field>
                <field>Countries</field>
              </field>
            </group>
          </groups>

         for the report to work correctly. See example2.xml for a complete
         report definition.

       * ReportHeader, ReportFooter and GroupHeaders may trigger a pageBreak
         before they are printed.
         See example3.xml for details.

       * Line-Elements now recognize the colors-attribute.

       * PreviewPane has been moved to its own package. The actions
         now are abstract to ease up integration of the preview pane in
         other programms.

       * ReportState is much smarter now. Transition from a state to another
         is now done by returning a instance of ReportState, which handles
         all state specific actions.

       * The function interface has been improved. All function get references
         to the report definition and the current report state.

       * Bugfixes:

         - LastRowMissingBug reported by Steven Feinstein is fixed
         - Multiple data elements can now be added to a band refering to
           the same table model column
         - no more NullPointer if no ItemBand or no group defined.

0.7.1 : (24-Apr-2002) A DTD exists for the default report parser, support
        for images, multilined text, and some updates to the PreviewFrame.
        JFreeReport includes a modified version of Pixie to support the
        wmf-file format.

0.7.0 : (8-Mar-2002) Reports can now be saved to PDF format using the
        iText PDF generator (http://www.lowagie.com/itext/).
        Integrated code contributed by Thomas Morgner including report
        functions, XML report definitions and various bug fixes.
        JFreeReport no longer user ANTLR-parsed report definitions.

0.6.0 : (8-Feb-2002) A minor update to ensure compatibility with the
        JCommon Class Library.

