

               CHANGELOG for Big Faceless Report Generator
               -------------------------------------------


The version numbering scheme in use across all our products is designed
to simplify upgrade management for developers:

  * A "patch level" change indicates a minor feature or bugfix.
    Methods MAY have been added to the API, but none have been
    removed.
    eg. Code written for version 1.0.0 will work on version 1.0.9

  * A "minor level" change indicates a change to the API which
    may require some code changes. API changes are minor, but
    are necessary for bug fixes or new features.
    eg. Code written for version 1.0.3 MAY require changes for 1.1

  * A "major level" indicates big changes to the API or
    considerable extra functionality. Developers can expect
    significant changes to bring their code up to date.
    eg. Code written for version 1.1 is unlikely to work under 2.0

-----------------------------------------------------------------------------

Version 1.1.54  (released 2012-08-20)
-----------------------------------------------------------------
* No changes except a rebuild with the latest version of the PDF Library.
  This includes a JavaScript-releated security fix to the PDF Library API,
  which is part of the Report Generator. Although this issue will not
  impact anyone using the XML interface to the Report Generator, it could
  theoretically affect those using the PDF Library API to work with
  existing PDFs. Contact BFO directly for details on this issue.

* Built with PDF library 2.11.25, Graph Library 1.1.6



Version 1.1.53  (released 2012-05-01)
-----------------------------------------------------------------
* Added "aes256" option as an encryption-algorithm (requires Acrobat X)

* Added "font-feature-settings" attribute to turn on or off OpenType font
  settings.

* Added "quantize" option when importing images, to downsample 24 or 32
  bit images to 8-bit on the fly.

* Built with PDF library 2.11.23, Graph Library 1.1.6



Version 1.1.52  (released 2012-02-13)
-----------------------------------------------------------------
* Added option to flatten all annotations on a PDF included via the
  background-pdf tag.

* Built with PDF library 2.11.21, Graph Library 1.1.6



Version 1.1.51  (released 2011-10-27)
-----------------------------------------------------------------
* Added <pdfset> as an optional outer tag, to combine multiple smaller PDFs
  into one.

* Added Xinclude support, to include XML from external sources into the source

* Graphs from version 2 of our Graph Library can now be embedded directly into
  the Report Generator using the Graph tag library syntax. The Graph Library
  must still be licensed seperately.

* Added "pre-line" as a valid value for "whitespace" attribute

* Added ability to embed flash objects via <object> tag, exactly as for HTML

* Added ReportHandler class, to make XSLT transformations easier to do.

* Built with PDF library 2.11.19, Graph Library 1.1.6



Version 1.1.50  (released 2011-06-27)
-----------------------------------------------------------------
* No changes other than a rebuild with a newer version of the PDF Library,
  which fixes more bugs to do with barcodes. Customers using this release
  to insert an FNC1 character into a barcode must do so with the U+EFC1;
  character, eg <barcode type="code128" value="0123&#xEFC1;456"/>.

* Built with PDF library 2.11.17, Graph Library 1.1.6



Version 1.1.49  (released 2011-04-18)
-----------------------------------------------------------------
* No changes other than a rebuild with a newer version of the PDF Library,
  which fixes a few bugs with various barcodes.

* Built with PDF library 2.11.16, Graph Library 1.1.6



Version 1.1.48  (released 2011-03-29)
-----------------------------------------------------------------
* Fixed long-standing issue where a blank page was sometimes added to the
  end of the document

* Added Aztec-code to barcode tag

* Built with PDF library 2.11.15, Graph Library 1.1.6



Version 1.1.47  (released 2010-12-23)
-----------------------------------------------------------------
* Added new META keys to enable creation of PDF/A1-b:2005 documents

* Added alternative method to include control characters in Barcodes.

* Updated producer field to "bfo.com"

* Built with PDF library 2.11.13, Graph Library 1.1.6



Version 1.1.46  (released 2010-05-26)
-----------------------------------------------------------------
* Upper-alpha and lower-alpha lists now number correctly after the first
  26 items.

* Built with PDF library 2.11.10b, Graph Library 1.1.6



Version 1.1.45  (released 2009-11-12)
-----------------------------------------------------------------
* Fixed NPE for certain types of list when <li> was empty.

* Built with PDF library 2.11.8, Graph Library 1.1.6



Version 1.1.44  (released 2009-09-03)
-----------------------------------------------------------------
* Added support for "data:" URI syntax as defined in RFC2397. This will work
  in every environment without calling URL.setURLStreamHandlerFactory().

* Added suport for a "classpath:" URI, which can be used to load resources such
  as images, CSS stylesheets etc. from the classpath. For example, an image
  could be stored in a Jar and then referenced as
  "classpath:/org/faceless/report/resources/logo.jpg"

* Added "ean8" as a value for "codetype" in <barcode>

* Fixed layout bug from 1.1.40 that was occasionally causing paragraphs to 
  wrap incorrectly.

* Fix to problem where some streams being read from Jars were not closed. We've
  had reports this was causing a native memory leak, although we haven't been
  able to reproduce this here (see Java bug 4797189). However if you are seeing
  this behaviour we recommend upgrading.

* Built with PDF library 2.11.7, Graph Library 1.1.6



Version 1.1.43  (released 2009-07-06)
-----------------------------------------------------------------
* No changes to the Report Generator layer

