Apache™ XML Graphics Commons

- Home

The Apache Software Foundation > Apache XML Graphics Project
PDF
Font size:

# History of Changes

- Introduction and explanation of symbols
- Version 1.5 (20 October 2012)
- Version 1.4 (7 July 2010)
- Version 1.3.1 (11 June 2008)
- Version 1.3 (07 Feb 2008)
- Version 1.2 (21 July 2007)
- Version 1.1 (22 Dec 2006)
- Version 1.0 (17 Apr 2006)
- All Committers

## Introduction and explanation of symbols

Changes are sorted by "type" and then chronologically with the most recent at the top. These symbols denote the various action types:=add, =fix, =remove, =update

## Version 1.5 (20 October 2012)

### Changes to the Code Base

- Add double format utility to improve thread safety and performance. Committed by GA. Thanks to Julien Aymé. See Issue 43940.
- Add two PNG image loaders, one using internal XGC PNG code, the other using an externally supplied IDAT chunk (for raw decoding). Committed by GA. Thanks to Luis Bernardo, Matthias Reischenbacher. See Issue 53408.
- Upgrade to checkstyle-5.5 and ensure no warnings. Committed by GA. See Issue 53352.
- Improve performance for certain kinds of PNG images. Committed by GA. Thanks to Luis Bernardo. See Issue 51149.
- Fix handling of values less than 1E-300. Committed by GA. Thanks to Julien Aymé. See Issue 53327.
- Unify date formatting between FOP and XGC as well as tidying the date format code. Committed by GA. Thanks to Robert Meyer. See Issue 53184.
- Fix for XGC when rendering PostScript using SVG being drawn upside down when using a custom affine transform. Committed by GA. Thanks to Robert Meyer. See Issue 53177.
- Support rdf:resource attributes in XMP. Committed by GA. Thanks to Brian Carlson. See Issue 50497.
- Should never use Error to report runtime errors. Committed by GA. Thanks to Sebastian Bazley. See Issue 47174.
- Ensure that throwables have meaningful messages. Committed by GA. Thanks to Sebastian Bazley. See Issue 47175.
- Support for T.4 Group 3 1D encoding. Committed by PH. Thanks to Mehdi Houshmand. See Issue 51911.
- Fixed a bug formatting ISO 8601 dates with negative two-digit time zones. Committed by JM. Thanks to Florian Barbera, Vila Bollain. See Issue 51039.
- Allow to override priority when registering an ImageWriter on the ImageWriterRegistry. Committed by JM. Thanks to Joshua Marquart. See Issue 49696.
- Fix for TIFFs which report zero as their resolution. This resulted in an exception. Committed by JM.
- Removed dependency on com.sun classes to achieve compatibility with Apache Harmony, OpenJDK and possibly other JVMs. Committed by JM.
- Removal of the deprecated TextHandler.drawString(String, float, float) method. Committed by JM.
- Fix corner cases involving long/double conversion and rounding error in double division when rounding 5E-N for certain N. Committed by GA. Thanks to Julien Aymé. See Issue 53327.
- Fix determination of use of precise vs fast formatting in order to fix regression with value 5.22534294505995E-4, decimals: 17, precision: 17. Committed by GA. Thanks to Julien Aymé. See Issue 53327.
- Fix handling of NaN, {+,-}Infinity, and other edge cases in double format utility. Committed by GA. Thanks to Julien Aymé. See Issue 43940.
- Use new double format utility. Committed by GA. Thanks to Julien Aymé. See Issue 43940.
- Minor build improvements to eliminate warning and parameterize junit formatting. Eliminate (5) deprecation warnings. Committed by GA.
- Various code style fixes Committed by JM. Thanks to Glenn Adams. See Issue 49703.

### Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Glenn Adams (GA), Jeremias Märki (JM), Peter Hancock (PH).

This is a list of other contributors:
Brian Carlson, Florian Barbera, Vila Bollain, Glenn Adams, Joshua Marquart, Julien Aymé, Luis Bernardo, Luis Bernardo, Matthias Reischenbacher, Mehdi Houshmand, Robert Meyer, Sebastian Bazley.

## Version 1.4 (7 July 2010)

### Changes to the Code Base