* Built with PDF library 2.11.6, Graph Library 1.1.6



Version 1.1.42  (released 2009-03-04)
-----------------------------------------------------------------
* SECURITY: The PDF library this release was built with contains a security
  fix. This would only affect customers running the Report Generator 1.1.39
  to 1.1.41 who are using the PDF Library API to complete forms in PDF
  documents created by third parties. Those customers are encouraged to upgrade.

* Added "datamatrix" as a value for "type" in <barcode>

* Added "overprint" as a boolean attribute, to control overprinting for text or
  graphics.

* Corrected some wrapping issues that could occur when setting "letter-spacing".

* Fixed incorrect breakpoint between <nobr>word1<sup>word2</sup></nobr>

* Built with PDF library 2.11.4, Graph Library 1.1.6



Version 1.1.41  (released 2009-01-27)
-----------------------------------------------------------------
* Added "aes256" as an encryption algorithm, to use the new AES-256 encryption
  added in the PDF library 2.11

* Built with PDF library 2.11.2, Graph Library 1.1.6



Version 1.1.40  (released 2008-11-10)
-----------------------------------------------------------------
* Added "intelligentmail" as a value for "type" in <barcode>, and added the
  "color" attribute to <barcode>.

* Tweaked the <meta name="output-profile"> feature - individual features can
  now be turned off or on.

* Built with PDF library 2.10.6, Graph Library 1.1.6



Version 1.1.39  (released 2008-04-24)
-----------------------------------------------------------------
* Fixed the "pdf:show" action

* The barcode default sizing may be slightly different, due to corrections in
  the underlying PDF library.

* Added the ability to license the Report Generator with a license file, rather
  than a keycode.

* Built with PDF library 2.10.1, Graph Library 1.1.6



Version 1.1.38  (released 2007-10-24)
-----------------------------------------------------------------
* Added "modifyPDF" method stub to PDFFilter class, for easier custom filters

* Built with PDF library 2.8.5, Graph Library 1.1.6



Version 1.1.37  (released 2007-08-21)
-----------------------------------------------------------------
* Fix to position of blocks placed directly inside absolutely positioned blocks

* Built with PDF library 2.8.4, Graph Library 1.1.6



Version 1.1.36  (released 2007-06-19)
-----------------------------------------------------------------
* Under some circumstances, cells in a table row using "rowspan" would not
  have their height calculated correctly. Fixed.

* Changes from PDF library will fix problems when using letter-spacing and
  non-ASCII Bookmarks.

* Built with PDF library 2.8.1, Graph Library 1.1.6



Version 1.1.35  (released 2007-04-17)
-----------------------------------------------------------------
* "background-macro" is now always drawn behind headers and footers

* No signficant other changes other than a rebuild with PDF library 2.7.9,
  which has some fixes for the Pashto and Kirghiz languages.

* Built with PDF library 2.7.9, Graph Library 1.1.6



Version 1.1.34  (released 2007-02-05)
-----------------------------------------------------------------
* Fixed NullPointer when a table is created with a height attribute but no rows.

* Barcodes can now be created with any height, to mirror the same change in the
  PDF library. The "min-height" attribute can be used to ensure the height
  doesn't go below the minimum recommended height of a barcode.

* Fixed typo in DTD

* Built with PDF library 2.7.7, Graph Library 1.1.6



Version 1.1.33  (released 2006-12-13)
-----------------------------------------------------------------
* No signficant changes other than a rebuild with PDF library 2.7.6 - this
  allows our Polish customers (amongst others) to create PDFs without embedding
  a font.

* Built with PDF library 2.7.6, Graph library 1.1.6



Version 1.1.32  (released 2006-09-13)
-----------------------------------------------------------------
* Improvements to speed of text rendering both here and in the PDF library.
  Should be about 5-10% faster.

* The default value for "submitted" for form elements is now "true"

* Built with PDF library 2.7.2, Graph library 1.1.6



Version 1.1.31  (released 2006-07-26)
-----------------------------------------------------------------
* Some tweaks to allow Graphs created with the Graph Library 2 to be embedded
  into a Report. Although theoretically this can be done no matter how the
  report is generated, these changes work best when the report is created using
  a JSP.

* Built with PDF library 2.7.0, Graph library 1.1.6



Version 1.1.30  (released 2006-04-24)
-----------------------------------------------------------------
* Fixed problem with some event handlers on <input> tag

* Built with PDF library 2.6.9, Graph library 1.1.6



Version 1.1.29  (released 2006-01-31)
-----------------------------------------------------------------
* Correctly position bullets when a <li> contains text of a varying sizes

* Built with PDF library 2.6.6, Graph library 1.1.6



Version 1.1.28  (released 2005-11-04)
-----------------------------------------------------------------
* Removed requirement to have SystemId specified for all InputSource. If a
  relative URL is encountered during parsing, then an error will be thrown.

* Fixed pagenumber and totalpages definitions in DTD

* Bookmarks pointing to nodes split at the end of a page were failing - now
  fixed

* Improvements to CSS parsing

* Built with PDF library 2.6.3, Graph library 1.1.6



Version 1.1.27  (released 2005-09-01)
-----------------------------------------------------------------
* Smarter embedded font initialization when italic, bold and bold-italic are
  really the same as the regular font

* Fixed rare infinite loop when laying out some tables with incorrect colspan
  attributes

* Fixed occasional incorrect wrap when white-space="forced" is used

* Another tweak to table layout inside paragraphs

* No longer crashes with invalid 'style="display:;"' attribute

* Added "qrcode" and "pdf417" codes to barcode.

* Added "aes" as an option for encryption-algorithm, for Acrobat 7.0 encryption

* Built with PDF library 2.5.1, Graph library 1.1.6



Version 1.1.26  (released 2005-04-13)
-----------------------------------------------------------------
* List elements with no content are still displayed, eg <li></li>.

* Fixed distribution of height on rows if height set on table.

* Improved width calculations when nesting tables inside a <p>.

* Built with PDF library 2.3.7, Graph library 1.1.6



Version 1.1.25   (released 2005-02-07)
-----------------------------------------------------------------
* Fixed use of default page size and font based on language. Previous versions
  would always create letter-sized pages if the document language was en_US,
  even if "body { size:A4 }" was in the stylesheet. Likewise with fonts for
  japanese, chinese and korean documents.

* Improved list layouts for direction=rtl lists (eg. arabic and hebrew)

* Fixes to DTD

* Built with PDF library 2.3.3, Graph library 1.1.6



Version 1.1.24   (released 2004-12-06)
-----------------------------------------------------------------
* Fixed a NPE in the PDFFilter when a static document with an unrecognised
  mime-type (like a TTF font) was being passed through the filter.
  
* Also in PDFFilter, the "charset" fix for Tomcat 4.0.4+ was breaking Oracles
  App Server 10g, again with a NPE. This is now fixed.

* Built with PDF library 2.3.2, Graph library 1.1.6



Version 1.1.23   (released 2004-10-25)
-----------------------------------------------------------------
* Fixed rare infinite loop in table layout when layout="fixed"

* Added "dse200" as valid signature handler. See the PDF library userguide
  documentation for more information

* Built with PDF library 2.3, Graph library 1.1.6



Version 1.1.22   (released 2004-10-06)
-----------------------------------------------------------------
* More tweaks to table width layout algorithm, this time when cells need to
  be stretched horizontally but some cells have a width specified.

* Built with PDF library 2.2.6, Graph library 1.1.6



Version 1.1.21   (released 2004-08-18)
-----------------------------------------------------------------
* Fixed default font for Korean locales

* Image width/height can now be set to "0" to mean "proportional to width"

* Fixed literal marker-types for lists

* Built with PDF library 2.2.5, Graph library 1.1.6



Version 1.1.20   (released 2004-07-16)
-----------------------------------------------------------------
* Improved table layout algorithm when the table is too wide for the page

* Can now specify page sizes with a fraction of a point, eg. width="100.5"

* Fixed default font for zh_CN and zh_SG documents

* Built with PDF library 2.2.3, Graph library 1.1.6



Version 1.1.19   (released 2004-06-24)
-----------------------------------------------------------------
* Now pagenumbers and list numbers can be specified in arabic, thai and so on -
  see the "marker-type" attribute documentation.

* Added "cache-prefix" and "cache-minsize" initialization parameters to the
  PDFFilter class - these can be used to cache parts of the generated PDF to
  disk, slightly reducing memory footprint.

* Built with PDF library 2.2.3p1, Graph library 1.1.6



Version 1.1.18   (released 2004-04-16)
-----------------------------------------------------------------
* Tweaked methods to load resources from JAR, as they were failing when
  being run in some applet frameworks.

* Close InputStreams used to load fonts - necessary when fonts are loaded
  from a "file:" URL on Windows and the file is then deleted.

* Fixed "direction=rtl" for Hebrew and Arabic documents

* Built with PDF library 2.1.1, Graph library 1.1.6



Version 1.1.17   (released 2004-03-16)
-----------------------------------------------------------------
* Fixed "security-password" handling, broken in 1.1.10

* Fixed problem with background PDF caching where images had filenames
  containing "#" characters.

* Fixed "other-label" attribute in PieGraphs

* Added "maxicode" as a type of barcode.

* Fixed obscure layout bug when splitting nested lists at the end of a page
  and the split point occurred in the margin of the list, not the content.

* Built with PDF library 2.1, Graph library 1.1.6



Version 1.1.16   (released 2004-01-16)
-----------------------------------------------------------------
* Correctly handle less than full intensities on spot colors, eg.
  spot("PMS 194", cmyk(0%,87%,54%,38%), 50%)

* When specifying a font in a graph, now fails if that font doesn't exist.

* Fixed <li> elements split at the end of the page - the second half no
  longer has a prefix.

* Fixed bug added in 1.1.10 where all text fields where assumed to be
  multiline, not just when lines > 1

* Fixed bug when setting the colors in a MultiBarGraph

* Built with PDF library 2.0.7, Graph library 1.1.5



Version 1.1.15   (released 2004-01-09)
-----------------------------------------------------------------
* Added "postnet", "rm4scc" and "code25deutschenpost" barcodes, to create US,
  British and German postal barcodes

* No major changes, primarily a rebuild to pick up the latest PDF library
  version, which had a license code issue and a couple of bug fixes

* Built with PDF library 2.0.6, Graph library 1.1.5

  