- Added getter and setter for enabling/disabling comments in PSGenerator. Committed by JM. Thanks to Julien Aymé. See Issue 49250.
- Small optimization which only generates code for a clipping area if an element is not fully inside the clipping area. Committed by JM. Thanks to Calixte Denizet. See Issue 49056.
- Added option to enable/disable the generation of compact vs. verbose PostScript code. Committed by JM. See Issue 48797.
- Added shorthands for many PostScript commands to get more compact PostScript files. Committed by JM. Thanks to Calixte Denizet. See Issue 48797.
- Added code for supporting the AdobeStandardCyrillic encoding. Committed by JM. Thanks to Andrey Koltunov. See Issue 48395.
- Added interface for Color Conversions. Committed by CB. Thanks to Peter Hancock. See Issue 48237.
- Added support for configurable additional penalties for preloader, loader and converter plug-ins in the ImageImplRegistry (in addition to the hard-coded penalties). Committed by JM.
- Enabled native encoding of CMYK images for PostScript output. Committed by JM. Thanks to Venkat Reddy. See Issue 48264.
- Support loading of ICC Profiles from PNG and JPEG when used through ImageIO. Committed by MB.
- Added 60 seconds expiration for invalid URIs in the image cache to recover from temporarily unavailable images. Committed by JM.
- Added TexturePaint support for PSGraphics2D (PostScript tiling patterns). Committed by JM. Thanks to Jiří Kunhart. See Issue 46583.
- XMP framework: Added support for the structure property shorthand form and for specifying simple property values as attributes on rdf:Description elements. Committed by JM.
- Added RefinedImageFlavor to the image loading framework for better refinement of image flavors. Committed by JM.
- Two properties didn't get copied in copy constructor of PSState. Committed by JM. Thanks to Julien Aymé. See Issue 49364.
- Bugfix for detecting multi-strip CCITT-encoded TIFFs. Committed by JM.
- Bugfix: Properly handle file URLs where URL.getHost() is an empty string. Committed by JM.
- Bugfix: Clip area got lost while cloning GraphicContext. Committed by JM.
- Switched from linear RGB to sRGB for the fallback color model, in order to avoid trouble with some images (CMYK TIFF, for example). Committed by JM.
- Bugfix: reset graphic state when a page is finished in PostScript. Committed by JM.
- Bugfix: glyph names starting with ‘u’ but not in the ‘official’ glyph list could cause a StringIndexOutOfBoundsException because they were parsed as u1234-like unicode values. Committed by VH.
- Bugfix: Streams were not closed in Service class. Committed by JM.
- Catching IllegalArgumentException in XMPSerializer when the Transformer implementation in use doesn't support the INDENT key. Committed by JM.
- Added the ability to assign a string value for a key in a postscript dictionary. Committed by AC. Thanks to Jiří Kunhart. See Issue 46292.
- Made loading images via Image I/O more robust: A PNG with a zero resolution should fall back to the default resolution. Committed by JM. See Issue 45789.
- JPEGPreloader: Fixed interpretation of JPEG resolution when "dots per centimeter" is specified. Committed by JM. See Issue 45835.
- Bugfix: Added missing start/endPrefixMapping() calls when serializing XMP packets. Committed by JM.
- Optimization for PostScript state handling in (E)PSDocumentGraphics2D. Committed by JM. Thanks to Julien Aymé. See Issue 49339.
- PS output: Using shorthand procedures for rectangles instead of the generic shape processor. Committed by JM. Thanks to Julien Aymé. See Issue 49338.
- Moved method disableClipping from AbstractPSDocumentGraphics2D to PSGraphics2D. Committed by JM. Thanks to Julien Aymé. See Issue 49337.

### Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Adrian Cumiskey (AC), Chris Bowditch (CB), Jeremias Märki (JM), Max Berger (MB), Vincent Hennebert (VH).

This is a list of other contributors:
Andrey Koltunov, Calixte Denizet, Jiří Kunhart, Julien Aymé, Peter Hancock, Venkat Reddy.

## Version 1.3.1 (11 June 2008)

### Changes to the Code Base

- Added fallbacks for Type 1 fonts which don't have the normal "one", "two" etc. glyphs, but actually only provide "oneoldstyle", "twooldstyle" etc. Committed by JM.
- Added an image loader for XML Graphics Commons' internal TIFF codec. Committed by JM.
- Added image processing hints to ignore an optionally embedded color profile in JPEG images. Committed by JM.
- Made file URLs with a host (as happens when using UNC paths) work when loading images. Committed by JM. See Issue 44902.
- Bugfix for classpath resources: the code doesn't just check the system class loader anymore. Committed by MB.
- Bugfix for a potential multi-threading issue concerning the use of the java.text package. Committed by JM.
- Bugfix for extracting ICC color profiles from JPEG images. Committed by JM.
- Fixed two cases of unclosed input streams in image loader code. Committed by JM.
- Bugfix for unhandled NumberFormatException in Glpyhs when a unknown glyph name starting with "u" is found. Committed by JM.
- Bugfix for ImageEncodingHelper which produced false results if an image's sample model used BGR instead of RGB. Committed by JM.
- Fixed behaviour for the cases where a corrupt PNG image is encountered. Committed by JM.
- Bugfix for EOFException when pre-loading very small PNG images (file size < 88 bytes). Committed by JM.

### Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Jeremias Märki (JM), Max Berger (MB).

## Version 1.3 (07 Feb 2008)

### Changes to the Code Base

- Image Loading: Support for passing in SAXSource instance. Committed by JM. Thanks to Adam Strzelecki. See Issue 44466.
- The package org.apache.xmlgraphics.image.loader was added. It contains a general image loading framework for various image formats (bitmap & vector). Committed by JM.
- XMP: Added support for structured properties. Committed by JM.
- PostScript: Added classes for "BoundingBox" DSC comments. Committed by JM.
- Added support for classpath resources (find files in JAR files in the classpath using their MIME type) Committed by JM. Thanks to Max Berger. See Issue 42980.
- Application of the patch in Bugzilla 43069: New Macro safe-set-page-device which guards against the possibility of invalid/unsupported postscript key/values being issued to the implementing postscript page device Committed by CB. Thanks to Adrian Cumiskey. See Issue 43069.
- Bugfix for ISO 8601 date formatting with negative time zones in the XMP package. Committed by JM.
- Bugfix for XMP serialization: arrays with only one entry were serialized as simple property which could lead to information loss for merge operations. Committed by JM.
- PostScript: Fixed %%EOF checking for nested documents. Committed by JM.
- PostScript: Improved robustness of DSC parsing (multi-line comments with no value on the first line don't cause crashes anymore, fallback for unparsable DSC comments). Committed by JM.
- Fixed a possible NPE in the TIFF codec (in the TIFFImage constructor). Committed by JM. Thanks to Sergey Orlov. See Issue 43120.
- Support for Java 1.3 has been dropped. Java 1.4 or later is required now. Committed by JM.
- PostScript: Improved PSImageUtils by introducing the ImageEncoder interface and allowing for streams instead of byte arrays for data transfer which can lower memory consumption. Committed by JM.

### Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Chris Bowditch (CB), Jeremias Märki (JM).

This is a list of other contributors:
Adam Strzelecki, Adrian Cumiskey, Max Berger, Sergey Orlov.

## Version 1.2 (21 July 2007)

### Changes to the Code Base

- Added support for CMYK and GRAY color spaces for PSGenerator (moved there from PSGraphics2D). Committed by JM. Thanks to Adrian Cumiskey. See Issue 42507.
- Fixed literal text string escaping in PSGenerator. Some characters were not properly escaped. Committed by JM.
- Fixed the PDF/A namespace according to ISO-19005-1:2005/Cor.1:2007 and deprecated the use of the draft PDF/A namespace used by Adobe Acrobat 7.x. Committed by JM.

### Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Jeremias Märki (JM).

This is a list of other contributors:
Adrian Cumiskey.

## Version 1.1 (22 Dec 2006)

### Changes to the Code Base

- Added the start of an XMP metadata framework. Committed by JM.
- ImageWriter abstraction now supports writing multi-page formats like TIFF. Committed by JM.
- ImageWriter implementation for TIFF output using Image I/O API. Committed by JM.
- Default implementation for AbstractGraphics2D.drawText(ACI, float, float) so PSGraphics2D supports painting text using the AttributedCharacterIterator. Committed by JM. Thanks to Max Berger.
- Various fixes and improvements in the ImageWriter abstraction. Committed by JM.
- Bugfix: The generation of the PostScript setdash command was assuming that only integer values can be used but that isn't the case. Committed by JM.

### Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Jeremias Märki (JM).

This is a list of other contributors:
Max Berger.

## Version 1.0 (17 Apr 2006)

### Changes to the Code Base

- Initial release with several components from Batik and FOP: Image codecs, Image writer abstraction, I/O classes, Java2D helpers, PostScript library with Graphics2D implementation. Committed by JM.

### Contributors to this release

We thank the following people for their contributions to this release.

This is a list of all people who participated as committers:
Jeremias Märki (JM).

## All Committers

This is a list of all people who have ever participated as committers on this project.

- Glenn Adams (GA)
- Max Berger (MB)
- Chris Bowditch (CB)
- Adrian Cumiskey (AC)
- Christian Geisert (CG)
- Peter Hancock (PH)
- Vincent Hennebert (VH)
- Clay Leeds (CL)
- Jeremias Märki (JM)
- Cameron McCormack (CM)
- Simon Pepping (SP)