Version 1.1.14   (released 2004-01-05)
-----------------------------------------------------------------
* Fixed default fonts for china/taiwan/HK/Singapore - we were defaulting to
  a traditional font in a simplified area and vice-versa

* Can now specify alpha values for spot colors, eg.
  <p color="alpha(50%, spot("PMS 194", cmyk(0%,87%,54%,38%)))">

* Re-enabled "showtext" attribute for BarCodes, which were dropped in 1.1.10

* Built with PDF library 2.0.5, Graph library 1.1.5
  (Latest build of PDF library fixes a memory leak - anyone using 1.1.10 or
  later should upgrade to at least this version)



Version 1.1.13   (released 2003-12-05)
-----------------------------------------------------------------
* Added "font-stretch" attribute. Note this is done by simple scaling, so will
  scale the vertical stems of the font as well. Not ideal or technically
  correct, but without multiple-master font support the only way we can do it.

* Renamed "background-image-position" to correct name "background-position".
  The old name still works as an alias.

* "background" shorthand attribute is now recognised according to CSS2 rules

* Now allows blank values in <input type="select">, eg. <option></option>

* Built with PDF library 2.0.4, Graph library 1.1.5



Version 1.1.12   (released 2003-11-21)
-----------------------------------------------------------------
* "font" attribute now works for complicated font names including spaces,
  quotes etc.

* TD tags with rowspan > 1 that cover more than one page are correctly sized.

* <pagenumber> and <totalpages> tags can now take a "length" and "type"
  attribute, to specify the estimated number of characters and the type
  of digit (decimal, upper-roman etc.) respectively.

* Built with PDF library 2.0.2, Graph library 1.1.5



Version 1.1.11   (released 2003-11-11)
-----------------------------------------------------------------
* Documents no longer need an InputSource System ID to be specified, unless
  of course there are relative URLs to be resolved within the XML.

* Several changes were made in the underlying PDF library. All users running
  1.1.10 should upgrade to this version.

* Built with PDF library 2.0.1, Graph library 1.1.5



Version 1.1.10   (released 2003-11-05)
-----------------------------------------------------------------
* "class" attribute can take multiple classes, seperated by spaces. e.g.
   <p class="red outlined">

* Added alpha transparency support - just specify a color as alpha(50%, NNN)
  where NNN is any color - e.g. alpha(50%, red), alpha(50%, gray(50%))

* Valid CSS2 attributes that are not used by the Report Generator will no
  longer cause a CSS parsing error

* Added new <meta> entries - output-profile, trapped.

* Added new options for access-level - "print-lowres, print-highres" etc.,
  plus "plain-metadata"

* Signatures can now take a width and height, and also accept "acrobat6" or
  the name of a SignatureHandlerFactory class as a handler. Also takes
  background-image and background-pdf as parameters.

* Fonts can be "opentype" as well as "truetype". Added a "bytes" attribute to
  allow single or double byte embedding - defaults to 1

* Document colors default to gray(0%), not rgb(0%,0%,0%). A subtle difference
  but important for PDF/X output.

* Built with PDF library 2.0.1p1, Graph library 1.1.5



Version 1.1.9   (released 2003-10-08)
-----------------------------------------------------------------
* Allows "with-key(x)" and "inline(x)" as values for the display-percentage
  attribute, where "x" is the number of decimal places to display on the
  graph.

* Fixed PDFFilter class to work with WebLogic 8.1

* Fixed problem with Document Image caching where images had filenames
  containing "#" characters.

* Built with PDF library 1.2.11, Graph library 1.1.4



Version 1.1.8   (released 2003-07-15)
-----------------------------------------------------------------
* The "page-break-before" and "page-break-after" attributes can be set to
  "left" or "right" to control whether the next page appears on an even or
  odd page.

* The "page-break-before" and "page-break-after" attributes can be set to
  "avoid" on a <TR> to keep it with the previous/next node. Other values
  like "always" are not (yet) recognised.

* Added "min-height" attribute, for compatibility with CSS2

* Built with PDF library 1.2.11, Graph library 1.1.4



Version 1.1.7   (released 2003-04-30)
-----------------------------------------------------------------
* Fixed bug which was causing an OutOfMemoryException even with tiny documents,
  caused by a certain combination of text and <br/> tags inside a <span> tag.

* More fixes to language specific styles, continuing on from changes made
  in the previous version

* Better bidirectional text handling

* CSS fix for systems running non-ASCII encodings by default, eg OS/390.

* Now skips unknown fonts in a list of fonts, only complaining if it can't
  find any of them.

* Built with PDF library 1.2.10, Graph library 1.1.4



Version 1.1.6   (released 2003-04-08)
-----------------------------------------------------------------
* Fixed language tests - previous versions were ignoring any :lang pseudo-tags
  specified in a stylesheet. Now that it's suddenly working some users may
  notice slightly different behaviour (eg. pages created in the en_US locale
  will now default to letter). Previous behaviour can be recreated by setting
  the "lang" tag on the PDF to something generic, eg. <pdf lang="en">

* Added workaround for weird stack problem with WebSphere 3.5.1 on AS/400 -
  this was resulting in tiny paragraphs inside tables on some installations.

* Added some new internationalization examples in the "example/samples" folder

* Can now set checked="true" for radio buttons

* Built with PDF library 1.2.9, Graph library 1.1.3



Version 1.1.5   (released 2003-02-24)
-----------------------------------------------------------------
* Removed explicit calls to System.gc() - this should result in major speed
  improvements on multi-processor machines, although more heap space may be
  required for single processor machines running large reports.

* Fixed null pointer exception in PDFFilter when no Content-Type was specified
  by the servlet engine.
  
* Changes inherited from PDF library include fixed spacing when
  "letter-spacing" attribute is used, fixed race condition during font
  initialization, and improved handling of some obscure TIFF variations.

* Built with PDF library 1.2.7, Graph library 1.1.2



Version 1.1.4   (released 2003-01-17)
-----------------------------------------------------------------
* Added workaround for broken character encoding handling in Oracle 9AS. This
  was preventing the PDFFilter from successfully parsing any documents other
  than those encoded in ISO-8859-1

* Fixed table layout algorithm for certain complicated arrangements of cells
  using the rowspan attribute

* Added "whitespace=forced" to cause words to be broken anywhere, not just at
  spaces.

* Fixed exception when <tfoot> came before <tbody> in a table spanning two or
  more pages

* Built with PDF library 1.2.4, Graph library 1.1



Version 1.1.3   (released 2002-11-08)
-----------------------------------------------------------------
* Under certain circumstances, headers and footers were disappearing or being
  pushed off the page in all versions since 1.1

* Fixed broken gray(...) colors

* Fixed bug when using both small-caps and text containing ligatures.

* Built with PDF library 1.2.3, Graph library 1.1



Version 1.1.2   (released 2002-10-31)
-----------------------------------------------------------------
* Non-sRGB colors were not working properly, due to a mixup in the PDF library
  over alpha values.

* Fixed error when using empty paragraphs or spans.

* Fixed layout problem when table-layout="fixed" but no width is specified.

* Built with PDF library 1.2.3, Graph library 1.1



Version 1.1.1   (released 2002-10-22)
-----------------------------------------------------------------
* Minor fix - LineGraphs were causing a ClassCastException if the color
  was set to a pattern.

* Built with PDF library 1.2.2, Graph library 1.1



Version 1.1   (released 2002-10-02)
-----------------------------------------------------------------
* New CSS version 1.1. Old "1.0" CSS version is still available, so no backwards
  compatibility issues should be presented by this release.

* Finally the Report Generator supports float positioning! Now block elements,
  like images, tables and so on, can be embedded in paragraphs and optionally
  aligned to the left or right.

* Paragraphs can now be split across pages. The "page-break-inside" attribute
  can be used to prevent this, and the "orphans" and "widows" attributes used
  to control how the paragraph is split.

* Fixed CSS priorities - pseudo-classes like :lang now affect the priority
  of a rule, as required by CSS2

* Added CSS attribute selectors, eg "div[float=right] { margin-left:10pt; }"

* Added handling of "!important" rules in stylesheets.

* Added Form elements

* Added onMouseOver and onMouseOut to all hyperlinks

* Documents requested via HTTPS will now have their base URL set to HTTP
  if the HTTPS protocol handler isn't installed. This means any relative
  links inside the document will be requested as HTTP. Usually these are
  on the same server, so this isn't a security problem.

* Added <meta name="base" value="http://myserver.com"/> to set the base URL
  of the document. This can be used to override the above behaviour if
  required, by setting the value to a URL beginning with "https".

* Inline elements can have backgrounds, padding, margins and borders

* Added fix for Tomcat 4.0.4 and Tomcat 4.1.x when using a filter.

* Added fix for com.sun.xml parser

* Added support for bidirectional text - lists and tables are aligned correctly
  for arabic, hebrew and yiddish. Changing fonts or styles in the middle of a
  word will result in incorrect layout, and the "unicode-bidi" attribute is
  not supported (although explicit byte-order marks can be embedded in the
  document, eg "&#8234;"), but other than that full bidirectional algorithm
  should be supported.

* Any tag can now specify "white-space:pre" - it's not limited to <pre>

* Improved border support - now the "border" property and friends function
  as specified in CSS2, with the exception that CSS2 border styles other than
  "solid" or "dotted" aren't recognized.

* Split the "text-align" and "align" attributes. "align" is used to control
  alignment of blocks inside their parents, and "text-align" is used to
  control text inside a paragraph block. If "text-align" isn't set but
  "align" is, then the value of "align" is used, for backwards compatibilty.

* Now uses the technically-more-correct "xml:lang" attribute as synonym for
  "lang".

* Added "background-pdf:none" to turn off the background PDF

* Built with PDF library 1.2.1, Graph library 1.1


Version 1.0.14   (released 2002-09-03)
-----------------------------------------------------------------
* Added the ability to specify more than one font for a paragraph. If a glyph
  cannot be found in the first font, the second will be tried, then the third
  and so on. For example, <p font-family="Times Symbol"> could be used to
  display English and basic Greek without changing fonts.

* Added language selectors in stylesheets. This allows you to do things like
  body:lang(ja) { font-family: HeiSeiMin; } or even
  body:lang(en_US) { size:letter; }. Both of these rules are now in the
  default stylesheet, along with some other language-specific rules
  which set the default font for Chinese, Japanese and Korean.

* Added new type of color - "gradient(red,blue)" can be used to set the
  color on bar graphs ONLY to a smooth gradient running from red to blue.
  If used elsewhere, the result will be solid blue. Any two colors can be
  used, so long as they're in the same colorspace.

* Added "upc-a" as a new type of barcode, to display UPC-A barcodes using
  the standard layout, rather than having to use the "ean-13" layout
 
* Added new value for "display-values" attribute in bargraphs - "inside-top"
  will display the value of the bar slightly inside the top of the bar.

* Can now change the axes-color of graphs using the "axes-color" attribute.
  "color", which erroneously did this earlier, no longer works.

* Added patch for Tomcat 3.2 so the JAR can be deployed in WEB-INF/lib

* Added patch for WebLogic 6.1 SP 3 (earlier releases of 6.1 are OK)

* Several other fixes, including better error reporting, colorspace handling,
  OS/390 license key fix

* About a 10% increase in speed across the board.

* Built with PDF library 1.2, Graph library 1.1



Version 1.0.13   (released 2002-06-26)
-----------------------------------------------------------------
* Localized formatters for graphs - the date() and simple() formatters will
  now be localized depending on the "lang" attribute. Previously they were
  tied to the locale of the webserver.

* Renamed <currentpage> to <pagenumber>, and added an optional "idref"
  attribute, so you can print the page number of a different tag, eg.
  <pagenumber idref="chapter1"/>. Intended for use in table of contents.

* Samples in a <datacurve> can now have Y-values of "NaN", "+Inf" or "-Inf",
  to add a gap in the middle of a line.

* All axes graphs can have "min-y" or "max-y" attributes set, not just
  bar graphs

* Fixed bug in span with no contents, eg. <b></b>

* Built with PDF library 1.1.27, Graph library 1.0.12



Version 1.0.12   (released 2002-05-12)
-----------------------------------------------------------------
* Fixed problem with <img> tag - only specifying one of the width or height
  now causes the other to be scaled correctly

* All tags in CSS stylesheets are now case-insensitive

* Fixed missing exception details caused by errors in CSS stylesheets

* Ligatures are now always off for monospace fonts.

* Code128 barcodes can now include a &#x0A; character to represent
  the FCN1 control character - which means you can now use Code128
  to print EAN128 codes.

* Fixed bugs with custom formatters for graphs

* Built with PDF library 1.1.25, Graph library 1.0.12



Version 1.0.11   (released 2002-04-21)
-----------------------------------------------------------------
* Replaced "transform" method with parse(XMLReader, InputSource). Removed the
  old method completely - it never worked properly and shouldn't have been
  released.

* Now handles styles specified inline HTML-style, e.g. <body style="margin:0;">
  This is for easier conversion from HTML only, and is not the recommended way
  to specify attributes.

* Now handles "font" attribute according to CSS2, eg "italic 12pt/14pt serif"

* Added "font-variant" attribute - can be used to set text to small-caps.
  This requires some heavy processing and is not recommended for long phrases

* Handles multiple arguments to padding/margin/border - e.g. padding="10pt 5pt"

* Added "round-bars" attribute to bar graphs, which can be true or false

* New linegraph markers - "circle". Also new modifiers for markers are
  "small" and "noborder" - so a valid marker would be "small-circle-noborder"

* Built with PDF library 1.1.22, Graph library 1.0.11a



Version 1.0.10   (released 2002-04-12)
-----------------------------------------------------------------
* Added the "transform" method to the ReportParser, for use as the last stage
  in a sequence of XSL transformations. See also the "SampleTransformer.java"
  example
  
* Any elements with an unrecognized namespace are now treated as XML metadata
  and embedded directly into the PDF if possible. This will only work on the
  <pdf>, <body>, <pbr> and <img> tags.

* Added the <floatingbargraph> element

* Changed "line-height" parameter so it can be an absolute value, as well as
  a percentage of the current linespacing. e.g. 'line-height="1in"' spaces
  lines of text exactly 1 inch apart, while 'line-height="200%"' still gives
  double spacing.

* Added "text-transform" attribute, which can be set to "uppercase",
  "lowercase" or "capitalize".
  
* Added "text-indent" attribute, which can be set to the number of points to
  indent the first line of text in a paragraph.

* Added "letter-spacing" attribute, which can be set to alter the space between
  letters (called track-kerning in the PDF library)

* Added "url()" values to stylesheets. External elements can now be referenced
  in stylesheets as absolute or relative URL's, with relative URLs being
  relative to the sheet, not the document, as required by CSS2

* Added "serif", "sans-serif" and "monospace" as aliases for "times",
  "helvetica" and "courier" respectively, for increased CSS2 compatibility.

* Added "border-left-width" as synonym for "border-left", for closer match to
  CSS2. Also added thin,medium and thick as valid widths.

* Added CSS2 named font sizes, e.g "medium" or "smaller". Medium is 11pt

* Added "visibility" attribute, which can be set to "visible" (the default) or
  "hidden" to prevent display of an element. Also added "display" element, which
  can be set to "none" to prevent display of the item at all - a subset of the
  valid list of CSS2 values.

* Fixed the "percentage(x)" formatter

* Fixed problem calculating line heights with different font sizes in a single
  paragraph.

* No longer require a SystemId for an InputSource - although all URLs
  referenced from the XML must be absolute in this case.

* Built with PDF library 1.1.21, Graph library 1.0.9



Version 1.0.9   (released 2002-04-07)
-----------------------------------------------------------------
* Fixed "pagenumber" attribute, which was broken a couple of versions ago

* Built with PDF library 1.1.20, Graph library 1.0.9



Version 1.0.8   (released 2002-03-22)
-----------------------------------------------------------------
* Fixed broken TIFF image handling, and can now load GIF images of any depth.

* Changed the obfuscator - the jar should now work correctly with "fussy"
  environments like Jikes and Visual Age for Java

* Built with PDF library 1.1.19, Graph library 1.0.9



Version 1.0.7   (released 2002-03-13)
-----------------------------------------------------------------
* Fixed superscript/subscript text, which was broken in an earlier release.

* <THEAD> and <TFOOT> with more than one row are now drawn correctly on all
  pages.

* Built with PDF library 1.1.18, Graph library 1.0.8



Version 1.0.6   (released 2002-03-07)
-----------------------------------------------------------------
* Reduced memory consumption to slightly less than half of what it was, for a
  fractional loss in speed.

* Fixed obscure problem where the end of some lines of text would be dropped
  when using certain XML parsers (crimson), fonts with kerning tables and
  named entities like &eacute;

* Built with PDF library 1.1.18, Graph library 1.0.7



Version 1.0.5   (released 2002-02-25)
-----------------------------------------------------------------
* Added optional "-with-markers" suffix for key values for Line Graphs - so,
  for example, 'display-key="boxed-below-with-markers"'.

* Added new marker types for Line Graphs - "uptriangle", "downtriangle", plus
  added "big-" prefix to each type of marker to increase the size.

* Added new <piegraph> attribute - the boolean "display-zeros", which determines
  whether zero values are displayed or not.

* Added new <bargraph> attribute - the "display-barvalues" attribute, which
  determines whether values are also displayed on or above the bars, or not at
  all.

* Added "floor-grid", "ywall-grid" and "zwall-grid" attributes to all graphs
  other than PieGraphs, to determine how to draw the grid lines

* Added DTD fix for Xerces 2.0.0 (that wasn't required for Xerces 2.0b3, grr)

* Handles transparency in GIF and some PNG images (not the full alpha-channel
  transparency, just GIF-style transparency)

* Compresses black and white images with CCITT Group 4 compression, for 35%
  saving.

* Built with PDF library 1.1.17, Graph library 1.0.7


Version 1.0.4   (released 2002-02-14)
-----------------------------------------------------------------
* Added two more methods to the Filter so it runs under BEA WebLogic 6.1.
  Other environments are unaffected.

* Added initParser() method to Proxy Servlet so parser flags can be set.

* Built with PDF library 1.1.16, Graph library 1.0.6a



Version 1.0.3   (released 2002-02-10)
-----------------------------------------------------------------
* Fixed Filter to return non-xml pages correctly

* Added new init-parameters to Filter to control warnings

* Fixed overly-cramped axis bug caused by formatting dates with hours.

* Fixed bug when table with explicit height is split at page end.

* Built with PDF library 1.1.15, Graph library 1.0.6a



Version 1.0.2   (released 2002-02-05)
-----------------------------------------------------------------
* Optimized. With help from PDF library optimizations, now up to twice as fast
  for some documents (particularly those with graphs or vector graphics).

* Added support for TIFF images - these can be used in the same way as
  GIF/PNG/JPEGs, although not every TIFF varient is supported. Multi page
  TIFF's are handled the same way as multi page PDFs - by adding a "#"
  (e.g. <img src="/path/to/multipage.tif#2"> to display the second page)

* Added support for digital signatures via the <input type="signature"> tag.

* Added ability to load a customer formatter for graphs by specifying the full
  constructor syntax - eg. xformatter="com.company.CustomFormatter(text, 3.14)"

* Extended range of standard "date" graph formatter to handle everything from
  2 seconds to 100 years. Dates can now be specified as ISO8601 (recommended) or
  RFC822 format.

* Added "height" and "bar-ratio" attributes to <barcode> tag, as well as
  "ean13" and "codabar" barcode types.

* Fixed a couple of minor bugs with referencing linked TrueType fonts

* Added workarounds for a bugs in JRun - Content-Type wasn't being set, and 
  other bugs.

* Tested successfully with J2SDK1.4 rc1

* Built with PDF library 1.1.15, Graph library 1.0.6a



Version 1.0.1   (released 2001-12-13)
-----------------------------------------------------------------
* Rather than time limited use, the word "DEMO" is stamped on each page
  instead.

* Rounding error was causing A4 pages to be one point too short. Fixed this

* Added "background-pdf" option, to set the background PDF in the same way as
  the background-image. This requires the extended edition.

* Added "encryption-algorithm" meta tag, which can be set to "40bit" or "128bit"

* Added "forms", "extract", "assemble" and "hqprint" as possible values for
  "access-level" meta attribute.

* Added timezone to modification and creation dates

* Fixed Unicode support for bookmarks and document metainformation

* Fixes for ColorSpace problems on AS/400 and possibly other IBM platforms

* Built with PDF library 1.1.12, Graph library 1.0.6



Version 1.0     (released 2001-11-24)
---------------------------------------------------
* Public release.

* Built with PDF library 1.1.10, Graph library 1.0.6



BETA TEST PERIOD CHANGELOGS
---------------------------

Beta6 (internal release only)
---------------------------------------------------
* Finally isolated and worked around another bug in the Sun JIT compiler.
  That's two JIT compiler bugs found in two days, one each in IBM1.3 and Sun1.3

* Added workaround for a bug in the Oracle 9i XML parser

* Completed the userguide

* Changed the list of named colors from the X windows list to the HTML list.

* Added a <shapepath> element between a <shape> and it's path elements. This
  allows elements to be clipped to a custom shape.

* Added "font-style", "font-weight", "color" and the new "expanded" attribute
  to the <bookmark> tag

* Added xaxis-formatter-density and yaxis-formatter-density to Axes Graphs

* Added <multibargraph>

* Added "justification-ratio" attribute

* Readded collapsing margin algorithm, which somehow had disappeared.

* Added "expanded", "font-style", "font-weight" and "color" to <bookmark>

* Changed "marker-hierachy" to "marker-hierarchy"

* Set misplaced text and unknown elements warnings "on" by default.


Beta5 - released 15/11/2001
----------------------------------------------------
* Backported to SAX1. Should autodetect if SAX2 is available, and will use
  it (with SAX2 support for namespaces) if available, or SAX1 if not. The
  only API change was from new ReportParser() to ReportParser.getInstance().

* Created PDFFilter, a Servlet 2.3 Filter, and tested with Tomcat 4.0.1

* Now tested successfully with (SAX2) Xerces 1.2, 1.4, 2.0, Crimson 1.1, 1.1.1,
  1.1.3, IBM XML4J 3.2.1 and Oracle 9i XDK, and (SAX1) the old com.sun.xml
  parser

* Tested servlet with Tomcat 3.2, Resin 2.0.3 and Tomcat 4.0.1

* Added "suppress-ligatures" attribute, set as default for <tt> and <pre> tags

* elements inside a <pre> are also <pre>

* fixed bug in table auto layout, and fixed align/valign inheritance from TD

* Added <code>, <strong> and <em> tag

* Value attribute in <li> can now be anything, for custom lists



Beta4 - released 08/11/2001
----------------------------------------------------
* Fixed an imcompatible showstopper caused by upgrade from Xerces 1.2 to 1.4,
  and tested with Xerces 2.0

* Fixed bug where under certain conditions items wrapping at the end of the
  page became corrupt

* Changed the entities &currentpage; and &totalpages; to the tags
  <currentpage/> and <totalpages/>, for better behaviour with SAX parsers
  that don't handle DTD's well, and in anticipation of possible backport to
  SAX1

* Added Namespace awareness to the parser - Tags with a namespace set to
  something other than "http://big.faceless.org" will be skipped. Tags with no
  namespace set can carry on as before.

* Better error messages in many places.



Beta3 - released 06/11/2001
----------------------------------------------------

* Rewrote the proxy servlet, no longer uses any third party code and
  optionally caches results. It's much more general now.

* Added <linegraph>, <areagraph>, <sample>, <datacurve>, <simplecurve>,
  plus a couple of extra values for xaxis-formatter

* Package now include PDF and Graph library as one unit - they no longer
  have to be downloaded separately

* Now fails by default on warnings

* Added meta name="viewer-fullscreen", case-insensitized meta names

* Generalized "href" tag - can be applied to any block or span to set hyperlink

* Added page-break-inside attribute

* Added onOpen and onClose to <body> and <pbr>

* Renamed from <strikeout> to <strike>

* <gdata> tag now takes "name" and "value" not "key" and "val"

* Added white-space as synonym for whitespace

* Added left and top as synonyms for x and y

* Renamed marker-style to marker-type

* Added font-family, and marker-font-family, deprecated font and marker-font

* Fixed whitespace value to "nowrap" (was "nobreak" in a couple of places)

* Renamed color-space to colorspace

* Renamed rel and type on LINK tag to type and subtype, made case-insensitive

* For all graph attributes, if it began with "x-axis" it now begins "xaxis".
  Same with "xwall" and "ywall". Also renamed "axis-color" to "axes-color".




Beta2 (released 2001-10-23)
---------------------------

* Allow /* comments */ in CSS stylesheets

* Fixed ColorPattern's not always being applied (PDF library bug)

* Fixed allowing more than one hyperlink on a physical line (PDF library bug)

* Added <piegraph> <bargraph> <towerbargraph> <depthbargraph> and <gdata> tags

* Added <sup> and <sub> for superscript and subscript, <big> and <small>

* Added <circle> <ellipse> <shape>, fixed a small absolute positioning bug

* Added rgb(255,0,0), cmyk(100%,50%,0,50%) and gray(50%) colors

* Addded spot colors via spot("PANTONE 123 CVC", cmyk(50%, 0, 0, 0), 100%)

* Added "color-space" attribute to all elements to set the colorspace. Valid
  values are DeviceRGB (the default, same as sRGB), DeviceCMYK, DeviceGray
  or a URL to an ICC profile file. Attribute is inherited, except for on
  images where the image colorspace takes precedence unless this is explicitly
  set.

* Added <hr> tag

* Added <link rel="font" type="type1" src="font.afm" pfbsrc="font.pfb"/>

* Added bar-width to <barcode>

* Many smaller changes and bugfixes (naturally)



Beta1 (released 2001-10-14)
---------------------------
* First beta release.

