<?xml version="1.0"?>
<!--
   ====================================================================
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
   this work for additional information regarding copyright ownership.
   The ASF licenses this file to You under the Apache License, Version 2.0
   (the "License"); you may not use this file except in compliance with
   the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
   ====================================================================
-->
<!DOCTYPE changes PUBLIC "-//APACHE//DTD Changes V1.1//EN" "./dtd/changes-v11.dtd">

<changes title="History of Changes">
    <devs>
        <!-- in strict alphabetical order -->
        <person id="AB" name="Andreas Beeker" email="kiwiwings@apache.org" />
        <person id="AO" name="Andrew C. Oliver" email="acoliver2@users.sourceforge.net" />
        <person id="DS" name="Dominik Stadler" email="centic@apache.org" />
        <person id="GJS" name="Glen Stampoultzis" email="user@poi.apache.org" />
        <person id="JM" name="Josh Micich" email="josh@apache.org" />
        <person id="MJ" name="Marc Johnson" email="mjohnson@apache.org" />
        <person id="NKB" name="Nicola Ken Barozzi" email="barozzi@nicolaken.com" />
        <person id="NB" name="Nick Burch" email="nick@torchbox.com" />
        <person id="PD" name="POI Developers" email="dev@poi.apache.org" />
        <person id="RK" name="Rainer Klute" email="klute@apache.org" />
        <person id="UC" name="Ugo Cei" email="ugo@apache.org" />
        <person id="US" name="Uwe Schindler" email="uschindler@apache.org" />
        <person id="YK" name="Yegor Kozlov" email="yegor@apache.org" />
    </devs>

    <!-- release version="3.13-beta1" date="2015-??-??">
    </release -->

    <release version="3.12" date="2015-05-11">
        <action dev="PD" type="add">Initial XWPFStyles support for working with default document paragraph and run styles</action>
        <action dev="PD" type="fix" fixes-bug="57889">Fix potential NPE in XWPFParagraph.getNumFmt()</action>
        <action dev="PD" type="fix">If an empty file or stream is given to WorkbookFactory.create, give a more informative exception - EmptyFileException</action>
        <action dev="PD" type="fix" fixes-bug="57552">Sort PackagePart returns from OPCPackage by name considering numbers in filenames, so Image10.png comes after Image9.png, fixing problems with XSLF adding 10+ images to a slide</action>
        <action dev="PD" type="fix" fixes-bug="57880">Handle &gt;32,767 cell styles and formats in XSSF (file format limit is 64,000)</action>
        <action dev="PD" type="add" fixes-bug="57593">Allow WorkbookFactory.create methods to open xlsx files protected with the default password</action>
        <action dev="PD" type="add" fixes-bug="57593">Add overloaded WorkbookFactory.create methods which take the spreadsheet password</action>
        <action dev="PD" type="fix" fixes-bug="57666">When removing a SXSSF sheet, ensure temp files associated with it are disposed of</action>
        <action dev="PD" type="fix" fixes-bug="57826">If a XSSF shape has a buFont but no bullet character, mirror Excel and treat as un-bulleted</action>
        <action dev="PD" type="fix" fixes-bug="57642">Fix setSheetName with ISERROR on XSSF</action>
        <action dev="PD" type="add" fixes-bug="57747">Add ISERR() function</action>
        <action dev="PD" type="fix" fixes-bug="57829">Avoid XmlValueDisconnectedException when removing a XWPFRun from a XWPFParagraph by removing from IRuns as well</action>
        <action dev="PD" type="fix" fixes-bug="57851">Skip null properties in PropertyTableBase, which is how PropertyFactory reports unsupported POIFS properties</action>
        <action dev="PD" type="fix" fixes-bug="57820">Avoid NPE on HSLF Tables with a top position of -1</action>
        <action dev="PD" type="fix" fixes-bug="56579">Throw exception if max string length of 32767 chars is exceeded in XSSF and SXSSF.</action>
        <action dev="PD" type="fix" fixes-bug="55386">Fix handling of bold formatting in example application 'ToHtml'</action>
        <action dev="PD" type="fix" fixes-bug="47304">Use fixed encoding when extracting text in WordDocument</action>
        <action dev="PD" type="fix" fixes-bug="56017">Fix shifting comments with shifted rows</action>
        <action dev="PD" type="fix" fixes-bug="56295">Fix cloning of styles across workbooks and handling of default value of attribute applyFill</action>
        <action dev="PD" type="fix" fixes-bug="56380">Remove limitation of 1024 comments per Workbook</action>
        <action dev="PD" type="fix" fixes-bug="56467">Fix cloning of sheets with pictures</action>
        <action dev="PD" type="add">More helpful ExtractorFactory exception if given a Visio VSDX ooxml file</action>
        <action dev="PD" type="fix" fixes-bug="56799">Include CTTblGrid in the smaller poi-ooxml-schemas jar</action>
        <action dev="PD" type="fix" fixes-bug="57165">Avoid PartAlreadyExistsException when removing/cloning sheets</action>
        <action dev="PD" type="fix" fixes-bug="56893">Additional check for supported string-length to avoid creating broken XLS files later one</action>
        <action dev="PD" type="fix">When saving an OPCPackage with no Core Properties (eg from Jasper Reports), ensure they are always added even if not yet used</action>
        <action dev="PD" type="fix" fixes-bug="github-18">Handle documents with a picture-only header</action>
        <action dev="PD" type="fix" fixes-bug="57622">Change from XMLEventFactory.newFactory to XMLEventFactory.newInstance, for IBM JDK Compatibility</action>
    </release>

    <release version="3.12-beta1" date="2015-02-28">
        <action dev="PD" type="fix" fixes-bug="57459">Add method in SXSSFSheet to directly set row OutLineLevel</action>
        <action dev="PD" type="fix" fixes-bug="57456">Add workaround to read empty SSTRecord where Excel puts random number in unique-strings-count-field</action>
        <action dev="PD" type="fix" fixes-bug="57535">Add POI-specific error codes to FormulaError</action>
        <action dev="PD" type="add">Start on common interfaces for Paragraphs and Character Runs for HWPF and XWPF</action>
        <action dev="PD" type="add">Double Strikethrough support for XWPF runs, along the lines of the HWPF support</action>
        <action dev="PD" type="fix" fixes-bug="57482">Handle XSSF .xlsx files with no shared strings table in read-only mode</action>
        <action dev="PD" type="fix">ExtractorFactory opening of OPCPackage from File should be read-only by default, as text extracting will never change things</action>
        <action dev="PD" type="add">XSSFSheet support for getDrawingPatriarch(), alongside the existing createDrawingPatriarch() method</action>
        <action dev="PD" type="fix">TIKA-1515 - Handle Excel 3 files with a 0x8001 codepage</action>
        <action dev="PD" type="add" fixes-bug="53453">Add methods to set margins in sections of HWPF documents</action>
        <action dev="PD" type="fix" fixes-bug="46898">XSSF: Return #VALUE! for circular references.</action>
        <action dev="PD" type="fix" fixes-bug="46192">Add methods to query outline level for HSSF and XSSF</action>
        <action dev="PD" type="fix" fixes-bug="56240">Handle PP97_DUALSTORAGE streams</action>
        <action dev="PD" type="fix" fixes-bug="47261">SlideShow.removeSlide makes PPT corrupted</action>
        <action dev="PD" type="add" fixes-bug="49541">Mapping of symbol characters to unicode equivalent</action> 
        <action dev="PD" type="add" fixes-bug="54541">Add support for cropped images in Slide.draw()</action>
		<action dev="PD" type="add" fixes-bug="57007">Add initial implementations of DMIN and DGET functions</action>
        <action dev="PD" type="add">Support for Office Binary Document RC4 CryptoAPI Encryption for HSLF</action>
        <action dev="PD" type="add" fixes-bug="57195">Support for Office Binary Document RC4 Encryption</action>
    	<action dev="PD" type="fix" fixes-bug="57373">Fix get/setFirstVisibleTab() for XSSFWorkbook</action>
    	<action dev="PD" type="fix" fixes-bug="57362">Properly initialize chart-axis datastructure when loading a spreadsheet which already contains one.</action>
    	<action dev="PD" type="fix" fixes-bug="56511">Fix NullPointerException for RichText strings with no formatting for some runs.</action>
    	<action dev="PD" type="add" fixes-bug="56550">Avoid IBM JDK fail immediately during loading some POI classes, note: IBM JDK 1.7 or higher is needed because of XML APIs.</action>
    	<action dev="PD" type="add" fixes-bug="56595">Switch the cache in DateUtil.isADateFormat() to ThreadLocals to not have another syncpoint here.</action>
    	<action dev="PD" type="fix" fixes-bug="56644">NullPointerException in XSSFCell Constructor with different MissingCellPolicy</action>
    	<action dev="PD" type="fix" fixes-bug="56888">XSSFDataValidation ignores "allow blank" read from sheet, assumes true</action>
    	<action dev="PD" type="fix" fixes-bug="57171">Adjust the active sheet in setSheetOrder()</action>
    	<action dev="PD" type="fix" fixes-bug="57163">Adjust the active sheet in removeSheet()</action>
    	<action dev="PD" type="fix" fixes-bug="57231">Add missing ArrayRecord.clone()</action>
        <action dev="PD" type="add">Expose the version information from OldExcelExtractor</action>
        <action dev="PD" type="fix" fixes-bug="57071">3+ XSSF column label names for pivot tables</action>
        <action dev="PD" type="add" fixes-bug="57063">XSSF custom column label names for pivot tables</action>
        <action dev="PD" type="fix" fixes-bug="57254">XWPF: Correctly build internal list of styles when styles are added</action>
        <action dev="PD" type="fix" fixes-bug="57312">XWPF: Add check for null value of underline w:val</action>
    </release>

    <release version="3.11" date="2014-12-21">
        <action dev="PD" type="fix" fixes-bug="57479">Typo in HSSFWorkbook javadocs and quick-guide.</action>
        <action dev="PD" type="fix" fixes-bug="57480">Fix some unnecessary casts, generics, Eclipse warnings, ...</action>
        <action dev="PD" type="add">Added workarounds to tests for JDK 6 LineBreakMeasurer bug</action>
        <action dev="PD" type="fix" fixes-bug="57250">XMLSlideShow.setSlideOrder() produces corrupted CTSlideIdList</action>
        <action dev="PD" type="fix" fixes-bug="57272">Deadlock on corrupted PPT file</action>
        <action dev="PD" type="fix">XML signatures - ignore line breaks in Office 2007 .rels files</action>
        <action dev="PD" type="add">Basic text extractor for older Excel 5 and 95 formats</action>
        <action dev="PD" type="add">Basic text extractor for very old Excel formats such as Excel 4 (Biff4)</action>
        <action dev="PD" type="fix">ClassCastException in validating xml signatures due to missing xml beans resources</action>
        <action dev="PD" type="fix" fixes-bug="57171">Adjust active sheet correctly when sheets are moved.</action>
        <action dev="PD" type="fix" fixes-bug="57163">Adjust active sheet correctly when sheets are removed.</action>
        <action dev="PD" type="fix" fixes-bug="57164">XSSFDrawing.createCellComment() does not honor dx and dy values passed in</action>
        <action dev="PD" type="add" fixes-bug="55967">Picture method to resize with different scales in width and height</action>
        <action dev="PD" type="add" fixes-bug="github-13">Add Cell.removeHyperlink() for HSSF and XSSF</action>
    </release>

    <release version="3.11-beta3" date="2014-11-11">
        <action dev="PD" type="add" fixes-bug="57003">Implement FIXED function</action>
        <action dev="PD" type="add" fixes-bug="github-7">Form check box extraction with XWPFWordExtractor</action>
        <action dev="PD" type="add" fixes-bug="github-11">Add Sheet.getDataValidations() for HSSF and XSSF</action>
        <action dev="PD" type="add" fixes-bug="github-12">Add Comment.getClientAnchor() for HSSF and XSSF</action>
        <action dev="PD" type="fix" fixes-bug="57185">Correct naming from "Serie" to "Series"</action>
        <action dev="PD" type="fix" fixes-bug="57176">Include CTDefinedNamesImpl in the smaller poi-ooxml-schemas jar</action>
        <action dev="PD" type="fix" fixes-bug="57162">Could not open macro enabled xlsm file after writing using POI3.11beta2 version</action>
        <action dev="PD" type="add" fixes-bug="57010">Add implementation of function PROPER</action>
        <action dev="PD" type="fix" fixes-bug="57166">Add missing HSSFWorkbook constructor javadocs</action>
        <action dev="PD" type="add" fixes-bug="57151">And documentation and validation in CellRangeAddress to prevent invalid row/column combinations</action>
        <action dev="PD" type="add" fixes-bug="55164">Support for adding slide notes</action>
        <action dev="PD" type="fix" fixes-bug="57143">Javadocs and throws clause for WorkbookUtil</action>
        <action dev="PD" type="add" fixes-bug="54542">Add support for cropped images in XSLFPictureShape.drawContent()</action>
        <action dev="PD" type="add">added ooxml-security-1.0 to the maven artifacts</action>
        <action dev="PD" type="fix" fixes-bug="55864">XSSFImportFromXML.importFromXML() does not support optional elements</action>
        <action dev="PD" type="fix" fixes-bug="56835">Unreadable content when adding multiple comments to cell</action>
        <action dev="PD" type="add">SheetUtil.getCellWithMerges for getting a cell at a co-ordinate, or the primary one of it's merged region if it's a merged cell</action>
        <action dev="PD" type="add" fixes-bug="56836">XML signature support</action>
        <action dev="PD" type="fix" fixes-bug="57080">IndexOutOfBoundsException in poi decryptor</action>
        <action dev="PD" type="add">The minimum Apache Ant version required to build has been increased to 1.8.x or later</action>
        <action dev="PD" type="add" fixes-bug="56956">Add a NPOIFSFileSystem constructor with a FileChannel and the read-only option</action>
        <action dev="PD" type="fix" fixes-bug="56914">XSSFRowShifter.updateConditionalFormatting throws IOOBE when there are more than 1 CTConditionalFormatting</action>
        <action dev="PD" type="fix" fixes-bug="56913">Replace usages of o.a.p.util.ArrayUtil.copyOf* methods with replacements from j.u.Arrays</action>
        <action dev="PD" type="fix" fixes-bug="51483">XSSF locking of specific features not working</action>
        <action dev="PD" type="fix" fixes-bug="48195">Formulas: Fix incorrect evaluation of IF() with ROW()/COLUMN() as else-result.</action>
        <action dev="PD" type="fix" fixes-bug="55280">XSSF: Greatly improve performance of shifting rows in sheets with many merged regions.</action>
        <action dev="PD" type="fix" fixes-bug="51222">XSSFColor.getARGBHex() returns wrong color for Excel 2007 xlsx file</action>
        <action dev="PD" type="fix" fixes-bug="56730">Fix exporting XML if schema contains ref-elements</action>
        <action dev="PD" type="fix" fixes-bug="56864">XWPFLatentStyles.isLatentStyle always returns true if there is at least 1 lsdException</action>
        <action dev="PD" type="fix" fixes-bug="56854">XMLBeans performance when using getXXXList() and other proxy methods</action>
    </release>

    <release version="3.11-beta2" date="2014-08-22">
        <action dev="PD" type="fix" fixes-bug="56812">For XSLF Pictures, provide a way to get the URI of externally linked pictures</action>
        <action dev="PD" type="fix" fixes-bug="54764">On supported XML parser versions (Xerces or JVM built-in, XMLBeans 2.6), enforce sensible limits on entity expansion in OOXML files, and ensure that subsequent normal files still pass fine (CVE-2014-3574)</action>
        <action dev="PD" type="fix">Recommended Apache XMLBeans version increased to 2.6.0 (any version from 2.3.0 or later will work though)</action>
        <action dev="PD" type="fix" fixes-bug="56800">Provide a helpful exception, XLSBUnsupportedException, if XSSFWorkbook is passed a .xlsb file</action>
        <action dev="US" type="fix" fixes-bug="56814">Switch from dom4j to JAXP</action>
    </release>

    <release version="3.10.1" date="2014-08-18">
        <action dev="PD" type="fix" fixes-bug="54764">On supported XML parser versions (Xerces or JVM built-in, XMLBeans 2.6), enforce sensible limits on entity expansion in OOXML files, and ensure that subsequent normal files still pass fine (CVE-2014-3574)</action>
        <action dev="PD" type="fix" fixes-bug="56164">Tidy up the OPC SAX setup code with a new common Helper, preventing external entity expansion (CVE-2014-3529)</action>
    </release>

    <release version="3.11-beta1" date="2014-08-04">
        <action dev="PD" type="fix" fixes-bug="56164">Tidy up the OPC SAX setup code with a new common Helper, preventing external entity expansion (CVE-2014-3529)</action>
        <action dev="PD" type="fix" fixes-bug="55196">Correct XWPF createTOC handling of short style names</action>
        <action dev="PD" type="fix" fixes-bug="55050">If the start+end row and cell are the same on an AreaPtg, avoid inverting the relative flag</action>
        <action dev="PD" type="fix" fixes-bug="54725">HWPF where no parent style CHP exists, use an empty set when processing the style to avoid a NPE</action>
        <action dev="PD" type="fix" fixes-bug="56502">When shifting XSSF rows with formula cells, if the formula can't be parsed, log + leave it unchanged rather than failing</action>
        <action dev="PD" type="fix" fixes-bug="56527">Avoid NPE from XSSFHyperLink when setting the cell it references on a new link</action>
        <action dev="PD" type="fix" fixes-bug="53984">If an unsupported BofRecord is found for a sheet, warn and skip rather than breaking</action>
        <action dev="PD" type="fix" fixes-bug="53984">Support the ColInfoRecord coming after the cells, rather than before as is normal</action>
        <action dev="PD" type="fix" fixes-bug="56132">Allow XSSF formula evaluation to also skip missing external workbook references, if requested, in line with existing HSSF support</action>
        <action dev="PD" type="add" fixes-bug="56020">XSSF support for creating Pivot Tables</action>
        <action dev="PD" type="add" fixes-bug="55906">Formula Evaluator support for multi-sheet references for those functions which support them, eg SUM(Sheet1:Sheet3!A1:B2)</action>
        <action dev="PD" type="add" fixes-bug="56023">Allow XSSF event model to find + return comments, and use this for the event based .xlsx text extractor. Required backwards-incompatible updates to XSSFSheetXMLHandler.SheetContentsHandler</action>
        <action dev="PD" type="fix" fixes-bug="56194">HPSF thumbnail format tags are Int not UInt</action>
        <action dev="PD" type="fix" fixes-bug="56735">Allow a system wide setting of where Temp files (eg for SXSSF) go, via TempFile / TempFileCreationStrategy</action>
        <action dev="PD" type="fix" fixes-bug="56683">Have XMLBeans request UTF-8 for strings by default, to avoid issues on the odd platform where that isn't already the case</action>
        <action dev="PD" type="fix" fixes-bug="54443">Correct HSSFOptimiser logic for the case where the to-keep style wasn't previously in use</action>
        <action dev="PD" type="add" fixes-bug="56737">XSSF support for evaluating formula references to other Workbooks</action>
        <action dev="PD" type="fix" fixes-bug="56688">Fix border cases in EDATE function: handle RefEval and BlankEval and also return #VALUE, not #REF in case of error</action>
        <action dev="PD" type="add" fixes-bug="56744">Initial support for XSSF External Links tables, which hold references to other workbooks referenced by formulas and names</action>
        <action dev="PD" type="fix" fixes-bug="56702">If a cell is of type numeric but has an empty &lt;v/&gt; tag, return as 0</action>
        <action dev="PD" type="fix" fixes-bug="56537">Make Workbook be Closeable, so you can call close() to explicitly free the file based resources when you're done</action>
        <action dev="PD" type="fix" fixes-bug="54771">Read text from SDTs at the table cell level, including (sometimes) Cover Page, Table of Contents and Bibliography</action>
        <action dev="PD" type="fix" fixes-bug="56556">Change how ColumnHelper finds CTCol instances, to speed up the more common use case when most are wanted for reading</action>
        <action dev="PD" type="fix" fixes-bug="56572">HSSFCell should follow XSSF, and allow setting a null-style to return to the default style</action>
        <action dev="PD" type="fix" fixes-bug="56563">Fix multithreading bug when reading 2 similar files</action>
        <action dev="PD" type="fix" fixes-bug="53691">Fix a copy/paste error in CFRuleRecord.clone() </action>
        <action dev="PD" type="fix" fixes-bug="56170">Fix a problem with cells in workbooks becoming disconnected</action>
        <action dev="PD" type="fix" fixes-bug="56514">Add missing null-check if simple shape does not</action>
        <action dev="PD" type="fix" fixes-bug="56325">Bug 54400 introduced a problem when removing a sheet with named ranges</action>
        <action dev="PD" type="fix" fixes-bug="47251">NoteRecord can sometimes be double-padded if there's no author set</action>
        <action dev="PD" type="fix" fixes-bug="54034">Handle date format strings in an iso8601 style format, with a T in them</action>
        <action dev="PD" type="fix" fixes-bug="56274">Correct SXSSF writing of tables when creating from a template</action>
        <action dev="PD" type="fix" fixes-bug="56468">Writing a workbook more than once corrupts the file</action>
        <action dev="PD" type="fix" fixes-bug="53983">Outlook sometimes stores a codepage of ANSI when it means 1252, detect and alias</action>
        <action dev="PD" type="add" fixes-bug="56486">Add XOR obfuscation/decryption support to HSSF</action>
        <action dev="PD" type="add" fixes-bug="56269">DateFormat - Rounding of fractionals</action>
        <action dev="PD" type="fix" fixes-bug="56482">Excel 2007 and later allows for more than 3 Conditional Formatting rules per sheet, so change our hard limit to logging a compatibility warning</action>
        <action dev="PD" type="add">Add NPOIFS in-place write support, including updating the contents of existing entries</action>
        <action dev="PD" type="add">Complete NPOIFS write support</action>
        <action dev="PD" type="fix" fixes-bug="56447">NPOIFS fixes for 2+gb files loaded via File (InputStream is limited to 2gb due to ByteBuffer limits)</action>
        <action dev="PD" type="fix" fixes-bug="56450">Avoid a NPE if a comment has no associated NoteRecord (but we still don't know where it belongs)</action>
        <action dev="PD" type="fix" fixes-bug="56437">Streaming write support in NPOIFS</action>
        <action dev="PD" type="fix" fixes-bug="56315">Fix floating point rounding problems with ROUND function</action>
        <action dev="PD" type="fix" fixes-bug="55594">Fix SXSSF encodings on EBCIDIC platforms, by setting the required encoding explicitly</action>
        <action dev="PD" type="fix" fixes-bug="56278">Support loading .xlsx files with no Styles Table</action>
        <action dev="PD" type="fix" fixes-bug="56195">Replace System.err in XSSFSheetXMLHandler with propert logging</action>
        <action dev="PD" type="fix" fixes-bug="56169">Fix NPE during export to XML with xs:all</action>
        <action dev="PD" type="fix" fixes-bug="55923">Fix compare/sorting of nodes in exported XML</action>
        <action dev="PD" type="fix" fixes-bug="55926">Handle numeric formula values when exporting to XML</action>
        <action dev="PD" type="fix" fixes-bug="55927">Handle date types when exporting to XML</action>
        <action dev="PD" type="add">Stop being compatible to JDK 1.5, we now require JDK 6</action>
        <action dev="PD" type="fix" fixes-bug="56011">Use default style if the cell style attribute is not present</action>
        <action dev="PD" type="add">Upgrade third party libs to latest versions: commons-logging, commons-codec, log4j</action>
        <action dev="PD" type="fix" fixes-bug="56260">Avoid warnings when a TextHeaderAtom is empty and has another straight after, or where there's a TextRulerAtom / MasterTextPropAtom / TextSpecInfoAtom before the Text Chars / Bytes</action>
        <action dev="PD" type="add" fixes-bug="56075">Add Change Tracking support to XWPF</action>
        <action dev="PD" type="add" fixes-bug="56077">Add password hash function to HWPF</action>
        <action dev="PD" type="add" fixes-bug="56076">Add document protection with password support to XWPF</action>
        <action dev="PD" type="fix" fixes-bug="55026">Support OOXML ContentTypes which include parameters</action>
        <action dev="PD" type="fix" fixes-bug="55732">PPT can't open, fails with "Couldn't instantiate ... StyleTextProp9Atom"</action>
        <action dev="PD" type="fix" fixes-bug="56138">HSPF code page strings can be zero length</action>
        <action dev="PD" type="add" fixes-bug="53130">SXSSF Shared Strings option support</action>
        <action dev="PD" type="fix" fixes-bug="55902">Mixed fonts issue with Chinese characters (unable to form images from ppt)</action>
        <action dev="PD" type="add" fixes-bug="56022">XSSF Event Text Extractor header/footer support</action>
        <action dev="PD" type="fix" fixes-bug="53282">Hyperlink with a non-breaking space throws java.lang.IllegalStateException</action>
        <action dev="PD" type="fix" fixes-bug="55802">Special Letters not exported correct</action>
        <action dev="PD" type="add">Expose the StyleIndex of HWPF CharacterRuns</action>
        <action dev="PD" type="fix" fixes-bug="51891">Fix StringIndexOutOfBoundsException : Ole10Native.&lt;init&gt; (parsing word file)</action>
    </release>
    
    <release version="3.10-FINAL" date="2014-02-08">
        <action dev="PD" type="fix" fixes-bug="51585">WorkbookFactory.create() hangs when creating a workbook</action>
        <action dev="PD" type="add" fixes-bug="55873">Support for COUNTIFS function</action>
        <action dev="PD" type="fix" fixes-bug="55723">Inconsistent behavior in HSSFSheet.setAutoFilter() function, also make XSSF work when setAutoFilter is called multiple times</action>
        <action dev="PD" type="fix" fixes-bug="51158">Writing a workbook multiple times produces unreadable content</action>
        <action dev="PD" type="fix" fixes-bug="45776">Fix corrupt file problem using TextRun.setText</action>
        <action dev="PD" type="fix" fixes-bug="41246">AIOOBE with missing notes entries</action>
        <action dev="PD" type="fix" fixes-bug="48593">Multiple Saves Causes Slide Corruption</action>
        <action dev="PD" type="add" fixes-bug="55579">Support embedding OLE objects into HSLF</action>
        <action dev="PD" type="add" fixes-bug="55818">Add encryption support</action>
        <action dev="PD" type="fix" fixes-bug="55731">Fix StringBuilder logic in DataFormatter.cleanFormatForNumber </action>
        <action dev="PD" type="fix" fixes-bug="55730">Fix org.apache.poi.ss.usermodel.BuiltinFormats.java for 0x29-0x2c </action>
        <action dev="PD" type="fix" fixes-bug="55901">Avoid using RMI based exception from PropertySetFactory, as it's not needed nor helpful</action>
        <action dev="PD" type="fix" fixes-bug="55850">Fix NullPointerException during Xml-extraction from xslx</action>
        <action dev="PD" type="fix" fixes-bug="55640">Avoid IndexOutOfboundsException when setting nested row grouping</action>
        <action dev="PD" type="fix" fixes-bug="55745">fix handling of tables in XSSF if there are comments as well</action>
        <action dev="PD" type="add" fixes-bug="55560">Patch for hiding slides in HSLF</action>
        <action dev="PD" type="fix" fixes-bug="53176">Fixed auto shapes render problem in pptx files</action>
        <action dev="PD" type="add" fixes-bug="55661">CellStyle support for get/set Shrink To Fit</action>
        <action dev="PD" type="fix" fixes-bug="49237">HSSF Row Style XfIndex is 12 not 16 bits of data</action>
        <action dev="PD" type="fix" fixes-bug="53475">OOXML encrypted document fix for cspname being optional</action>
        <action dev="PD" type="fix" fixes-bug="55733">XWPFWordExtractor needs to handle .docx files with neither headers nor footers</action>
        <action dev="PD" type="fix" fixes-bug="55729">DataFormatter should format Error cells, returning the Excel error string</action>
        <action dev="PD" type="add" fixes-bug="55612">Performance improvement in HSSFCellStyle.getDataFormatString()</action>
        <action dev="PD" type="add" fixes-bug="55611">Performance improvement in DateUtil.isADateFormat(int, String)</action>
        <action dev="PD" type="add" fixes-bug="55578">Support embedding OLE1.0 packages in HSSF</action>
        <action dev="PD" type="add" fixes-bug="49658">Support embedding EMF/WMF pictures in HSSF</action>
        <action dev="PD" type="fix" fixes-bug="52400">Fix handling some types of TNEF files</action>
        <action dev="PD" type="fix" fixes-bug="54400">Updating the index in the LinkTable whenever sheets are removed</action>
        <action dev="PD" type="fix" fixes-bug="49940">Apply patch to avoid XmlValueDisconnectedException when saving a file twice</action>
        <action dev="PD" type="add" fixes-bug="55369">Add support for collapsing rows in SXSSF</action>
        <action dev="PD" type="fix" fixes-bug="55692">Give a more helpful error if an Encrypted .xlsx file is passed to HSSF</action>
        <action dev="PD" type="fix" fixes-bug="55650">Avoid AIOOBE if a non-existant Xfs is requested for a style</action>
        <action dev="PD" type="fix" fixes-bug="55658">Don't fail in SXSSF if a numeric cell is overwritten with a string</action>
        <action dev="PD" type="fix" fixes-bug="55341">Constants for HAIR and DOTTED border styles are swapped</action>
        <action dev="PD" type="add">Add Eclipse project files</action>
        <action dev="PD" type="add" fixes-bug="55647">When creating a temp file, ensure the name isn't already taken</action>
        <action dev="PD" type="add" fixes-bug="54722">Extract text from HSLF tables</action>
        <action dev="PD" type="add" fixes-bug="55544">Support for SHA-512 hashes on OOXML protected documents, as used by Office 2013</action>
    </release>
    
    <release version="3.10-beta2" date="2013-09-19">
        <action dev="PD" type="fix" fixes-bug="53798">Add fix for XmlValueDisconnectException during shifting rows</action>
        <action dev="PD" type="fix" fixes-bug="54524">Fix handling of special case in FormulaShifter</action>
        <action dev="PD" type="fix" fixes-bug="50298">Fix corruption of Workbook when setting sheet order</action>
        <action dev="PD" type="fix" fixes-bug="55419">Fix SimpleFractionException when fraction goes to greater than overflow</action>
        <action dev="PD" type="add" fixes-bug="54786">Add support for quoting in date formatting</action>
        <action dev="PD" type="fix" fixes-bug="52233">Do not make the XSSFSheet invalid during write()</action>
        <action dev="PD" type="add" fixes-bug="55195">MultiOperandNumericFunction.collectValue() currently uses concrete final classes but should use interfaces instead</action>
        <action dev="PD" type="fix" fixes-bug="55380">Endless loop in CellRangeUtil.mergeRanges() when regions are overlapping</action>
        <action dev="PD" type="add" fixes-bug="55347,45551">Integrate 55292 into XSSF extractors -- extract text from text boxes in xlsx files</action>
        <action dev="PD" type="fix" fixes-bug="55361">Tika 792 - Avoid CTMarkup NoSuchMethodException stack trace by adding two beans to ooxml-lite"</action>
        <action dev="PD" type="fix" fixes-bug="55294,52186">Fix column grouping in XSSF.</action>
        <action dev="PD" type="add" fixes-bug="55292">Enhancements to XSSFSimpleShape (textbox) including: ability to add multiple paragraphs, formatting (read/write) and text extraction.</action>
        <action dev="PD" type="fix" fixes-bug="55191">Avoid a ClassCastException if a HPSF string property isn't directly stored as a string</action>
        <action dev="PD" type="fix">HSMF ascii encoding detection should use the CodePage properties where available</action>
        <action dev="PD" type="fix">HSMF fixed length property parsing should be more forgiving of some type differences from the property default</action>
        <action dev="PD" type="fix" fixes-bug="54233">Some HPSF documents require UnicodeStrings to be 4-byte aligned, spot these from the otherwise invalid length</action>
        <action dev="PD" type="add">Upgrade version of JUnit to 4.11 to avoid problems when executing unit tests using Apache Ant >= 1.7</action>
    </release>
    
    <release version="3.10-beta1" date="2013-06-28">
        <action dev="PD" type="fix" fixes-bug="54925">Avoid issues if the length of a StyleTextPropAtom prop is longer than the parent text</action>
        <action dev="PD" type="fix" fixes-bug="54564">Fix error message text for a workbook with no sheets when a sheet operation is performed</action>
        <action dev="PD" type="fix" fixes-bug="53972">Presence of PLV record shouldn't affect HSSF Data Validation</action>
        <action dev="PD" type="fix" fixes-bug="55142">Not all XWPF SDT blocks need newlines</action>
        <action dev="PD" type="fix" fixes-bug="54920">XSSFDrawing.createCellComment causes CommentsTable to lose reference to comment in cell A1</action>
        <action dev="PD" type="fix" fixes-bug="54982">ExtractorFactory does not close files when extracting via OCPPackage.open()</action>
        <action dev="PD" type="fix" fixes-bug="54607">NullPointerException in XSSFSheet.getTopRow() when the top row is 1</action>
        <action dev="PD" type="fix" fixes-bug="54686">Improve how DataFormatter handles fractions</action>
        <action dev="PD" type="fix" fixes-bug="55066">Don't load XWPF Footnotes twice</action>
        <action dev="PD" type="add" fixes-bug="54849">Controlled content/Form (Std/StdBlock) content</action>
        <action dev="PD" type="fix" fixes-bug="github-2">HSSFWorkbook.getAllEmbeddedObjects() needs to recurse into container Shapes</action>
        <action dev="PD" type="add" fixes-bug="github-4">Expose from XWPFParagraph the number level and format, if applied</action>
        <action dev="PD" type="add" fixes-bug="github-3">Extract references from XWPF footnotes</action>
        <action dev="PD" type="fix" fixes-bug="55053">Update License links following ECMA site re-organisation</action>
        <action dev="PD" type="add" fixes-bug="49658">Support embedding EMF/WMF pictures in HSSF </action>
        <action dev="PD" type="add" fixes-bug="55047">REPT formula support </action>
        <action dev="PD" type="add" fixes-bug="55042">COMPLEX formula support </action>
        <action dev="PD" type="add" fixes-bug="55041">CODE formula support </action>
        <action dev="PD" type="fix" fixes-bug="55001">Support Unicode text (TextCharsAtom) in HSLF TextShape</action>
        <action dev="PD" type="fix" fixes-bug="54682">UnhandledDataStructure should sanity check before allocating, not after</action>
        <action dev="PD" type="add" fixes-bug="54673">Simple wildcard support in HLOOKUP, VOOLKUP, MATCH, COUNTIF </action>
        <action dev="PD" type="fix" fixes-bug="54625">Register user-defined functions in instance scope instead of static </action>
        <action dev="PD" type="fix" fixes-bug="54469">Support for financial functions IPMT and PPMT </action>
        <action dev="PD" type="fix" fixes-bug="54407">Avoid XmlValueDisconnectedException when merging slides </action>
        <action dev="PD" type="fix" fixes-bug="54356">Support of statistical function SLOPE</action>
        <action dev="PD" type="fix" fixes-bug="54403">Support of statistical function INTERCEPT</action>
        <action dev="PD" type="fix" fixes-bug="54557">Don't mis-detect format patterns like .000 as dates</action>
        <action dev="PD" type="fix" fixes-bug="54506">Support unusual .xls files with a BOOK directory entry (normally it is Workbook)</action>
        <action dev="PD" type="add" fixes-bug="54508">EDATE formula support</action>
        <action dev="PD" type="fix" fixes-bug="53810">NPOIFS fix for 0 not -1 padded partially used XBATs</action>
        <action dev="PD" type="fix" fixes-bug="54402">IfError handling of indirect references</action>
        <action dev="PD" type="add" fixes-bug="53966">IfError support (from Analysis Toolpak)</action>
        <action dev="PD" type="fix" fixes-bug="53650">Prevent unreadable content and disalow to overwrite rows from input template in SXSSF</action>
        <action dev="PD" type="fix" fixes-bug="54228,53672">Fixed XSSF to read cells with missing R attribute</action>
        <action dev="PD" type="fix" fixes-bug="54206">Ensure that shared formuals are updated when shifting rows in a spreadsheet</action>
        <action dev="PD" type="fix">Synchronize table headers with parent sheet in XSSF</action>
        <action dev="PD" type="fix" fixes-bug="54210">Fixed rendering text in flipped shapes in PPT2PNG and PPTX2PNG</action>
    </release>
    
    <release version="3.9" date="2012-12-03">
        <action dev="PD" type="fix" fixes-bug="54188">Avoid NPE in PPT2PNG</action>
        <action dev="PD" type="fix" fixes-bug="52628">Replace System.err info messages with a POILogger</action>
        <action dev="PD" type="fix" fixes-bug="54137">improved performance of DataFormatter with Fractions</action>
        <action dev="PD" type="fix" fixes-bug="54099">Ensure that CTHMerge and CTTcBorders go to poi-ooxml-schemas jar</action>
        <action dev="PD" type="fix" fixes-bug="54111">Fixed extracting text from table cells in HSLF</action>
        <action dev="PD" type="add" fixes-bug="52583">add support for drop-down lists in doc to html convertion</action>
        <action dev="PD" type="add" fixes-bug="52863">add workaround for files with broken CHP SPRMs</action>
        <action dev="PD" type="fix" fixes-bug="53182">Reading combined character styling and direct formatting of a character run</action>
        <action dev="PD" type="fix" fixes-bug="52311">Conversion to html : Problem in titles number </action>
        <action dev="PD" type="fix" fixes-bug="53914">TableRow#getTopBorder() return bottom's border</action>
        <action dev="PD" type="fix" fixes-bug="53282">Avoid exception when parsing OPC relationships with non-breaking spaces</action>
        <action dev="PD" type="fix" fixes-bug="54016">Avoid exception when parsing workbooks with DConRefRecord in row aggregate</action>
        <action dev="PD" type="fix" fixes-bug="54008">Fixed Ant build to support build directories with blanks</action>
        <action dev="PD" type="fix" fixes-bug="53374">Avoid exceptions when parsing hyperlinks of type "javascript://"</action>
        <action dev="PD" type="fix" fixes-bug="53404">Fixed compatibility bug with modifying xls files created by POI-3.6 and earlier</action>
        <action dev="PD" type="add" fixes-bug="53979">Support fetching properties of Numbered Lists from PPT files</action>
        <action dev="PD" type="add" fixes-bug="53784">Partial HSMF support for fixed sized properties</action>
        <action dev="PD" type="add" fixes-bug="53943">added method processSymbol() to allow converting word symbols   </action>
        <action dev="PD" type="fix" fixes-bug="53763">avoid style mess when using HSSFOptimiser  </action>
        <action dev="PD" type="fix" fixes-bug="52972">preserve leading / trailing spaces in SXSSF </action>
        <action dev="PD" type="fix" fixes-bug="53965">Fixed XmlValueOutOfRangeExceptio calling getDataValidations for custom validations with XSSFSheet </action>
        <action dev="PD" type="fix" fixes-bug="53974">Avoid NPE when constructing HSSFWorbook on Google App Engine</action>
        <action dev="PD" type="fix" fixes-bug="53568">Fixed null returned by XSSFPicture.getPictureData()</action>
        <action dev="PD" type="fix" fixes-bug="53950">fixed setForceFormulaRecalculation to reset workbook-level "manual" flag</action>
        <action dev="PD" type="fix" fixes-bug="52211">avoid unnessary re-coverting content types to US-ASCII, it can cause exceptions on ibm mainframes</action>
        <action dev="PD" type="fix" fixes-bug="53568">Set shapes anchors in XSSF when reading from existing drawings</action>
        <action dev="PD" type="add">HSSFOptimiser will now also tidy away un-used cell styles, in addition to duplicate styles</action>
        <action dev="PD" type="fix" fixes-bug="53493">Fixed memory and temporary file leak in SXSSF </action>
        <action dev="PD" type="fix" fixes-bug="53780">Fixed memory and temporary file leak in SXSSF </action>
        <action dev="PD" type="fix" fixes-bug="53380">ArrayIndexOutOfBounds Excetion parsing word 97 document. </action>
        <action dev="PD" type="fix" fixes-bug="53434">Subtotal is not return correct value. </action>
        <action dev="PD" type="fix" fixes-bug="53642">XLS formula evaluation logging </action>
        <action dev="PD" type="fix" fixes-bug="53561">Unexpected adding of drawings into a workbook </action>
        <action dev="PD" type="fix" fixes-bug="53413">[GSoC] Improved work with shapes. HSSF </action>
        <action dev="PD" type="fix" fixes-bug="53361">feature: enhancements in EscherAggregate </action>
        <action dev="PD" type="fix" fixes-bug="53302">EscherAggregate does not handle Continue records </action>
        <action dev="PD" type="fix" fixes-bug="53144">First comment not cloned after cloneSheet() </action>
        <action dev="PD" type="fix" fixes-bug="53028">Broken auto fit row height in the cells with word wrap </action>
        <action dev="PD" type="fix" fixes-bug="53010">[GSoC2012] Improve drawing support in HSSF </action>
        <action dev="PD" type="fix" fixes-bug="52764">Unmodified cell comments disappear after HSSFWorkbook.write </action>
        <action dev="PD" type="fix" fixes-bug="52300">Corrupted File after cloneSheet() </action>
        <action dev="PD" type="fix" fixes-bug="52272">Inserting images on cloned sheet with images. </action>
        <action dev="PD" type="fix" fixes-bug="51796">The [EscherClientAnchorRecord] for object (eg: TextBox,Shape) may get lost. </action>
        <action dev="PD" type="fix" fixes-bug="51683">[HSSF] Improve support for Shapes and Shape Groups </action>
        <action dev="PD" type="fix" fixes-bug="51676">Using drawingPatriarch.createCellComment(anchor) leads to File error: data may have been lost </action>
        <action dev="PD" type="fix" fixes-bug="51675">Background images cause problems in HSSF spreadsheet </action>
        <action dev="PD" type="fix" fixes-bug="51455">It would be really nice to be able to set the background picture of a comment </action>
        <action dev="PD" type="fix" fixes-bug="51341">Adding Image to Header in Excel Using HSSF </action>
        <action dev="PD" type="fix" fixes-bug="51280">when we insert a new image to the existing excel file that corrupts the previous images </action>
        <action dev="PD" type="fix" fixes-bug="50696">File Error: data may have been lost </action>
        <action dev="PD" type="fix" fixes-bug="48989">If we have a comment but the row is not created we will not be able to get it. </action>
        <action dev="PD" type="fix" fixes-bug="48873">Comments not saving in XLS files with collapsible columns </action>
        <action dev="PD" type="fix" fixes-bug="48654">Not able to read Excel (xls) file having drawing objects </action>
        <action dev="PD" type="fix" fixes-bug="48590">Excel chrashes after using removeCellComment methods </action>
        <action dev="PD" type="fix" fixes-bug="46444">cloning cloned sheet with autofilters corrupts the workbook </action>
        <action dev="PD" type="fix" fixes-bug="45129">Lost picture in file output after saving with POI </action>
        <action dev="PD" type="fix" fixes-bug="47624">File Error Data May Have been Lost error while opening commented workbook(excel file) </action>
        <action dev="PD" type="fix" fixes-bug="46143">setLineStyleColor for comments donot work </action>
        <action dev="PD" type="fix" fixes-bug="53699">Patch to correct BorderStyle enum positions </action>
        <action dev="PD" type="add" fixes-bug="53064">Ugly Duckling case study</action>
        <action dev="PD" type="add" fixes-bug="53644">XLS formula bugfix (CalFieldFunc) + WeekDay addon </action>
        <action dev="PD" type="add" fixes-bug="53446">Fixed some problems extracting PNGs </action>
        <action dev="PD" type="fix" fixes-bug="53205">Fixed some parsing errors and encoding issues in HDGF </action>
        <action dev="PD" type="add" fixes-bug="53204">Improved performanceof PageSettingsBlock in HSSF </action>
        <action dev="PD" type="add" fixes-bug="53500">Getter for repeating rows and columns</action>
        <action dev="PD" type="fix" fixes-bug="53369">Fixed tests failing on JDK 1.7</action>
        <action dev="PD" type="fix" fixes-bug="53360">Fixed SXSSF to correctly write text before escaped Unicode control character</action>
        <action dev="PD" type="add">Change HSMF Types to have full data on ID, Name and Length, rather than just being a simple ID</action>
        <action dev="PD" type="add" fixes-bug="48469">Updated case study</action>
        <action dev="PD" type="add" fixes-bug="53476">Support Complex Name in formulas </action>
        <action dev="PD" type="fix" fixes-bug="53414">properly update sheet dimensions when adding column </action>
        <action dev="PD" type="add">Add File based constructor to OPCPackage, alongside existing String one (which constructed a File from the string internally)</action>
        <action dev="PD" type="fix" fixes-bug="53389">Handle formatting General and @ formats even if a locale is prefixed to them</action>
        <action dev="PD" type="fix" fixes-bug="53271">Removed unconditional asserts in SXSSF</action>
        <action dev="PD" type="add" fixes-bug="53025">Updatad documentation and example on using Data Validations  </action>
        <action dev="PD" type="add" fixes-bug="53227">Corrected AddDimensionedImage.java to support XSSF/SXSSF  </action>
        <action dev="PD" type="add" fixes-bug="53058">Utility for representing drawings contained in a binary Excel file as a XML tree</action>
        <action dev="PD" type="add" fixes-bug="53165">HWPF support for fetching the description (alt text) of a picture</action>
        <action dev="PD" type="fix" fixes-bug="48528">support negative arguments to the DATE() function</action>
        <action dev="PD" type="fix" fixes-bug="53092">allow specifying of a TimeZone to DateUtil.getJavaDate(), for when it is known that a file comes from a different (known) timezone to the current machine</action>
        <action dev="PD" type="fix" fixes-bug="53043">don't duplicate hyperlink relationships when saving XSSF file</action>
        <action dev="PD" type="fix" fixes-bug="53101">fixed evaluation of SUM over cell range &gt; 255</action>
        <action dev="PD" type="fix" fixes-bug="49529">avoid exception when cloning sheets with no drawing records and initialized drawing patriarch</action>
    </release>
    
    <release version="3.8-FINAL" date="2012-03-26">
        <action dev="PD" type="add" fixes-bug="52928">DateFormatConverter: an utility to convert instances of java.text.DateFormat to Excel format patterns</action>
        <action dev="PD" type="fix" fixes-bug="52895">show SSTIndex instead of XFIndex in LabelSSTRecord.toString()</action>
        <action dev="PD" type="fix" fixes-bug="52835">Tolerate missing Count and UniqueCount attributes when parsing shared strings table in XSSF eventusermodel</action>
        <action dev="PD" type="add" fixes-bug="52818">Added implementation for RANK()</action>
        <action dev="PD" type="fix" fixes-bug="52682">allow setting text with trailing carriage return in HSLF</action>
        <action dev="PD" type="fix" fixes-bug="52244">use correct text attributes when presentation has multiple TxMasterStyleAtoms of the same type</action>
        <action dev="PD" type="add">support setting background color of sheet tab in XSSF</action>
        <action dev="PD" type="add" fixes-bug="51564">support for enforcing fields update in XWPF</action>
        <action dev="PD" type="add" fixes-bug="51673">support grouping rows in SXSSF</action>
        <action dev="PD" type="add" fixes-bug="51780">support replacement of content types in OPC packages </action>
        <action dev="PD" type="fix" fixes-bug="52784">replace ISO control characters with question marks in SXSSF to be consistent with XSSF </action>
        <action dev="PD" type="add" fixes-bug="52057">updated formula test framework to be aware of recently added Functions </action>
        <action dev="PD" type="add" fixes-bug="52574">support setting header / footer page margins in HSSF </action>
        <action dev="PD" type="add" fixes-bug="52583">fixed WorkbookUtil#createSafeSheetName to escape colon </action>
        <action dev="PD" type="add" fixes-bug="51710">fixed reading shared formulas in XSSF </action>
        <action dev="PD" type="add" fixes-bug="52708">misc improvements in CellFormat </action>
        <action dev="PD" type="add" fixes-bug="52690">added a getter for length of encrypted data in Ecma and Agile decryptors</action>
        <action dev="PD" type="fix" fixes-bug="52255">support adding TIFF,EPS and WPG pictures in OOXML documents </action>
        <action dev="PD" type="fix" fixes-bug="52078">avoid OutOfMemoryError when rendering groupped pictures in HSLF </action>
        <action dev="PD" type="fix" fixes-bug="52745">fixed XSSFRichtextString.append to preserve leading / trailing spaces </action>
        <action dev="PD" type="fix" fixes-bug="52716">tolerate hyperlinks that have neither location nor relation </action>
        <action dev="PD" type="fix" fixes-bug="52599">avoid duplicate text when rendering slides in HSLF</action>
        <action dev="PD" type="fix" fixes-bug="52598">respect slide background when rendering slides in HSLF</action>
        <action dev="PD" type="fix" fixes-bug="51731">fixed painting shape outlines in HSLF</action>
        <action dev="PD" type="fix" fixes-bug="52701">fixed seting vertical alignment for XSLFTableCell</action>
        <action dev="PD" type="fix" fixes-bug="52687">fixed merging slides with pictures with associated custom tags</action>
        <action dev="PD" type="add"> allow runtime registration of functions in FormulaEvaluator</action>
        <action dev="PD" type="fix" fixes-bug="52665">When reading from a ZipFileZipEntrySource that has already been closed, give IllegalArgumentException rather than NPE</action>
        <action dev="PD" type="fix" fixes-bug="52664">MAPIMessage may not always have name chunks when checking for 7 bit encodings</action>
        <action dev="PD" type="fix" fixes-bug="52649">fixed namespace issue in WordToFoConverter</action>
        <action dev="PD" type="fix" fixes-bug="52385">avoid trancated array and vector data when reading OLE properties</action>
        <action dev="PD" type="fix" fixes-bug="52662">CharacterRun NPE fix when fetching symbol fonts, where no fonts are defined</action>
        <action dev="PD" type="add" fixes-bug="52658">support mergin table cells in XSLF</action>
        <action dev="PD" type="add">validate row number and column index in SXSSF when creating new rows / cells</action>
        <action dev="PD" type="fix" fixes-bug="51498">fixed evaluation of blank cells in COUNTIF</action>
        <action dev="PD" type="add" fixes-bug="52576">support changing external file references in HSSFWorkbook</action>
        <action dev="PD" type="add" fixes-bug="49896">support external references in FormulaRenderer</action>
        <action dev="PD" type="fix" fixes-bug="52527">avoid exception when matching shared formula records in HSSF</action>
        <action dev="PD" type="add" fixes-bug="52568">Added methods to set/get an XWPFRun's text color</action>
        <action dev="PD" type="add" fixes-bug="52566">Added methods to set/get vertical alignment and color in XWPFTableCell</action>
        <action dev="PD" type="add" fixes-bug="52562">Added methods to get/set a table row's Can't Split and Repeat Header attributes in XWPF</action>
        <action dev="PD" type="add" fixes-bug="52561">Added methods to set table inside borders and cell margins in XWPF</action>
        <action dev="PD" type="add" fixes-bug="52569">Support DConRefRecord in HSSF</action>
        <action dev="PD" type="add" fixes-bug="52575">added an option to ignore missing workbook references in formula evaluator</action>
        <action dev="PD" type="add">Validate address of hyperlinks in XSSF</action>
        <action dev="PD" type="fix" fixes-bug="52540">Relax the M4.1 constraint on reading OOXML files, as some Office produced ones do have 2 Core Properties, despite the specification explicitly forbidding this</action>
        <action dev="PD" type="add" fixes-bug="52462">Added implementation for SUMIFS()</action>
        <action dev="PD" type="add">POIXMLPropertiesTextExtractor support for extracting custom OOXML properties as text</action>
        <action dev="PD" type="fix" fixes-bug="52449">Support writing XWPF documents with glossaries (Glossaries are not yet supported, but can now be written out again without changes)</action>
        <action dev="PD" type="fix" fixes-bug="52446">Handle files which have been truncated by a few bytes in NPropertyTable</action>
        <action dev="PD" type="fix" fixes-bug="52438">Update CellDateFormatter to handle times without seconds</action>
        <action dev="PD" type="add" fixes-bug="52389">Support ?/? as well as #/# fractions, and tighten DataFormatter rules for fraction matching</action>
        <action dev="PD" type="add" fixes-bug="52200">Updated XWPF table example code </action>
        <action dev="PD" type="add" fixes-bug="52378">Support for WORKDAY and NETWORKDAYS functions</action>
        <action dev="PD" type="add" fixes-bug="52349">Merge the logic between the TEXT function and DataFormatter</action>
        <action dev="PD" type="fix" fixes-bug="52349">Correctly support excel style date format strings in the TEXT function</action>
        <action dev="PD" type="fix" fixes-bug="52369">XSSFExcelExtractor should format numeric cells based on the format strings applied to them</action>
        <action dev="PD" type="fix" fixes-bug="52369">Event based XSSF parsing should handle formatting of formula values in XSSFSheetXMLHandler</action>
        <action dev="PD" type="fix" fixes-bug="52348">Avoid exception when creating cell style in a workbook that has an empty xf table</action>
        <action dev="PD" type="fix" fixes-bug="52219">fixed XSSFSimpleShape to set rich text attributes from XSSFRichtextString</action>
        <action dev="PD" type="fix" fixes-bug="52314">enhanced SheetUtil.getColumnWidth</action>
    </release>
    
    <release version="3.8-beta5" date="2011-12-17">
        <action dev="PD" type="fix" fixes-bug="52204">Deprecated XSSFWorkbook(String path) constructor because it does not close underlying .zip file</action>
        <action dev="PD" type="fix" fixes-bug="46288">fixed refcount of Fill pictures in HSLF </action>
        <action dev="PD" type="add" fixes-bug="51961">support compression of temp files in SXSSF </action>
        <action dev="PD" type="add" fixes-bug="52268">support cloning sheets with drawings in XSSF </action>
        <action dev="PD" type="add" fixes-bug="52285">Support XWPF smart tags text in Paragraphs</action>
        <action dev="PD" type="fix" fixes-bug="51875">More XSSF new-line in formula support</action>
        <action dev="PD" type="add">POIFS EntryUtils.copyNodes(POFS,POIFS) now uses FilteringDirectoryNode, so can exclude from copying nodes not just directly under the root</action>
        <action dev="PD" type="add">POIFS Helper FilteringDirectoryNode, which wraps a DirectoryEntry and allows certain parts to be ignored</action>
        <action dev="PD" type="fix" fixes-bug="52209">fixed inserting multiple pictures in XSLF </action>
        <action dev="PD" type="fix" fixes-bug="51803">fixed HSLF TextExtractor to extract content from master slide </action>
        <action dev="PD" type="fix" fixes-bug="52190">null check on XWPF setFontFamily</action>
        <action dev="PD" type="fix" fixes-bug="52062">ensure that temporary files in SXSSF are deleted</action>
        <action dev="PD" type="fix" fixes-bug="50936">Exception parsing MS Word 8.0 file (as duplicate of 47958)</action>
        <action dev="PD" type="fix" fixes-bug="47958">ArrayIndexOutOfBoundsException from PicturesTable.getAllPictures() during Escher tree walk</action>
        <action dev="PD" type="fix" fixes-bug="51944">PAPFormattedDiskPage.getPAPX - IndexOutOfBounds</action>
        <action dev="PD" type="fix" fixes-bug="52032">HWPF - ArrayIndexOutofBoundsException with no stack trace (broken after revision 1178063)</action>
        <action dev="PD" type="add">support for converting pptx files into images with a PPTX2PNG tool</action>
        <action dev="PD" type="add" fixes-bug="52050">Support for the Excel RATE function</action>
        <action dev="PD" type="fix" fixes-bug="51566">HSLF fix for finishing parsing the picture stream on the first non-valid type</action>
        <action dev="PD" type="fix" fixes-bug="51974">Avoid HWPF issue when identifying the picture type</action>
        <action dev="PD" type="fix" fixes-bug="52035">Fix signed issue with very large word 6 files</action>
        <action dev="PD" type="fix" fixes-bug="51949">Avoid NPE on double close of ZipFileZipEntrySource</action>
        <action dev="PD" type="fix" fixes-bug="51950">XWPF fix for footnotes not always being present in a document</action>
        <action dev="PD" type="fix" fixes-bug="51963">Correct AreaReference handling of references containing a sheet name which includes a comma</action>
        <action dev="PD" type="fix" fixes-bug="51955">XSSFReader supplied StylesTables need to have the theme data available</action>
        <action dev="PD" type="fix" fixes-bug="51716">Removed incorrect assert in SXSSFSheet#getSXSSFSheet</action>
        <action dev="PD" type="fix" fixes-bug="51834">Opening and Writing .doc file results in corrupt document</action>
        <action dev="PD" type="fix" fixes-bug="51902">Picture.fillRawImageContent - ArrayIndexOutOfBoundsException (duplicate)</action>
        <action dev="PD" type="fix" fixes-bug="51890">ArrayIndexOutOfBounds ExceptionPicture.fillRawImageContent</action>
        <action dev="PD" type="add">Allow the passing of a File object to WorkbookFactory.create, which permits lower memory processing than the InputStream version</action>
        <action dev="PD" type="fix" fixes-bug="51873">update HSMF to ignore Outlook 2002 Olk10SideProp entries, which don't behave like normal chunks</action>
        <action dev="PD" type="fix" fixes-bug="51850">support creating comments in XSSF on an earlier slide when later ones already have them</action>
        <action dev="PD" type="add" fixes-bug="51804">optionally include Master Slide text in XSLF text extraction, as HSLF already offers</action>
        <action dev="PD" type="add">New PackagePart method getRelatedPart(PackageRelationship) to simplify navigation of relations between OPC Parts</action>
        <action dev="PD" type="fix" fixes-bug="51832">handle XLS files where the WRITEPROTECT record preceeds the FILEPASS one, rather than following as normal</action>
        <action dev="PD" type="fix" fixes-bug="51809">correct GTE handling in COUNTIF</action>
        <action dev="PD" type="add">Add HWPF API to update range text and delete bookmarks</action>
        <action dev="PD" type="add">HWPF Bookmarks tables are correctly updated on text updates</action>
        <action dev="PD" type="add" fixes-bug="51670">avoid LeftoverDataException when reading .xls files with invalid LabelRecords</action>
        <action dev="PD" type="add" fixes-bug="51196">prevent NPE in XWPFPicture.getPictureData() </action>
        <action dev="PD" type="add" fixes-bug="51771">prevent NPE when getting object data from OLEShape in HSLF</action>
        <action dev="PD" type="add" fixes-bug="51196">more progress with Chart APi in XSSF</action>
        <action dev="PD" type="fix" fixes-bug="51785">Allow XSSF setForceFormulaRecalculation to work with the minimal ooxml-schemas jar</action>
        <action dev="PD" type="fix" fixes-bug="51772">IllegalArgumentException Parsing MS Word 97 - 2003</action>
        <action dev="PD" type="add">XSLFPowerPointExtractor support for including comment authors with comment text</action>
        <action dev="PD" type="fix">Converted XSLFPowerPointExtractor to use UserModel for all text extraction</action>
        <action dev="PD" type="add">XSLF initial UserModel support for Notes and Comments for Slides</action>
        <action dev="PD" type="add">HSLF: support for uncompressed OLE embeddings</action>
    </release>
    
    <release version="3.8-beta4" date="2011-08-26">
        <action dev="PD" type="fix" fixes-bug="51678">Extracting text from Bug51524.zip is slow</action>
        <action dev="PD" type="fix" fixes-bug="51671">HWPFDocument.write based on NPOIFSFileSystem throws a NullPointerException</action>
        <action dev="PD" type="add">support for tables and hyperlinks in XSLF</action>
        <action dev="PD" type="fix" fixes-bug="51535">correct signed vs unsigned short reading in NDocumentInputStream</action>
        <action dev="PD" type="add" fixes-bug="51634">support SXSSF streaming from templates</action>
        <action dev="PD" type="add">initial support for XSLF usermodel API</action>
        <action dev="PD" type="fix" fixes-bug="51187">fixed OPCPackage to correctly handle self references</action>
        <action dev="PD" type="fix" fixes-bug="51635">Improved performance of XSSFSheet#write</action>
        <action dev="PD" type="fix" fixes-bug="47731">Word Extractor considers text copied from some website as an embedded object</action>
        <action dev="PD" type="add">Add Word-to-Text converter and use it as replacement for WordExtractor</action>
        <action dev="PD" type="fix" fixes-bug="51604">replace text fails for doc ( poi 3.8 beta release from download site )</action>
        <action dev="PD" type="fix">Fixed incorrect encoding of non-breaking space (0xA0) in SXSSF</action>
        <action dev="PD" type="add">Support for conditional formatting in XSSF</action>
        <action dev="PD" type="add">Support isRightToLeft and setRightToLeft on the common spreadsheet Sheet interface, as per existing HSSF support</action>
        <action dev="PD" type="fix" fixes-bug="50209">Fixed evaluation of Subtotals to ignore nested subtotals</action>
        <action dev="PD" type="fix" fixes-bug="44431">HWPFDocument.write destroys fields</action>
        <action dev="PD" type="fix" fixes-bug="50401">fixed EscherProperty to return property name instead of 'unknown' for complex properties </action>
        <action dev="PD" type="add">Initial support for endnotes and footnotes in HWPF</action>
        <action dev="PD" type="fix" fixes-bug="51470">avoid exception when cloning XSSF sheets with background images</action>
        <action dev="PD" type="fix" fixes-bug="51481">Fixed autofilters in HSSF to avoid warnings in Excel 2007</action>
        <action dev="PD" type="fix" fixes-bug="51533">Avoid exception when changing name of a sheet containing shared formulas</action>
        <action dev="PD" type="add">Support for appending images to existing drawings in HSSF</action>
        <action dev="PD" type="add">Initial support for bookmarks in HWPF</action>
        <action dev="PD" type="fix" fixes-bug="46250">Fixed cloning worksheets with images</action>
        <action dev="PD" type="fix" fixes-bug="51524">PapBinTable constructor is slow (regression)</action>
        <action dev="PD" type="fix" fixes-bug="51514">allow HSSFObjectData to work with both POIFS and NPOIFS</action>
        <action dev="PD" type="fix" fixes-bug="51514">avoid NPE when copying nodes from one HSSF workbook to a new one, when opened from NPOIFS</action>
        <action dev="PD" type="fix" fixes-bug="51504">avoid NPE when DefaultRowHeight or DefaultColumnWidth records are missing</action>
        <action dev="PD" type="fix" fixes-bug="51502">Correct Subtotal function javadoc entry</action>
        <action dev="PD" type="add">Support for hyperlinks in SXSSF</action>
        <action dev="PD" type="fix" fixes-bug="49933">Word 6/95 documents with sections cause ArrayIndexOutOfBoundsException</action>
        <action dev="PD" type="add" fixes-bug="51469">XSSF support for row styles, to match existing HSSF functionality</action>
        <action dev="PD" type="fix" fixes-bug="51476">Correct XSSF cell formatting in HTML export</action>
        <action dev="PD" type="add" fixes-bug="51486">XWPF support for adding new footnotes</action>
        <action dev="PD" type="fix" fixes-bug="48065">Problems with save output of HWPF (losing formatting)</action>
        <action dev="PD" type="fix" fixes-bug="47563">Exception when working with table</action>
        <action dev="PD" type="fix" fixes-bug="47287">StringIndexOutOfBoundsException in CharacterRun.replaceText()</action>
        <action dev="PD" type="fix" fixes-bug="46817">Regression: Text from some table cells missing</action>
        <action dev="PD" type="add">Add getOverallRange() method to HWPFDocumentCore</action>
        <action dev="PD" type="fix">PAPX referenced outside of TextPiecesTable are ignored now and not loaded</action>
        <action dev="PD" type="fix">Fix main part range (and section) detection for files with additional parts (like footers/headers).</action>
        <action dev="PD" type="fix">Fix wrong TextPiece parsing in very rare cases like Bug33519.doc</action>
        <action dev="PD" type="fix">Inner tables are correctly supported</action>
        <action dev="PD" type="add">Allow user to retrieve Table nesting level (based on file information)</action>
        <action dev="PD" type="add">Functionality of internal tool HWPFLister is greatly improved, including output of document PAPX and paragraphs</action>
        <action dev="PD" type="add">Expand Word structures definitions (TAP, PAP, TLP, etc) based on official documentation</action>
        <action dev="PD" type="add">Add Excel-to-HTML converter (2007 versions)</action>
        <action dev="PD" type="add">Add Word-to-HTML converter (95-2007 versions)</action>
        <action dev="PD" type="fix">Skip wrong-type SPRMs when characters SPRM is expected</action>
        <action dev="PD" type="add">Add toStrings() methods to internal HWPF structures: BorderCode, PAPX, Paragraph, PieceDescriptor, Section, SEPX, SprmOperation, TextPiece etc.</action>
        <action dev="PD" type="fix" fixes-bug="51474">SXSSF handling for null strings</action>
        <action dev="PD" type="fix" fixes-bug="48294">Fixed HSSFWorkbook.setSheetOrder() to respect inter-sheet references </action>
        <action dev="PD" type="fix" fixes-bug="51448">Avoid exception when evaluating workbooks with more than 256 sheets </action>
        <action dev="PD" type="fix" fixes-bug="51458">Correct BitField wrapping when setting large values</action>
        <action dev="PD" type="add" fixes-bug="51460">Improve HSSF performance when loading very long rows, by switching the CellValue array to an iterator</action>
        <action dev="PD" type="fix" fixes-bug="51444">Prevent corrupted output when saving files created by LibreOffice 3.3 </action>
        <action dev="PD" type="add" fixes-bug="51422">Support using RecalcIdRecord to trigger a full formula recalculation on load  </action>
        <action dev="PD" type="add" fixes-bug="50474">Example demonstrating how to update Excel workbook embedded in a WordprocessingML document </action>
        <action dev="PD" type="fix" fixes-bug="51431">Avoid IndexOutOfBoundException when removing freeze panes in XSSF </action>
        <action dev="PD" type="fix" fixes-bug="48877">Fixed XSSFRichTextString to respect leading and trailing line breaks </action>
        <action dev="PD" type="fix" fixes-bug="49564">Fixed default behaviour of XSSFCellStyle.getLocked() </action>
        <action dev="PD" type="fix" fixes-bug="48314">Fixed setting column and row breaks in XSSF</action>
        <action dev="PD" type="add" fixes-bug="51424">Ignore exceptions in ParagraphSprmUncompressor</action>
        <action dev="PD" type="fix" fixes-bug="51415">Fixed Workbook.createSheet(sheetName) to truncate names longer than 31 characters</action>
        <action dev="PD" type="fix" fixes-bug="51332">Fixed internal IDs of shapes generated by HSSFPatriarch when there are more than 1023 drawing objects </action>
        <action dev="PD" type="fix" fixes-bug="48408">Improved documentation for Sheet.setColumnWidth </action>
        <action dev="PD" type="add" fixes-bug="51390">Added handling of additional properties to HWPF ParagraphSprmCompressor</action>
        <action dev="PD" type="add" fixes-bug="51389">Support for sprmPJc paragraph SPRM in HWPF</action>
        <action dev="PD" type="fix" fixes-bug="48469">New Case Study for POI web site  </action>
        <action dev="PD" type="fix" fixes-bug="50681">Avoid exceptions in HSSFDataFormat.getDataFormatString()  </action>
        <action dev="PD" type="fix" fixes-bug="50681">Fixed autosizing columns beyond 255 character limit </action>
        <action dev="PD" type="fix" fixes-bug="51374">Fixed incorrect setting of lastPrinted OOXML core property </action>
        <action dev="PD" type="add" fixes-bug="51351">Word to XSL-FO converter</action>
        <action dev="PD" type="fix" fixes-bug="50458">Fixed missing shapeId in XSSF drawings </action>
        <action dev="PD" type="fix" fixes-bug="51339">Fixed arithmetic rounding in formula evaluation </action>
        <action dev="PD" type="add" fixes-bug="51356">Support autoSizeColumn in SXSSF</action>
        <action dev="PD" type="add" fixes-bug="51335">Parse picture goal and crop sizes in HWPF</action>
        <action dev="PD" type="add" fixes-bug="51305">Add sprmTCellPaddingDefault support in HWPF</action>
        <action dev="PD" type="add" fixes-bug="51265">Enhanced Handling of Picture Parts in XWPF</action>
        <action dev="PD" type="add" fixes-bug="51292">Additional HWPF Table Cell Descriptor values</action>
    </release>
    
    <release version="3.8-beta3" date="2011-06-06">
        <action dev="PD" type="fix" fixes-bug="51098">Correctly calculate image width/height, if image fits into one cell</action>
        <action dev="PD" type="fix" fixes-bug="47147">Correct extra paragraphs from XWPF Table Cells</action>
        <action dev="PD" type="add" fixes-bug="51188">Support for getting and setting XPWF zoom settings</action>
        <action dev="PD" type="add" fixes-bug="51134">Support for adding Numbering and Styles to a XWPF document that doesn't already have them</action>
        <action dev="PD" type="fix" fixes-bug="51273">Formula Value Cache fix for repeated evaluations</action>
        <action dev="PD" type="add" fixes-bug="51171">Improved performance of SharedValueManager </action>
        <action dev="PD" type="fix" fixes-bug="51236">XSSF set colour support for black/white to match getter</action>
        <action dev="PD" type="add" fixes-bug="51196">Initial support for Spreadsheet Chart API</action>
        <action dev="PD" type="add">Add support for OOXML Agile Encryption</action>
        <action dev="PD" type="add" fixes-bug="51160">Initial version of SXSSF, a low memory foortprint API to produce xlsx files</action>
        <action dev="PD" type="fix" fixes-bug="51171">Improved performance of opening large .xls files</action>
        <action dev="PD" type="add" fixes-bug="51172">Add XWPF support for GIF pictures</action>
        <action dev="PD" type="add">NPOIFS Mini Streams now support extending the underlying big block stream to fit more data</action>
        <action dev="PD" type="fix" fixes-bug="51148">XWPFDocument now properly tracks paragraphs and tables when adding/removing them</action>
        <action dev="PD" type="fix" fixes-bug="51153">Correct sizing of LbsDataSubRecord with unused padding fields</action>
        <action dev="PD" type="fix" fixes-bug="51143">NameCommentRecord correction for writing non ASCII strings</action>
        <action dev="PD" type="fix" fixes-bug="51112">Correct XWPFTable tracking of new rows</action>
        <action dev="PD" type="fix" fixes-bug="51113">Correct XWPFParagraph tracking of inserted runs</action>
        <action dev="PD" type="fix" fixes-bug="51111">Correct XWPFParagraph tracking of new runs</action>
        <action dev="PD" type="fix" fixes-bug="51115">Handle DataFormatter escaping of "." in the same way as "-" and "/"</action>
        <action dev="PD" type="fix" fixes-bug="51100">Fix IOUtils issue for NPOIFS reading from an InputStream where every block is full</action>
        <action dev="PD" type="fix" fixes-bug="50956">Correct XSSF cell style cloning between workbooks</action>
        <action dev="PD" type="add">Add get/setForceFormulaRecalculation for XSSF, and promote the methods to the common usermodel Sheet</action>
        <action dev="PD" type="fix">Tweak the logic for sizing the HSSFCells array on a HSSFRow to reduce memory over allocation in many use cases</action>
        <action dev="PD" type="add" fixes-bug="49765">Support for adding a picture to a XSSFRun</action>
        <action dev="PD" type="fix">Rename/Move xssf.model.Table to xssf.usermodel.XSSFTable as it now has usermodel-like features</action>
        <action dev="PD" type="fix" fixes-bug="51061">Correct target URI for new XSSF Tables</action>
        <action dev="PD" type="add">Initial support for XSSF Charts. Provides easy access to the underlying CTChart object via the Sheet Drawing, but no high level interface onto the chart contents as yet.</action>
        <action dev="PD" type="fix" fixes-bug="50884">XSSF and HSSF freeze panes now behave the same</action>
        <action dev="PD" type="add">Support for adding a table to a XSSFSheet</action>
        <action dev="PD" type="add">Improve HSMF MAPIMessage access to the HTML and RTF versions of the message body (where available)</action>
        <action dev="PD" type="add">Add new method to HSMF of MAPIMessage.has7BitEncodingStrings() to make it easier to decide when encoding guessing is needed</action>
        <action dev="PD" type="fix">OutlookTextExtractor now requests 7 bit encoding guessing</action>
        <action dev="PD" type="add">Improve HSMF encoding guessing for 7 bit fields in MAPIMessage</action>
        <action dev="PD" type="add">Allow HSMF access to the HTML body contents in MAPIMessage</action>
    </release>
    
    <release version="3.8-beta2" date="2011-04-08">
        <action dev="PD" type="add">Implement the load method on MemoryPackagePart</action>
        <action dev="PD" type="add" fixes-bug="50967">Support for continued ExtSSTRecords</action>
        <action dev="PD" type="add" fixes-bug="48968">Support for HOUR, MINUTE and SECOND date formulas</action>
        <action dev="PD" type="add">Added NPOIFS constructors to most POIDocument classes and their extractors, and more widely deprecated the Document(DirectoryNode, POIFSFileSystem) constructor in favour of the more general Document(DirectoryNode) one</action>
        <action dev="PD" type="fix">Fixed NPOIFS handling of new and empty Document Nodes</action>
        <action dev="PD" type="fix">Fixed NPOIFS access to Document Nodes not in the top level directory</action>
        <action dev="PD" type="fix" fixes-bug="50841">Improved SpreadSheet DataFormatter to handle scientific notation, invalid dates and format spacers</action>
        <action dev="PD" type="fix" fixes-bug="49381">Correct createFreezePane in XSSF, so that the left row/column matches the documentation + HSSF</action>
        <action dev="PD" type="fix" fixes-bug="49253">When setting repeating rows and columns for XSSF, don't break the print settings if they were already there</action>
        <action dev="PD" type="fix" fixes-bug="49219">ExternalNameRecord support for DDE Link entries without an operation</action>
        <action dev="PD" type="fix" fixes-bug="50846">More XSSFColor theme improvements, this time for Cell Borders</action>
        <action dev="PD" type="fix" fixes-bug="50939">ChartEndObjectRecord is supposed to have 6 bytes at the end, but handle it not</action>
        <action dev="PD" type="add">HMEF - New component which supports TNEF (Transport Neutral Encoding Format), aka winmail.dat</action>
        <action dev="PD" type="fix" fixes-bug="50313">support for getting HWPFDocument fields</action>
        <action dev="PD" type="fix" fixes-bug="50912">fixed setting named styles to HSSFCells</action>
        <action dev="PD" type="fix" fixes-bug="50779">fixed RecordFormatException when reading unicode strings with photenic data</action>
        <action dev="PD" type="fix" fixes-bug="50718">More helpful error message when you try to create a CellReference with #REF!</action>
        <action dev="PD" type="fix" fixes-bug="50784">XSSFColors return by XSSFFont now have theme information applied to them</action>
        <action dev="PD" type="fix" fixes-bug="50846">Improve how XSSFColor inherits from Themes</action>
        <action dev="PD" type="fix" fixes-bug="50847">XSSFFont now accepts the full range of Charsets from FontChartset</action>
        <action dev="PD" type="fix" fixes-bug="50786">Speed up calls to HSSFColor.getIndexHash() by returning a cached, unmodifiable Map. HSSFColor.getModifiableIndexHash() provides access to the old (slow but modifiable) functionality</action>
        <action dev="PD" type="fix" fixes-bug="47100">Change related formulas and named ranges when XSSFWorkbook.setSheetName is called</action>
    </release>
    
    <release version="3.8-beta1" date="2011-03-07">
        <action dev="PD" type="add" fixes-bug="50610">Ant tasks for running POI against a workbook</action>
        <action dev="PD" type="add" fixes-bug="32903">Correct XBAT chaining explanation in /poifs/fileformat.html</action>
        <action dev="PD" type="add" fixes-bug="50829">Support for getting the tables associated with a XSSFSheet</action>
        <action dev="PD" type="fix" fixes-bug="50299">More XSSFColor updates for ARGB vs RGB</action>
        <action dev="PD" type="fix" fixes-bug="50581">Use stax:stax-api instead of org.apache.geronimo.specs:geronimo-stax-api_1.0_spec</action>
        <action dev="PD" type="fix" fixes-bug="50786">Fix XSSFColor to fetch the RGB values of old-style indexed colours</action>
        <action dev="PD" type="fix" fixes-bug="50299">Fix XSSFColor fetching of white and black background themes</action>
        <action dev="PD" type="fix" fixes-bug="50795">Avoid NPE from xmlbeans when moving XSSF Comments from one cell to another</action>
        <action dev="PD" type="fix" fixes-bug="46664">When creating HSSF Print Areas, ensure the named range is reference based not value based</action>
        <action dev="PD" type="fix" fixes-bug="50756">When formatting numbers based on their Cell Style, treat GENERAL the same as the more typical General</action>
        <action dev="PD" type="fix">fixed HSSFWorkbook.createCellStyle to throw exception if the maximum number of cell styles was exceeded</action>
        <action dev="PD" type="fix" fixes-bug="50539">Better fix for html-style br tags (invalid XML) inside XSSF documents</action>
        <action dev="PD" type="add" fixes-bug="49928">allow overridden built-in formats in HSSFCellStyle</action>
        <action dev="PD" type="add" fixes-bug="50607">Added implementation for CLEAN(), CHAR() and ADDRESS()</action>
        <action dev="PD" type="add" fixes-bug="50587">Improved documentation on user-defined functions</action>
        <action dev="PD" type="add">Inside ExtractorFactory, support finding embedded OOXML documents and providing extractors for them</action>
        <action dev="PD" type="add">Partial HDGF LZW compression support</action>
        <action dev="PD" type="add" fixes-bug="50244">Support for continued NameRecords</action>
        <action dev="PD" type="fix" fixes-bug="50416">Correct shifting of the first or last row in a sheet by multiple rows</action>
        <action dev="PD" type="fix" fixes-bug="50440">Support evaluating formulas with newlines in them, which XSSF may have (but HSSF may not)</action>
        <action dev="PD" type="add">Added inline string support to XSSF EventModel</action>
        <action dev="PD" type="fix" fixes-bug="50246">Properly position GutsRecord when reading HSSF workbooks</action>
        <action dev="PD" type="add" fixes-bug="48539">Added implementation for MROUND(), VAR() and VARP()</action>
        <action dev="PD" type="add" fixes-bug="50446">Code cleanup and optimizations to keep some IDE quiet</action>
        <action dev="PD" type="add" fixes-bug="50437">Support passing ranges to NPV()</action>
        <action dev="PD" type="add" fixes-bug="50409">Added implementation for IRR()</action>
        <action dev="PD" type="add" fixes-bug="47405">Improved performance of RowRecordsAggregate.getStartRowNumberForBlock / getEndRowNumberForBlock</action>
        <action dev="PD" type="fix" fixes-bug="50315">Avoid crashing Excel when sorting XSSFSheet autofilter</action>
        <action dev="PD" type="add" fixes-bug="50076">Allow access from XSSFReader to sheet comments and headers/footers</action>
        <action dev="PD" type="add" fixes-bug="50076">Refactor XSSFEventBasedExcelExtractor to make it easier for you to have control over outputting the cell contents</action>
        <action dev="PD" type="fix" fixes-bug="50258">avoid corruption of XSSFWorkbook after applying XSSFRichTextRun#applyFont</action>
        <action dev="PD" type="fix" fixes-bug="50154">Allow white spaces and unicode in OPC relationship targets </action>
        <action dev="PD" type="fix" fixes-bug="50113">Remove cell from Calculation Chain after setting cell type to blank </action>
        <action dev="PD" type="fix" fixes-bug="49966">Ensure that XSSFRow#removeCell cleares calculation chain entries </action>
        <action dev="PD" type="fix" fixes-bug="50096">Fixed evaluation of cell references with column index greater than 255 </action>
        <action dev="PD" type="fix" fixes-bug="49761">Tolerate Double.NaN when reading .xls files</action>
        <action dev="PD" type="fix" fixes-bug="50211">Use cached formula result when auto-sizing formula cells</action>
        <action dev="PD" type="fix" fixes-bug="50118">OLE2 does allow a directory with an empty name, so support this in POIFS</action>
        <action dev="PD" type="fix" fixes-bug="50119">avoid NPE when XSSFReader comes across chart sheets</action>
    </release>
    
    <release version="3.7" date="2010-10-29">
        <action dev="PD" type="fix" fixes-bug="50075">avoid NPE in ListLevel.getNumberText() when numberText is null </action>
        <action dev="PD" type="fix" fixes-bug="50067">marked commons-logging and log4j as optional dependencies in POI poms</action>
        <action dev="PD" type="add" fixes-bug="49928">allow overridden built-in formats in XSSFCellStyle</action>
        <action dev="PD" type="fix" fixes-bug="49919">support for BorderCode in HWPF</action>
        <action dev="PD" type="fix" fixes-bug="49908">support for processing of symbols in HWPF</action>
        <action dev="PD" type="fix" fixes-bug="50022">support for retrieving pictures from HSSF workbooks</action>
        <action dev="PD" type="fix" fixes-bug="50020">Avoid IllegalStateException when creating Data validation in sheet with macro</action>
        <action dev="PD" type="fix" fixes-bug="50033">Improved rounding in MOD</action>
        <action dev="PD" type="add">Generate SHA1 hashes of distribution files, alongside existing MD5 ones</action>
    </release>
    
    <release version="3.7-beta3" date="2010-09-24">
        <action dev="PD" type="fix" fixes-bug="48325">If a HSSF header or footer lacks left/right/centre information, assume it is a centre one</action>
        <action dev="PD" type="fix" fixes-bug="49966">Correctly remove calcChain entries for XSSF cells that stop holding formulas</action>
        <action dev="PD" type="add" fixes-bug="47582">XSSFCellStyle support for creating a style in one workbook based on a style from a different one</action>
        <action dev="PD" type="fix" fixes-bug="49931">Avoid concurrency problems when re-ordering multiple HSSF header records for a PageSettingsBlock</action>
        <action dev="PD" type="fix" fixes-bug="49765">Fix XWPFDocument.addPicture so that it correctly sets up relationships</action>
        <action dev="PD" type="fix" fixes-bug="48018">Improve HWPF handling of lists in documents read and then saved, by preserving order better</action>
        <action dev="PD" type="fix" fixes-bug="49820">Fix HWPF paragraph levels, so that outline levels can be properly fetched</action>
        <action dev="PD" type="fix" fixes-bug="47271">Avoid infinite loops on broken HWPF documents with a corrupt CHP style with a parent of itself</action>
        <action dev="PD" type="fix" fixes-bug="49936">Handle HWPF documents with problematic HeaderStories better</action>
        <action dev="PD" type="fix" fixes-bug="49933">Support sections in Word 6 and Word 95 files (HWPFOldDocument)</action>
        <action dev="PD" type="fix" fixes-bug="49941">Correctly handle space preservation of XSSFRichTextRuns when applying fonts to parts of the string</action>
        <action dev="PD" type="fix">Correct XWPFRun detection of bold/italic in a paragraph with multiple runs of different styles</action>
        <action dev="PD" type="add">Link XWPFPicture to XWPFRun, so that embedded pictures can be access from where they live in the text stream</action>
        <action dev="PD" type="fix">Improve handling of Hyperlinks inside XWPFParagraph objects through XWPFHyperlinkRun</action>
        <action dev="PD" type="fix">Make XWPFParagraph make more use of XWPFRun, and less on internal StringBuffers</action>
        <action dev="PD" type="add">Add a getBodyElements() method to XWPF IBody, to make access to embedded paragraphs and tables easier</action>
        <action dev="PD" type="add">More XSLFRelation entries for common .pptx file parts</action>
        <action dev="PD" type="fix" fixes-bug="49872">avoid exception in XSSFFormulaEvaluator.evaluateInCell when evaluating shared formulas</action>
        <action dev="PD" type="fix" fixes-bug="49895">avoid corruption of XSSFWorkbook after removing all merged cells from sheet</action>
        <action dev="PD" type="fix" fixes-bug="49907">fixed inconsistent behaviour between HSSF and XSSF when creating consecutive names</action>
        <action dev="PD" type="add">Add getMimeType() method to HWPF Picture, alongside existing file extension</action>
        <action dev="PD" type="add">Add code for reading Ole10Native data</action>
        <action dev="PD" type="add">Add getMimeType() method to HSSF/XSSF PictureData, alongside existing file extension</action>
        <action dev="PD" type="fix" fixes-bug="49887">allow sheet names longer than 31 chars in XSSF, enforce name uniqueness on the first 31 chars</action>
        <action dev="PD" type="fix" fixes-bug="49878">improved API for hiding sheets</action>
        <action dev="PD" type="fix" fixes-bug="49875">fixed XSSFWorkbook.createSheet to throw exception if sheet name begins or ends with a single quote (')</action>
        <action dev="PD" type="fix" fixes-bug="49873">fixed XSSFFormulaEvaluator to support blank cells</action>
        <action dev="PD" type="fix" fixes-bug="49850">added a getter for _iStartAt in ListFormatOverrideLevel</action>
        <action dev="PD" type="fix" fixes-bug="49761">change cell type to error when setting Double.NaN or Infinities</action>
        <action dev="PD" type="fix" fixes-bug="49833">ensure that CTNumPr is included in poi-ooxml-schemas.jar</action>
        <action dev="PD" type="fix" fixes-bug="49841">fixed LEFT and RIGHT to return #VALUE! when called with a negative operand </action>
        <action dev="PD" type="fix" fixes-bug="49783">fixed evaluation of XSSF workbooks containing formulas with reference errors (#REF!)</action>
        <action dev="PD" type="fix" fixes-bug="49751">fixed fetching names of user defined styles in HSSFCellStyle.getUserStyleName()</action>
        <action dev="PD" type="add" fixes-bug="48900">support for protecting a XSSF workbook</action>
        <action dev="PD" type="fix" fixes-bug="49725">fixed FormulaParser to correctly process defined names with underscore</action>
        <action dev="PD" type="add" fixes-bug="48526">added implementation for RANDBETWEEN()</action>
        <action dev="PD" type="fix" fixes-bug="49725">avoid exception in OperandResolver.parseDouble when input is minus ("-")</action>
        <action dev="PD" type="fix" fixes-bug="49723">fixed OperandResolver to correctly handle inputs with leading decimal place</action>
        <action dev="PD" type="add">initial support for Excel autofilter</action>
    </release>
    
    <release version="3.7-beta2" date="2010-08-09">
        <action dev="PD" type="add" fixes-bug="47990">Support for .msg attachments within a MAPIMessage .msg</action>
        <action dev="PD" type="fix">Improve handling and warnings when closing OPCPackage objects</action>
        <action dev="PD" type="fix" fixes-bug="49702">Correct XSSFWorkbook.getNumCellStyles to check the right styles list</action>
        <action dev="PD" type="add" fixes-bug="49690">Add WorkbookUtil, which provies a way of generating valid sheet names</action>
        <action dev="PD" type="fix" fixes-bug="49694">Use DataFormatter when autosizing columns, to better match the real display width of formatted cells</action>
        <action dev="PD" type="add" fixes-bug="49441">Allow overriding and guessing of HSMF non-unicode string encodings</action>
        <action dev="PD" type="fix" fixes-bug="49689">Allow the setting of user style names on newly created HSSF cell styles</action>
        <action dev="PD" type="add">Make it easier to tell which content types each POIXMLTextExtractor handles</action>
        <action dev="PD" type="fix" fixes-bug="49649">Added clone support for UserSView* and Feat* families of records</action>
        <action dev="PD" type="fix" fixes-bug="49653">Support for escaped unicode characters in Shared String Table</action>
        <action dev="PD" type="fix" fixes-bug="49579">prevent ArrayIndexOutOfBoundException in UnknowEscherRecord</action>
        <action dev="PD" type="fix" fixes-bug="49593">preserve leading and trailing white spaces in XWPFRun</action>
        <action dev="PD" type="add" fixes-bug="49455">Insert the content of fldSimple fields into the XWPFWordTextExtractor output</action>
        <action dev="PD" type="fix" fixes-bug="49640">Fixed parsing formulas containing defined names beginning with an underscore</action>
        <action dev="PD" type="add" fixes-bug="49538">Added implementation for POISSON()</action>
        <action dev="PD" type="add" fixes-bug="49524">Support for setting cell text to be vertically rotated, via style.setRotation(0xff)</action>
        <action dev="PD" type="fix" fixes-bug="49609">Case insensitive matching of OOXML part names</action>
        <action dev="PD" type="add" fixes-bug="49581">Ability to add, modify and remove series from HSSF Charts</action>
        <action dev="PD" type="add" fixes-bug="49185">Support for HSSFNames where the comment is stored in a NameCommentRecord</action>
        <action dev="PD" type="fix" fixes-bug="49599">correct writing of noterecord author text when switching between ascii and unicode</action>
        <action dev="PD" type="fix">hwpf: improve reading of auto-saved ("complex") documents</action>
        <action dev="PD" type="add">paragraph level as well as whole-file text extraction for word 6/95 files through hwpf</action>
        <action dev="PD" type="add">text extraction support for older word 6 and word 95 files via hwpf</action>
        <action dev="PD" type="add" fixes-bug="49508">allow the addition of paragraphs to xwpf table cells</action>
        <action dev="PD" type="fix" fixes-bug="49446">don't consider 17.16.23 field codes as properly part of the paragraph's text</action>
        <action dev="PD" type="fix">xslfslideshow shouldn't break on .thmx (theme) files. support for them is still very limited though</action>
    </release>
    
    <release version="3.7-beta1" date="2010-06-20">
        <action dev="PD" type="fix" fixes-bug="49432">lazy caching of xssfcomment ctcomment objects by reference, to make repeated comment searching faster</action>
        <action dev="PD" type="fix">better handling of outlook messages in hsmf when there's no recipient email address</action>
        <action dev="PD" type="fix">when formatting numbers with dataformatter, handle brackets following colours</action>
        <action dev="PD" type="add" fixes-bug="48574">further xwpf support for tables, paragraphs, including enhanced support for adding new ones</action>
        <action dev="PD" type="add" fixes-bug="48245">tweak hwpf table cell detection to work across more files</action>
        <action dev="PD" type="add" fixes-bug="48996">initial support for external name references in hssf formula evaluation</action>
        <action dev="PD" type="fix" fixes-bug="46664">fix up tab ids when adding new sheets, so that print areas don't end up invalid</action>
        <action dev="PD" type="fix" fixes-bug="45269">improve replacetext on hwpf ranges</action>
        <action dev="PD" type="fix" fixes-bug="47815">correct documentation on what happens when you request a string from a non-string formula cell</action>
        <action dev="PD" type="fix" fixes-bug="49386">avoid npe when extracting ooxml file properties which are dates</action>
        <action dev="PD" type="fix" fixes-bug="49377">only call decimalformat.setroundingmode on java 1.6 - it's needed to match excel's rendering of numbers</action>
        <action dev="PD" type="fix" fixes-bug="49378">correct 1.6ism</action>
        <action dev="PD" type="add">parse the hsmf headers chunk if present, and use it to find dates in text extraction if needed</action>
        <action dev="PD" type="fix" fixes-bug="48494">detect and support time formats like hh:mm;hh:mm</action>
        <action dev="PD" type="fix" fixes-bug="48494">have excelextractor make use of hssfdataformatter, so that numbers and dates come out closer to how excel would render them</action>
        <action dev="PD" type="fix" fixes-bug="48494">have eventbasedexcelextractor make use of hssfdataformatter, so that numbers and dates come out closer to how excel would render them</action>
        <action dev="PD" type="fix" fixes-bug="49096">add clone support to chart begin and end records, to allow cloning of more chart containing sheets</action>
        <action dev="PD" type="add">list attachment names in the output of outlooktextextractor (to get attachment contents, use extractorfactory as normal)</action>
        <action dev="PD" type="fix" fixes-bug="48872">allow dateformatter.formatrawcellcontents to handle 1904 as well as 1900 dates</action>
        <action dev="PD" type="fix" fixes-bug="48872">handle mmmmm and elapsed time formatting rules in dataformatter</action>
        <action dev="PD" type="fix" fixes-bug="48872">handle zero formatting rules, and better color detection in dataformatter</action>
        <action dev="PD" type="fix" fixes-bug="48872">support for more kinds of formatting in dataformatter</action>
        <action dev="PD" type="fix" fixes-bug="43161">fixed construction of the dib picture header</action>
        <action dev="PD" type="add" fixes-bug="49311">initial support for reading aes-encrypted/write-protected ooxml files</action>
        <action dev="PD" type="fix" fixes-bug="48718">make the creation of multiple, un-modified fonts in a row in xssf match the old hssf behaviour</action>
        <action dev="PD" type="fix" fixes-bug="44916">allow access to the hssfpatriarch from hssfsheet once created</action>
        <action dev="PD" type="add" fixes-bug="48779">allow you to get straight from a cellstyle to a color, irrespective of if the color is indexed or inline-defined</action>
        <action dev="PD" type="add" fixes-bug="48924">allow access of the hwpf dateandtime underlying date values</action>
        <action dev="PD" type="add" fixes-bug="48926">initial support for the hwpf revision marks authors list</action>
        <action dev="PD" type="fix" fixes-bug="49160">ensure that ctdigsigblob is included in poi-ooxml jar</action>
        <action dev="PD" type="fix" fixes-bug="49189">detect w:tab and w:cr entries in xwpf paragraphs, even when the xsd is silly and maps them to ctempty</action>
        <action dev="PD" type="fix" fixes-bug="49273">correct handling for font character sets with indicies greater than 127</action>
        <action dev="PD" type="add" fixes-bug="49334">track the valuerangerecords of charts in hssfchart, to allow the basic axis operations</action>
        <action dev="PD" type="add" fixes-bug="49242">track the linkdatarecords of charts in hssfchart</action>
        <action dev="PD" type="add">improved performance of xssfworkbook.write </action>
        <action dev="PD" type="fix" fixes-bug="48846">avoid npe when finding cell comments</action>
        <action dev="PD" type="fix" fixes-bug="49325">ensure that ctphoneticpr is included in poi-ooxml jar</action>
        <action dev="PD" type="fix" fixes-bug="49191">fixed tests failing in non-english locales</action>
        <action dev="PD" type="add" fixes-bug="48432">support for xssf themes</action>
        <action dev="PD" type="add" fixes-bug="49244">support for data validation for ooxml format</action>
        <action dev="PD" type="add" fixes-bug="49066">worksheet/cell formatting, with view and html converter</action>
        <action dev="PD" type="fix" fixes-bug="49020">workaround excel outputting invalid xml in button definitions by not closing br tags</action>
        <action dev="PD" type="fix" fixes-bug="49050">improve performance of abstractescherholderrecord when there are lots of continue records</action>
        <action dev="PD" type="fix" fixes-bug="49194">correct text size limit for ooxml .xlsx files</action>
        <action dev="PD" type="fix" fixes-bug="49254">fix cellutils.setfont to use the correct type internally</action>
        <action dev="PD" type="fix" fixes-bug="49139">properly support 4k big block size in poifs</action>
        <action dev="PD" type="fix" fixes-bug="48936">avoid writing malformed cdata blocks in sharedstrings.xml</action>
        <action dev="PD" type="add" fixes-bug="49026">added implementation for text()  </action>
        <action dev="PD" type="add" fixes-bug="49025">added implementation for trunc()  </action>
        <action dev="PD" type="fix" fixes-bug="49147">properly close internal inputstream in extractorfactory#createextractor(file)</action>
        <action dev="PD" type="fix" fixes-bug="49138">fixed locale-sensitive formatters in packagepropertiespart</action>
        <action dev="PD" type="fix" fixes-bug="49153">ensure that ctvectorvariant is included in poi-ooxml-schemas.jar</action>
        <action dev="PD" type="add" fixes-bug="49146">added accessors to coreproperties.keywords  </action>
        <action dev="PD" type="fix" fixes-bug="48916">propagate parent to parent-aware records decoded from escher</action>
        <action dev="PD" type="fix" fixes-bug="48485">add extra paper size constans to printsetup, such as a3, b4 and b5</action>
        <action dev="PD" type="fix">make poifs.filesystem.directorynode preserve the original ordering of its files, which hsmf needs to be able to correctly match up chunks</action>
        <action dev="PD" type="add">support evaluation of indirect defined names in indirect</action>
        <action dev="PD" type="fix" fixes-bug="43670">improve hdgf chunkv11 separator detection, and short string detection, to solve the "negative length of chunkheader" problem</action>
        <action dev="PD" type="add" fixes-bug="48617">optionally allow the overriding of the locale used by dataformatter to control how the default number and date formats should look</action>
        <action dev="PD" type="add">new event based xssf text extractor (xssfeventbasedexcelextractor)</action>
        <action dev="PD" type="add">extractorfactory can now be told to prefer event based extractors (current excel only) on a per-thread or overall basis</action>
        <action dev="PD" type="fix" fixes-bug="48544">avoid failures in xlsx2csv when shared string table is missing</action>
        <action dev="PD" type="fix" fixes-bug="48571">properly close all io streams created in opcpackage</action>
        <action dev="PD" type="fix" fixes-bug="48572">always copy all declared inner classes and interfaces when generating poi-ooxml-schemas</action>
        <action dev="PD" type="add">low level record support for the extrst (phonetic text) part of unicode strings. no usermodel access to it as yet though.</action>
        <action dev="PD" type="fix">record.unicodestring has moved to record.common.unicodestring, to live with the other record-part classes, as it isn't a full record.</action>
        <action dev="PD" type="add">avoid creating temporary files when opening opc packages from input stream</action>
        <action dev="PD" type="add">improved how hsmf handles multiple recipients</action>
        <action dev="PD" type="add">add publishertextextractor support to extractorfactory</action>
        <action dev="PD" type="add">add xslf support for text extraction from tables</action>
        <action dev="PD" type="add">support attachments as embeded documents within the new outlooktextextractor</action>
        <action dev="PD" type="add">add a text extractor (outlooktextextractor) to hsmf for simpler extraction of text from .msg files</action>
        <action dev="PD" type="fix">some improvements to hsmf parsing of .msg files</action>
        <action dev="PD" type="fix">initialise the link type of hssfhyperlink, so that gettype() on it works</action>
        <action dev="PD" type="fix" fixes-bug="48425">improved performance of dateutil.iscelldateformatted()  </action>
        <action dev="PD" type="fix" fixes-bug="47215">fixed interfaceendrecord to tolerate unexpected record contents </action>
        <action dev="PD" type="fix" fixes-bug="48415">improved javadoc on hsspicture.resize() </action>
        <action dev="PD" type="add">added ant target to install artifacts in local repository </action>
        <action dev="PD" type="fix" fixes-bug="48026">fixed pagesettingsblock to allow multiple headerfooterrecord records </action>
        <action dev="PD" type="fix" fixes-bug="48202">fixed cellrangeutil.mergecellranges to work for adjacent cell regions </action>
        <action dev="PD" type="fix" fixes-bug="48339">fixed externalnamerecord to properly distinguish dde data from ole data items </action>
        <action dev="PD" type="fix" fixes-bug="47920">allow editing workbooks embedded into powerpoint files</action>
        <action dev="PD" type="add" fixes-bug="48343">added implementation of subtotal function</action>
        <action dev="PD" type="fix">switch to compiling the ooxml schemas for java 1.5</action>
    </release>
    <release version="3.6" date="2009-12-14">
        <action dev="PD" type="fix" fixes-bug="48332">fixed xssfsheet autosizecolumn() to tolerate empty richtextstring</action>
        <action dev="PD" type="fix" fixes-bug="48332">fixed columninforecord to tolerate missing reserved field</action>
        <action dev="PD" type="fix" fixes-bug="47701">fixed recordformatexception when reading list subrecords (lbsdatasubrecord)</action>
        <action dev="PD" type="add"> memory usage optimization in xssf - avoid creating parentless xml beans</action>
        <action dev="PD" type="fix" fixes-bug="47188">avoid corruption of workbook when adding cell comments </action>
        <action dev="PD" type="fix" fixes-bug="48106">improved work with cell comments in xssf</action>
        <action dev="PD" type="add">add support for creating summaryinformation and documentsummaryinformation properties
            on poidocuments that don't have them, via poidocument.createinformationproperties()
        </action>
        <action dev="PD" type="fix" fixes-bug="48180">be more forgiving of short chart records, which skip some unused fields</action>
        <action dev="PD" type="fix" fixes-bug="48274">fix erronious wrapping of byte colours in hssfpalette.findsimilarcolor</action>
        <action dev="PD" type="fix" fixes-bug="48269">fix fetching of error codes from xssf formula cells</action>
        <action dev="PD" type="fix" fixes-bug="48229">fixed javadoc for hssfsheet.setcolumnwidth and xssfsheet setcolumnwidth </action>
        <action dev="PD" type="fix" fixes-bug="47757">fixed xlsx2csv to avoid exception when processing cells with multiple "t" elements</action>
        <action dev="PD" type="add" fixes-bug="48195">short-circuit evaluation of if() and choose()</action>
        <action dev="PD" type="add" fixes-bug="48161">support for text extraction from ppt master slides</action>
        <action dev="PD" type="add" fixes-bug="47970">added a method to set arabic mode in hssfsheet</action>
        <action dev="PD" type="fix" fixes-bug="48134">release system resources when using picture.resize()</action>
        <action dev="PD" type="fix" fixes-bug="48087">avoid npe in xssfchartsheet when calling methods of the superclass</action>
        <action dev="PD" type="fix" fixes-bug="48038">handle reading hwpf stylesheets from non zero offsets</action>
        <action dev="PD" type="add">when running the "compile-ooxml-xsds" ant task, also generate the source jar for the ooxml schemas</action>
        <action dev="PD" type="fix" fixes-bug="45672">improve handling by missingrecordawarehssflistener of records that cover multiple cells (mulblankrecord and mulrkrecord)</action>
        <action dev="PD" type="fix" fixes-bug="48096">relaxed validation check in recalcidrecord</action>
        <action dev="PD" type="fix" fixes-bug="48085">improved error checking in blockallocationtablereader to trap unreasonable field values</action>
        <action dev="PD" type="fix" fixes-bug="47924">fixed logic for matching cells and comments in hssfcell.getcellcomment()</action>
        <action dev="PD" type="add" fixes-bug="47942">added implementation of protection features to xlsx and docx files</action>
        <action dev="PD" type="fix" fixes-bug="48070">preserve leading and trailing white spaces in xssfrichtextstring</action>
        <action dev="PD" type="add" fixes-bug="48044">added implementation for countblank function</action>
        <action dev="PD" type="fix" fixes-bug="48036">added intersectioneval to allow evaluation of the intersection formula operator</action>
        <action dev="PD" type="fix" fixes-bug="47999">avoid un-needed call to the jvm garbage collector when working on ooxml opc packages</action>
        <action dev="PD" type="add" fixes-bug="47922">added example hsmf application that converts a .msg file to text and extracts attachments</action>
        <action dev="PD" type="add" fixes-bug="47903">added ant target to compile scratchpad examples</action>
        <action dev="PD" type="add" fixes-bug="47839">improved api for ooxml custom properties</action>
        <action dev="PD" type="fix" fixes-bug="47862">fixed xssfsheet.setcolumnwidth to handle columns included in a column span</action>
        <action dev="PD" type="fix" fixes-bug="47804">fixed xssfsheet.setcolumnhidden to handle columns included in a column span</action>
        <action dev="PD" type="fix" fixes-bug="47889">fixed xssfcell.getstringcellvalue() to properly handle cached formula results</action>
    </release>
    <release version="3.5-final" date="2009-09-28">
        <action dev="PD" type="fix" fixes-bug="47747">fixed logic for locating shared formula records</action>
        <action dev="PD" type="add" fixes-bug="47809">improved work with user-defined functions</action>
        <action dev="PD" type="fix" fixes-bug="47581">fixed xssfsheet.setcolumnwidth to produce xml compatible with mac excel 2008</action>
        <action dev="PD" type="fix" fixes-bug="47734">removed unnecessary svn:executable flag from files in svn trunk</action>
        <action dev="PD" type="fix" fixes-bug="47543">added javadoc how to avoid excel crash when creating too many hssfrichtextstring cells</action>
        <action dev="PD" type="fix" fixes-bug="47813">fixed problems with xssfworkbook.removesheetat when workbook contains chart</action>
        <action dev="PD" type="fix" fixes-bug="47737">adjust sheet indices of named ranges when deleting sheets</action>
        <action dev="PD" type="fix" fixes-bug="47770">built-in positive formats don't need starting '('</action>
        <action dev="PD" type="add" fixes-bug="47771">added method setfunction(boolean) for defined names</action>
        <action dev="PD" type="add" fixes-bug="47768">implementation of excel "days360" and "npv" functions</action>
        <action dev="PD" type="fix" fixes-bug="47751">do not allow hssf's cell text longer than 32,767 characters</action>
        <action dev="PD" type="add" fixes-bug="47757">added an example demonstrating how to convert an xlsx workbook to csv</action>
        <action dev="PD" type="fix" fixes-bug="44770">fixed ppt parser to tolerate comment2000 containers with missing comment text</action>
        <action dev="PD" type="fix" fixes-bug="47773">fix for extraction paragraphs and sections from headers/footers with xwpfwordextractor</action>
        <action dev="PD" type="fix" fixes-bug="47727">support for extraction of header / footer images in hwpf</action>
        <action dev="PD" type="fix">moved all test data to a top-level directory</action>
        <action dev="PD" type="add" fixes-bug="47721">Added implementation for INDIRECT()</action>
        <action dev="PD" type="add" fixes-bug="45583">Avoid exception when reading ClipboardData packet in OLE property sets</action>
        <action dev="PD" type="add" fixes-bug="47652">Added support for reading encrypted workbooks</action>
        <action dev="PD" type="add" fixes-bug="47604">Implementation of an XML to XLSX Importer using Custom XML Mapping</action>
        <action dev="PD" type="fix" fixes-bug="47620">Avoid FormulaParseException in XSSFWorkbook.setRepeatingRowsAndColumns when removing repeated rows and columns</action>
        <action dev="PD" type="fix" fixes-bug="47606">Fixed XSSFCell to correctly parse column indexes greater than 702 (ZZ)</action>
        <action dev="PD" type="fix" fixes-bug="47598">Improved formula evaluator number comparison</action>
        <action dev="PD" type="fix" fixes-bug="47571">Fixed XWPFWordExtractor to extract inserted/deleted text</action>
        <action dev="PD" type="fix" fixes-bug="47548">Fixed RecordFactoryInputStream to properly read continued DrawingRecords</action>
        <action dev="PD" type="fix" fixes-bug="46419">Fixed compatibility issue with OpenOffice 3.0</action>
        <action dev="PD" type="fix" fixes-bug="47559">
            Fixed compatibility issue with Excel 2008 Mac sp2. Please see
            <link href="./spreadsheet/index.html"> the HSSF+XSSF project page</link>
            for more information.
        </action>
        <action dev="PD" type="fix" fixes-bug="47540">Fix for saving custom and extended OOXML properties</action>
        <action dev="PD" type="fix" fixes-bug="47535">Fixed WordExtractor to tolerate files with empty footnote block</action>
        <action dev="PD" type="fix" fixes-bug="47517">Fixed ExtractorFactory to support .xltx and .dotx files</action>
        <action dev="PD" type="add" fixes-bug="45556">Support for extraction of footnotes from docx files</action>
        <action dev="PD" type="add" fixes-bug="45555">Support for extraction of endnotes from docx files</action>
        <action dev="PD" type="add" fixes-bug="47520">Initial support for custom XML mappings in XSSF</action>
        <action dev="PD" type="fix" fixes-bug="47460">Fixed NPE when retrieving core properties from a newly created workbook</action>
        <action dev="PD" type="fix" fixes-bug="47498">Fixed HyperlinkRecord to properly handle URL monikers</action>
        <action dev="PD" type="fix" fixes-bug="47504">Fixed XSSFWorkbook to read files with hyperlinks to document locations</action>
        <action dev="PD" type="fix" fixes-bug="47479">Fix BoolErrRecord to tolerate incorrect format written by OOO</action>
        <action dev="PD" type="fix" fixes-bug="47448">Allow HSSFEventFactory to handle non-zero padding at the end of the workbook stream</action>
        <action dev="PD" type="add" fixes-bug="47456">Support for getting OLE object data in PowerPointExtractor</action>
        <action dev="PD" type="fix" fixes-bug="47411">Explicitly set the 1900 date system when creating XSSF workbooks</action>
        <action dev="PD" type="add" fixes-bug="47400">Support for text extraction of footnotes, endnotes and comments in HWPF</action>
        <action dev="PD" type="fix" fixes-bug="47415">Fixed PageSettingsBlock to allow multiple PLS records</action>
        <action dev="PD" type="fix" fixes-bug="47412">Fixed concurrency issue with EscherProperties.initProps()</action>
        <action dev="PD" type="fix" fixes-bug="47143">Fixed OOM in HSSFWorkbook#getAllPictures when reading .xls files containing metafiles</action>
        <action dev="PD" type="add">Added implementation for ISNA()</action>
        <action dev="PD" type="add" fixes-bug="46793">fixed SimpleShape#getLineWidth to handle default line width </action>
        <action dev="PD" type="add" fixes-bug="47356">removed unused private fields in HWPF BorderCode</action>
        <action dev="PD" type="add" fixes-bug="47355">Improved HWPF TableCell to expose TableCellDescriptor</action>
        <action dev="PD" type="fix" fixes-bug="46610">Improved HWPF to better handle unicode</action>
        <action dev="PD" type="fix" fixes-bug="47261">Fixed SlideShow#removeSlide to remove references to Notes</action>
        <action dev="PD" type="fix" fixes-bug="47375">Fixed HSSFHyperlink to correctly set inter-sheet and file links</action>
        <action dev="PD" type="fix" fixes-bug="47384">Fixed ExternalNameRecord to handle unicode names</action>
        <action dev="PD" type="fix" fixes-bug="47372">Fixed locale-sensitive unit tests to pass when running on non-US locale</action>
    </release>
    <release version="3.5-beta6" date="2009-06-22">
        <action dev="PD" type="fix" fixes-bug="47363">Fixed HSSFSheet to allow addition of data validations after sheet protection</action>
        <action dev="PD" type="fix" fixes-bug="47294">Fixed XSSFWorkbook#setRepeatingRowsAndColumns to tolerate sheet names with quotes</action>
        <action dev="PD" type="fix" fixes-bug="47309">Fixed logic in HSSFCell.getCellComment to handle sheets with more than 65536 comments</action>
        <action dev="PD" type="fix" fixes-bug="46776">Added clone() method to MulBlankRecord to fix crash in Sheet.cloneSheet()</action>
        <action dev="PD" type="fix" fixes-bug="47244">Fixed HSSFSheet to handle missing header / footer records</action>
        <action dev="PD" type="fix" fixes-bug="47312">Fixed formula parser to properly reject cell references with a '0' row component</action>
        <action dev="PD" type="fix" fixes-bug="47199">Fixed PageSettingsBlock/Sheet to tolerate margin records after other non-PSB records</action>
        <action dev="PD" type="fix" fixes-bug="47069">Fixed HSSFSheet#getFirstRowNum and HSSFSheet#getLastRowNum to return correct values after removal of all rows</action>
        <action dev="PD" type="fix" fixes-bug="47278">Fixed XSSFCell to avoid generating xsi:nil entries in shared string table</action>
        <action dev="PD" type="fix" fixes-bug="47206">Fixed XSSFCell to properly read inline strings</action>
        <action dev="PD" type="add" fixes-bug="47250">Fixed FontRecord to expect unicode flags even when name length is zero</action>
        <action dev="PD" type="add" fixes-bug="47198">Fixed formula evaluator comparison of -0.0 and 0.0</action>
        <action dev="PD" type="add" fixes-bug="47229">Fixed ExternalNameRecord to handle DDE links</action>
        <action dev="PD" type="add" fixes-bug="46287">Control of header and footer extraction in ExcelExtractor / XSSFExcelExtractor</action>
        <action dev="PD" type="add" fixes-bug="46554">New ant target "jar-examples"</action>
        <action dev="PD" type="add" fixes-bug="46161">Support in XSSF for setGroupColumnCollapsed and setGroupRowCollapsed</action>
        <action dev="PD" type="add" fixes-bug="46806">Allow columns greater than 255 and rows greater than 0x100000 in XSSF formulas</action>
        <action dev="PD" type="add" fixes-bug="41711">Base class for "old version" exceptions, and new HSLF detection + use of old versions exception</action>
        <action dev="PD" type="fix" fixes-bug="47179">Fix string encoding issues with HSMF chunks on non-windows platforms</action>
        <action dev="PD" type="add" fixes-bug="47183">Attachment support for HSMF</action>
        <action dev="PD" type="fix" fixes-bug="47154">Handle the cell format @ as the same as General</action>
        <action dev="PD" type="fix" fixes-bug="47048">Fixed evaluation of defined names with the 'complex' flag set</action>
        <action dev="PD" type="fix" fixes-bug="46953">More tweaks to PageSettingsBlock parsing logic in Sheet constructor</action>
        <action dev="PD" type="fix" fixes-bug="47089">Fixed XSSFWorkbook.createSheet to properly increment sheetId</action>
        <action dev="PD" type="fix" fixes-bug="46568">Fixed XSLFPowerPointExtractor to properly process line breaks</action>
        <action dev="PD" type="fix" fixes-bug="39056">Fixed POIFSFileSystem to set CLSID of root when constructing instances from InputStream</action>
        <action dev="PD" type="fix" fixes-bug="47054">Fixed cloneStyleFrom to avoid exception when cloning styles of the same family</action>
        <action dev="PD" type="fix" fixes-bug="46186">Fixed Sheet to read GutsRecord in the Sheet(RecordStream rs)</action>
        <action dev="PD" type="fix" fixes-bug="46714">Automatically call sheet.setAlternativeExpression when sheet.setRowSumsBelow is called </action>
        <action dev="PD" type="fix" fixes-bug="46279">Allow 255 arguments for excel functions in XSSF </action>
        <action dev="PD" type="fix" fixes-bug="47028">Fixed XSSFCell to preserve cell style when cell value is set to blank</action>
        <action dev="PD" type="fix" fixes-bug="47026">Avoid NPE in XSSFCell.setCellType() when workbook does not have SST</action>
        <action dev="PD" type="fix" fixes-bug="46987">Allow RecordFactory to handle non-zero padding at the end of the workbook stream</action>
        <action dev="PD" type="fix" fixes-bug="47034">Fix reading the name of a NameRecord when the name is very long</action>
        <action dev="PD" type="fix" fixes-bug="47001">Fixed WriteAccessRecord and LinkTable to handle unusual format written by Google Docs</action>
        <action dev="PD" type="fix" fixes-bug="46973">Fixed defined names to behave better when refersToFormula is unset</action>
        <action dev="PD" type="fix" fixes-bug="46832">Allow merged regions with columns greater than 255 or rows bigger than 65536 in XSSF</action>
        <action dev="PD" type="fix" fixes-bug="46951">Fixed formula parser to better handle range operators and whole row/column refs.</action>
        <action dev="PD" type="fix" fixes-bug="46948">Fixed evaluation of range operator to allow for area-ref operands</action>
        <action dev="PD" type="fix" fixes-bug="46918">Fixed ExtendedPivotTableViewFieldsRecord(SXVDEX) to allow shorter format</action>
        <action dev="PD" type="fix" fixes-bug="46898">Fixed formula evaluator to not cache intermediate circular-reference error results</action>
        <action dev="PD" type="fix" fixes-bug="46917">Fixed PageItemRecord(SXPI) to allow multiple field infos</action>
        <action dev="PD" type="fix" fixes-bug="46904">Fix POIFS issue with duplicate block 0 references on very old BIFF5/BIFF7 files</action>
        <action dev="PD" type="fix" fixes-bug="46840">PageSettingsBlock should include HEADERFOOTER record</action>
        <action dev="PD" type="fix" fixes-bug="46885">update cell type when setting cached formula result in XSSFCell</action>
        <action dev="PD" type="add">added modifiers for anchor type to XSSFClientAnchor</action>
        <action dev="PD" type="add" fixes-bug="46772">support built-in data formats in XSSFDataFormat</action>
        <action dev="PD" type="fix" fixes-bug="46719">fixed XSSFSheet.shiftRows to correctly preserve row heights</action>
        <action dev="PD" type="fix" fixes-bug="46715">preserve custom column widths across re-serialization of XSSFWorkbook</action>
        <action dev="PD" type="add" fixes-bug="46703">added setDisplayZeros / isDisplayZeros to common interface org.apache.poi.ss.usermodel.Sheet</action>
        <action dev="PD" type="add" fixes-bug="46708">added getMergedRegion(int) to common interface org.apache.poi.ss.usermodel.Sheet</action>
        <action dev="PD" type="fix">fixed Sheet.autoSizeColumn() to use cached formula values when processing formula cells </action>
        <action dev="PD" type="fix">Fixed formula parser to handle names with backslashes</action>
        <action dev="PD" type="add" fixes-bug="46660">added Workbook getHidden() and setHidden(boolean)</action>
        <action dev="PD" type="fix" fixes-bug="46693">Fixed bugs serialization bugs in records: CHARTFORMAT, SHTPROPS, SXVD and SXVDEX</action>
        <action dev="PD" type="fix" fixes-bug="46627">Fixed offset of added images if Pictures stream contains pictures with zero length</action>
    </release>
    <release version="3.5-beta5" date="2009-02-19">
        <action dev="PD" type="fix" fixes-bug="46536">When shifting rows, update formulas on that sheet to point to the new location of those rows</action>
        <action dev="PD" type="fix" fixes-bug="46663">Fixed XSSFSheet.shiftRows to properly update references of the shifted cells</action>
        <action dev="PD" type="fix" fixes-bug="46535">Remove reference from calculation chain when a formula is deleted</action>
        <action dev="PD" type="fix" fixes-bug="46654">HSSFRow/RowRecord to properly update cell boundary indexes</action>
        <action dev="PD" type="fix" fixes-bug="46643">Fixed formula parser to encode range operator with tMemFunc</action>
        <action dev="PD" type="fix" fixes-bug="46647">Fixed COUNTIF NE operator and other special cases involving type conversion</action>
        <action dev="PD" type="add" fixes-bug="46635">Added a method to remove slides</action>
        <action dev="PD" type="fix" fixes-bug="40520">Fixed HSSFFont.applyFont() to properly apply font to overlapping regions</action>
        <action dev="PD" type="fix" fixes-bug="46545">Fixed ObjRecord to ignore excessive padding written by previous POI versions</action>
        <action dev="PD" type="fix" fixes-bug="46613">Fixed evaluator to perform case insensitive string comparisons</action>
        <action dev="PD" type="add" fixes-bug="46544">command line interface for hssf ExcelExtractor</action>
        <action dev="PD" type="fix" fixes-bug="46547">Allow addition of conditional formatting after data validation</action>
        <action dev="PD" type="fix" fixes-bug="46548">Page Settings Block fixes - continued PLS records and PSB in sheet sub-streams</action>
        <action dev="PD" type="add" fixes-bug="46523">added implementation for SUMIF function</action>
        <action dev="PD" type="add">Support for reading HSSF column styles</action>
        <action dev="PD" type="fix">Hook up POIXMLTextExtractor.getMetadataTextExtractor() to the already written POIXMLPropertiesTextExtractor</action>
        <action dev="PD" type="fix" fixes-bug="46472">Avoid NPE in HPSFPropertiesExtractor when no properties exist</action>
        <action dev="PD" type="fix" fixes-bug="46479">fixed bugs related to cached formula values and HSSFFormulaEvaluator.evaluateInCell()</action>
        <action dev="PD" type="add" fixes-bug="45031">added implementation for CHOOSE() function</action>
        <action dev="PD" type="fix" fixes-bug="46361">resolve licensing issues around the HDGF resource file, chunks_parse_cmds.tbl</action>
        <action dev="PD" type="add" fixes-bug="46410">added implementation for TIME() function</action>
        <action dev="PD" type="add" fixes-bug="46320">added HSSFPictureData.getFormat()</action>
        <action dev="PD" type="fix" fixes-bug="46445">fixed HSSFSheet.shiftRow to move hyperlinks</action>
        <action dev="PD" type="fix">fixed formula parser to correctly resolve sheet-level names</action>
        <action dev="PD" type="fix" fixes-bug="46433">support for shared formulas in XSSF</action>
        <action dev="PD" type="add" fixes-bug="46299">support for carriage return and line break in XWPFRun</action>
        <action dev="PD" type="add" fixes-bug="46300">support for line spacing in XWPFParagraph</action>
        <action dev="PD" type="add" fixes-bug="46308">initial support for creation of XWPFTable</action>
        <action dev="PD" type="add">Added getters to parent objects: HSSFSheet.getWorkbook(), HSSFRow.getSheet() and HSSFCell.getRow()</action>
        <action dev="PD" type="fix" fixes-bug="46385">(also patch 46362) fix serialization of StyleRecord with unicode name</action>
        <action dev="PD" type="fix" fixes-bug="46368">Fix HSSFRichTextRun and strings longer than 32768 characters</action>
        <action dev="PD" type="add">Support sheet-level names</action>
        <action dev="PD" type="fix">Fixed XSSFCell to properly handle cell references with column numbers up to XFD</action>
        <action dev="PD" type="fix" fixes-bug="44914">Fixed warning message "WARN. Unread n bytes of record 0xNN"</action>
        <action dev="PD" type="add" fixes-bug="46156">Improved number to text conversion to be closer to that of Excel</action>
        <action dev="PD" type="fix" fixes-bug="46312">Fixed ValueRecordsAggregate to handle removal of new empty row</action>
        <action dev="PD" type="add" fixes-bug="46269">Improved error message when attempting to read BIFF2 file</action>
        <action dev="PD" type="fix" fixes-bug="46206">Fixed Sheet to tolerate missing DIMENSION records</action>
        <action dev="PD" type="add" fixes-bug="46301">added pivot table records: SXDI, SXVDEX, SXPI, SXIDSTM, SXVIEW, SXVD, SXVS, et al</action>
        <action dev="PD" type="fix" fixes-bug="46280">Fixed RowRecordsAggregate etc to properly skip PivotTable records</action>
    </release>
    <release version="3.5-beta4" date="2008-11-29">
        <action dev="PD" type="fix" fixes-bug="46213">Fixed FormulaRecordAggregate to gracefully ignore extra StringRecords</action>
        <action dev="PD" type="fix" fixes-bug="46174">Fixed HSSFName to handle general formulas (not just area references)</action>
        <action dev="PD" type="add" fixes-bug="46189">added chart records: CHARTFRTINFO, STARTBLOCK, ENDBLOCK, STARTOBJECT, ENDOBJECT, and CATLAB</action>
        <action dev="PD" type="fix" fixes-bug="46199">More tweaks to EmbeddedObjectRefSubRecord</action>
        <action dev="PD" type="add">Changes to formula evaluation allowing for reduced memory usage</action>
        <action dev="PD" type="fix" fixes-bug="45290">Support odd files where the POIFS header block comes after the data blocks, and is on the data blocks list</action>
        <action dev="PD" type="fix" fixes-bug="46184">More odd escaped date formats</action>
        <action dev="PD" type="add">Include the sheet number in the output of XLS2CSVmra</action>
        <action dev="PD" type="fix" fixes-bug="46043">correctly write out HPSF properties with HWPF</action>
        <action dev="PD" type="add" fixes-bug="45973">added CreationHelper.createFormulaEvaluator(), implemeted both for HSSF and XSSF</action>
        <action dev="PD" type="fix" fixes-bug="46182">fixed Slideshow.readPictures() to skip pictures with invalid headers</action>
        <action dev="PD" type="fix" fixes-bug="46137">Handle odd files with a ContinueRecord after EOFRecord</action>
        <action dev="PD" type="fix">Fixed problem with linking shared formulas when ranges overlap</action>
        <action dev="PD" type="fix" fixes-bug="45784">More fixes to SeriesTextRecord</action>
        <action dev="PD" type="fix" fixes-bug="46033">fixed TableCell to correctly set text type</action>
        <action dev="PD" type="fix" fixes-bug="46122">fixed Picture.draw to skip rendering if picture data was not found</action>
        <action dev="PD" type="fix" fixes-bug="15716">memory usage optimisation - converted Ptg arrays into Formula objects</action>
        <action dev="PD" type="add" fixes-bug="46065">added implementation for VALUE function</action>
        <action dev="PD" type="add" fixes-bug="45966">added implementation for FIND function</action>
        <action dev="PD" type="fix" fixes-bug="45778">fixed ObjRecord to read ftLbsData properly</action>
        <action dev="PD" type="fix" fixes-bug="46053">fixed evaluation cache dependency analysis when changing blank cells</action>
    </release>
    <release version="3.5-beta3" date="2008-09-26">
        <action dev="PD" type="fix" fixes-bug="45518">Fix up ColumnHelper to output valid col tags, by making 1 based and 0 based bits clearer, and using the right ones</action>
        <action dev="PD" type="fix" fixes-bug="45676">Handle very long cells in the XSSF EventUserModel example</action>
        <action dev="PD" type="add">Initial ExtractorFactory support for building TextExtractors for embeded documents</action>
    </release>
    <release version="3.5-beta2" date="2008-08-20">
        <action dev="PD" type="add">Support stripping XSSF header and footer fields (eg page number) out of header and footer text if required</action>
        <action dev="PD" type="add">Add POIXMLPropertiesTextExtractor, which provides to the OOXML file formats a similar function to HPSF's HPSFPropertiesExtractor</action>
        <action dev="PD" type="add" fixes-bug="45539">Improve XWPFWordExtractor to extract headers and footers</action>
        <action dev="PD" type="fix">Improve how XWPF handles paragraph text</action>
        <action dev="PD" type="add">Support in XWPF handles headers and footers</action>
        <action dev="PD" type="add" fixes-bug="45592">Improve XWPF text extraction to include tables always, and picture text where possible</action>
        <action dev="PD" type="add" fixes-bug="45545">Improve XSLF usermodel support, and include XSLF comments in extracted text</action>
        <action dev="PD" type="add" fixes-bug="45540">Fix XSSF header and footer support, and include headers and footers in the output of XSSFExcelExtractor</action>
        <action dev="PD" type="add" fixes-bug="45431">Support for .xlsm files, sufficient for simple files to be loaded by excel without warning</action>
        <action dev="PD" type="add">New class org.apache.poi.hssf.record.RecordFormatException, which DDF uses instead of the HSSF version, and the HSSF version inherits from</action>
        <action dev="PD" type="add" fixes-bug="45431">Partial support for .xlm files. Not quite enough for excel to load them though</action>
        <action dev="PD" type="fix" fixes-bug="45430">Correct named range sheet reporting when no local sheet id is given in the xml</action>
    </release>
    <release version="3.5-beta1" date="2008-07-18">
        <action dev="PD" type="add" fixes-bug="45018">Support for fetching embeded documents from within an OOXML file</action>
        <action dev="PD" type="add">Port support for setting a policy on missing / blank cells when fetching, to XSSF too</action>
        <action dev="PD" type="add">Common text extraction factory, which returns the correct POITextExtractor for the supplied data</action>
        <action dev="PD" type="add">Text Extraction support for the new OOXML files (.xlsx, .docx and .pptx)</action>
        <action dev="PD" type="add">Initial support for processing OOXML Excel files (.xlsx), both directly through XSSF, and also through the new common UserModel</action>
        <action dev="PD" type="add">Created a common interface for handling PowerPoint files, irrespective of if they are .ppt or .pptx</action>
        <action dev="PD" type="add">Created a common interface for handling Excel files, irrespective of if they are .xls or .xlsx</action>
    </release>
    <release version="3.2-FINAL" date="2008-10-19">
        <action dev="PD" type="fix" fixes-bug="45866">allowed for change of unicode compression across Continue records</action>
        <action dev="PD" type="fix" fixes-bug="45964">support for link formulas in Text Objects</action>
        <action dev="PD" type="fix" fixes-bug="43354">support for evalating formulas with missing args</action>
        <action dev="PD" type="fix" fixes-bug="45912">fixed ArrayIndexOutOfBoundsException in EmbeddedObjectRefSubRecord</action>
        <action dev="PD" type="fix" fixes-bug="45889">fixed ArrayIndexOutOfBoundsException when constructing HSLF Table with a single row </action>
        <action dev="PD" type="add">Initial support for creating hyperlinks in HSLF</action>
        <action dev="PD" type="fix" fixes-bug="45876">fixed BoundSheetRecord to allow sheet names longer than 31 chars</action>
        <action dev="PD" type="add" fixes-bug="45890">fixed HSSFSheet.shiftRows to also update conditional formats</action>
        <action dev="PD" type="add" fixes-bug="45865">modified Formula Parser/Evaluator to handle cross-worksheet formulas</action>
        <action dev="PD" type="add">Optimised the FormulaEvaluator to take cell dependencies into account</action>
        <action dev="PD" type="add" fixes-bug="16936">Initial support for whole-row cell styling</action>
        <action dev="PD" type="add">Update hssf.extractor.ExcelExtractor to optionally output blank cells too</action>
        <action dev="PD" type="add">Include the sheet name in the output of examples.XLS2CSVmra</action>
        <action dev="PD" type="fix" fixes-bug="45784">Support long chart titles in SeriesTextRecords</action>
        <action dev="PD" type="fix" fixes-bug="45777">Throw an exception if HSSF Footer or Header is attemped to be set too long, rather than having it break during writing out</action>
        <action dev="PD" type="add" fixes-bug="45844">Addtional diagnostics for HSLF SlideShowRecordDumper</action>
        <action dev="PD" type="fix" fixes-bug="45829">HSSFPicture.getImageDimension() failed when DPI of image is zero</action>
        <action dev="PD" type="fix" fixes-bug="45815">Bit mask values in StyleTextPropAtom were not preserved across read-write</action>
        <action dev="PD" type="add" fixes-bug="45814">Specify RecordType for slide show Handout (4041)</action>
        <action dev="PD" type="fix" fixes-bug="45805">Fixed 16-bit signed/unsigned bug in HSSFSheet.getColWidth etc</action>
        <action dev="PD" type="fix" fixes-bug="45780">Fixed HSSFSheet.shiftRows to also update Area refs</action>
        <action dev="PD" type="fix" fixes-bug="45804">Update HSMF to handle Outlook 3.0 msg files, which have a different string chunk type</action>
        <action dev="PD" type="add">Expose the name of Named Cell Styles via HSSFCellStyle (normally held on the parent style though)</action>
        <action dev="PD" type="fix" fixes-bug="45978">Fixed IOOBE in Ref3DPtg.toFormulaString() due eager initialisation of SheetReferences</action>
        <action dev="PD" type="add">Made HSSFFormulaEvaluator no longer require initialisation with sheet or row</action>
        <action dev="PD" type="add">Extended support for cached results of formula cells</action>
        <action dev="PD" type="fix" fixes-bug="45639">Fixed AIOOBE due to bad index logic in ColumnInfoRecordsAggregate</action>
        <action dev="PD" type="fix">Fixed special cases of INDEX function (single column/single row, errors)</action>
        <action dev="PD" type="add" fixes-bug="45761">Support for Very Hidden excel sheets in HSSF</action>
        <action dev="PD" type="add" fixes-bug="45738">Initial HWPF support for Office Art Shapes</action>
        <action dev="PD" type="fix" fixes-bug="45720">Fixed HSSFWorkbook.cloneSheet to correctly clone sheets with drawings</action>
        <action dev="PD" type="fix" fixes-bug="45728">Fix for SlideShow.reorderSlide in HSLF</action>
        <action dev="PD" type="add">Initial support for embedded movies and controls in HSLF</action>
        <action dev="PD" type="fix" fixes-bug="45358">signed/unsigned error when parsing 3-d area refs, performance problem evaluating area refs, and ClassCastExcecption in IF()</action>
        <action dev="PD" type="add">Support for HPBF Publisher hyperlinks, including during text extraction</action>
        <action dev="PD" type="fix" fixes-bug="26321,44958">preserve position of ArrayRecords and TableRecords among cell value records</action>
        <action dev="PD" type="fix">Impove empty header or footer handling in HWPF HeaderStories</action>
        <action dev="PD" type="fix">Avoid NPE in hssf.usermodel.HeaderFooter when stripping fields out</action>
        <action dev="PD" type="fix">Avoid NPE in EscherBSERecord on older escher records</action>
        <action dev="PD" type="add">Basic text extractraction support in HPBF</action>
        <action dev="PD" type="add">Initial, low level support for Publisher files, in the form of HPBF</action>
        <action dev="PD" type="fix" fixes-bug="45699">Fix RowRecordsAggregate to tolerate intervening MERGEDCELLS records</action>
        <action dev="PD" type="fix" fixes-bug="45698">Fix LinkTable to tolerate multiple EXTERNSHEET records</action>
        <action dev="PD" type="fix" fixes-bug="45682">Fix for cloning of CFRecordsAggregate</action>
        <action dev="PD" type="add">Initial support for evaluating external add-in functions like YEARFRAC</action>
        <action dev="PD" type="fix" fixes-bug="45672">Fix for MissingRecordAwareHSSFListener to prevent multiple LastCellOfRowDummyRecords when shared formulas are present</action>
        <action dev="PD" type="fix" fixes-bug="45645">Fix for HSSFSheet.autoSizeColumn() for widths exceeding Short.MAX_VALUE</action>
        <action dev="PD" type="add" fixes-bug="45623">Support for additional HSSF header and footer fields, including bold and full file path</action>
        <action dev="PD" type="add" fixes-bug="45623">Support stripping HSSF header and footer fields (eg page number) out of header and footer text if required</action>
        <action dev="PD" type="add" fixes-bug="45622">Support stripping HWPF fields (eg macros) out of text, via Range.stripFields(text)</action>
        <action dev="PD" type="add">New HPSF based TextExtractor for document metadata, org.apache.poi.hpsf.extractor.HPSFPropertiesExtractor</action>
        <action dev="PD" type="fix">Properly update the array of Slide's text runs in HSLF when new text shapes are added</action>
        <action dev="PD" type="fix" fixes-bug="45590">Fix for Header/footer extraction for .ppt files saved in Office 2007</action>
        <action dev="PD" type="fix">Big improvement in how HWPF handles unicode text, and more sanity checking of text ranges within HWPF</action>
        <action dev="PD" type="add">Include headers and footers int he extracted text from HWPF's WordExtractor</action>
        <action dev="PD" type="add">Added support to HWPF for headers and footers</action>
        <action dev="PD" type="fix">Improve how HWPF deals with unicode internally. Should avoid some odd behaviour when manipulating unicode text</action>
        <action dev="PD" type="add" fixes-bug="45577">Added implementations for Excel functions NOW and TODAY</action>
        <action dev="PD" type="fix" fixes-bug="45582">Fix for workbook streams with extra bytes trailing the EOFRecord</action>
        <action dev="PD" type="add" fixes-bug="45537">Include headers and footers (of slides and notes) in the extracted text from HSLF</action>
        <action dev="PD" type="fix" fixes-bug="45472">Fixed incorrect default row height in OpenOffice 2.3</action>
        <action dev="PD" type="fix" fixes-bug="44692">HSSFPicture.resize() stretched image when there was a text next to it</action>
        <action dev="PD" type="add" fixes-bug="45543">Optionally extract comment text with PowerPointExtractor, and initial hslf model support for comments</action>
        <action dev="PD" type="fix" fixes-bug="45538">Include excel headers and footers in the output of ExcelExtractor</action>
        <action dev="PD" type="fix" fixes-bug="44894">refactor duplicate logic from EventRecordFactory to RecordFactory</action>
        <action dev="PD" type="add">Support for Headers / Footers in HSLF</action>
        <action dev="PD" type="fix" fixes-bug="44953">Extensive fixes for data validation</action>
        <action dev="PD" type="fix" fixes-bug="45519">Fixed to keep datavalidation records together</action>
        <action dev="PD" type="add">Support for creating new HSLF CurrentUserAtoms</action>
        <action dev="PD" type="add" fixes-bug="45466">Partial support for removing excel comments (won't work for all excel versions yet)</action>
        <action dev="PD" type="fix" fixes-bug="45437">Detect encrypted word documents, and throw an EncryptedDocumentException instead of a OOM</action>
        <action dev="PD" type="add" fixes-bug="45404">New class, hssf.usermodel.HSSFDataFormatter, for formatting numbers and dates in the same way that Excel does</action>
        <action dev="PD" type="fix" fixes-bug="45414">Don't add too many UncalcedRecords to sheets with charts in them</action>
        <action dev="PD" type="fix" fixes-bug="45398">Support detecting date formats containing "am/pm" as date times</action>
        <action dev="PD" type="fix" fixes-bug="45410">Removed dependency from contrib on commons beanutils,collections and lang</action>
        <action dev="PD" type="add">New helper, HSSFOptimiser, which handles removing duplicated font and style records, to avoid going over the limits in Excel</action>
        <action dev="PD" type="fix" fixes-bug="45322">Fixed NPE in HSSFSheet.autoSizeColumn() when cell number format was not found</action>
        <action dev="PD" type="add" fixes-bug="45380">Missing return keyword in ArrayPtg.toFormulaString()</action>
        <action dev="PD" type="add" fixes-bug="44958">Record level support for Data Tables. (No formula parser support though)</action>
        <action dev="PD" type="add" fixes-bug="35583">Include a version class, org.apache.poi.Version, to allow easy introspection of the POI version</action>
        <action dev="PD" type="add">Allow the cloning of one HSSFCellStyle onto another, including cloning styles from one HSSFWorkbook onto another</action>
        <action dev="PD" type="fix" fixes-bug="45289">finished support for special comparison operators in COUNTIF</action>
        <action dev="PD" type="fix" fixes-bug="45126">Avoid generating multiple NamedRanges with the same name, which Excel dislikes</action>
        <action dev="PD" type="fix">Fix cell.getRichStringCellValue() for formula cells with string results</action>
        <action dev="PD" type="fix" fixes-bug="45365">Handle more excel number formatting rules in FormatTrackingHSSFListener / XLS2CSVmra</action>
        <action dev="PD" type="fix" fixes-bug="45373">Improve the performance of HSSFSheet.shiftRows</action>
        <action dev="PD" type="fix" fixes-bug="45367">Fixed bug when last row removed from sheet is row zero</action>
        <action dev="PD" type="fix" fixes-bug="45348">Tweaks to RVA formula logic</action>
        <action dev="PD" type="fix" fixes-bug="45354">Fixed recognition of named ranges within formulas</action>
        <action dev="PD" type="fix" fixes-bug="45338">Fix HSSFWorkbook to give you the same HSSFFont every time, and then fix it to find newly added fonts</action>
        <action dev="PD" type="fix" fixes-bug="45336">Fix HSSFColor.getTripletHash()</action>
        <action dev="PD" type="fix" fixes-bug="45334">Fixed formula parser to handle dots in identifiers</action>
        <action dev="PD" type="fix" fixes-bug="45252">Improvement for HWPF Range.replaceText()</action>
        <action dev="PD" type="fix" fixes-bug="45001">Further fix for HWPF Range.delete() and unicode characters</action>
        <action dev="PD" type="add" fixes-bug="45175">Support for variable length operands in org.apache.poi.hwpf.sprm.SprmOperation</action>
        <action dev="PD" type="fix">Avoid spurious missing lines with the MissingRecordAware event code, and odd files that contain RowRecords in the middle of the cell Records.</action>
        <action dev="PD" type="add">Support for parsing formulas during EventUserModel processing, via the new EventWorkbookBuilder</action>
    </release>
    <release version="3.1-final" date="2008-06-29">
        <action dev="PD" type="fix" fixes-bug="30978">Fixed re-serialization of tRefErr3d and tAreaErr3d</action>
        <action dev="PD" type="fix" fixes-bug="45234">Removed incorrect shared formula conversion in CFRuleRecord</action>
        <action dev="PD" type="fix" fixes-bug="45001">Improved HWPF Range.replaceText()</action>
        <action dev="PD" type="fix" fixes-bug="44692">Fixed HSSFPicture.resize() to properly resize pictures if the underlying columns/rows have modified size</action>
        <action dev="PD" type="add">Support custom image renderers in HSLF</action>
        <action dev="PD" type="fix">Correctly increment the reference count of a blip when a picture is inserted</action>
        <action dev="PD" type="fix" fixes-bug="45110">Fixed TextShape.resizeToFitText() to properly resize TextShape</action>
        <action dev="PD" type="fix" fixes-bug="45091">Fixed serialization of RefN~ tokens. Simplified Ptg class hierarchy</action>
        <action dev="PD" type="fix" fixes-bug="45133">Fixed OBJ Record (5Dh) to pad the sub-record data to a 4-byte boundary</action>
        <action dev="PD" type="fix" fixes-bug="45145">Fixed Sheet to always enforce RowRecordsAggregate before ValueRecordsAggregate</action>
        <action dev="PD" type="fix" fixes-bug="45123">Fixed SharedFormulaRecord.convertSharedFormulas() to propagate token operand classes</action>
        <action dev="PD" type="fix" fixes-bug="45087">Correctly detect date formats like [Black]YYYY as being date based</action>
        <action dev="PD" type="add" fixes-bug="45060">Improved token class transformation during formula parsing</action>
        <action dev="PD" type="add" fixes-bug="44840">Improved handling of HSSFObjectData, especially for entries with data held not in POIFS</action>
        <action dev="PD" type="add" fixes-bug="45043">Support for getting excel cell comments when extracting text</action>
        <action dev="PD" type="add">Extend the support for specifying a policy to HSSF on missing / blank cells when fetching, to be able to specify the policy at the HSSFWorkbook level</action>
        <action dev="PD" type="fix" fixes-bug="45025">improved FormulaParser parse error messages</action>
        <action dev="PD" type="fix" fixes-bug="45046">allowed EXTERNALBOOK(0x01AE) to be optional in the LinkTable</action>
        <action dev="PD" type="fix" fixes-bug="45066">fixed sheet encoding size mismatch problems</action>
        <action dev="PD" type="add" fixes-bug="45003">Support embeded HDGF visio documents</action>
        <action dev="PD" type="fix" fixes-bug="45001">Partial fix for HWPF Range.insertBefore() and Range.delete() with unicode characters</action>
        <action dev="PD" type="fix" fixes-bug="44977">Support for AM/PM in excel date formats</action>
        <action dev="PD" type="add">Support for specifying a policy to HSSF on missing / blank cells when fetching</action>
        <action dev="PD" type="add" fixes-bug="44937">Partial support for extracting Escher images from HWPF files</action>
        <action dev="PD" type="fix" fixes-bug="44824">Avoid an infinite loop when reading some HWPF pictures</action>
        <action dev="PD" type="fix" fixes-bug="44898">Correctly handle short last blocks in POIFS</action>
    </release>
    <release version="3.1-beta2" date="2008-05-26">
        <action dev="PD" type="fix" fixes-bug="44306">fixed reading/writing of AttrPtg(type=choose) and method toFormulaString() for CHOOSE formulas</action>
        <action dev="PD" type="fix" fixes-bug="24207">added HSSFName.isDeleted() to check if the name points to cell that no longer exists</action>
        <action dev="PD" type="fix" fixes-bug="40414">fixed selected/active sheet after removing sheet from workbook</action>
        <action dev="PD" type="fix" fixes-bug="44523">fixed workbook sheet selection and focus</action>
        <action dev="PD" type="fix" fixes-bug="45000">Fixed NPE in ListLevel when numberText is null</action>
        <action dev="PD" type="fix" fixes-bug="44985">Properly update TextSpecInfoAtom when the parent text is changed</action>
        <action dev="PD" type="fix" fixes-bug="41187">fixed HSSFSheet to properly read xls files without ROW records</action>
        <action dev="PD" type="fix" fixes-bug="44950">fixed HSSFFormulaEvaluator.evaluateInCell() and Area3DEval.getValue() also added validation for number of elements in AreaEvals</action>
        <action dev="PD" type="fix" fixes-bug="42570">fixed LabelRecord to use empty string instead of null when the length is zero.</action>
        <action dev="PD" type="fix" fixes-bug="42564">fixed ArrayPtg to use ConstantValueParser. Fixed a few other ArrayPtg encoding issues.</action>
        <action dev="PD" type="fix">Follow-on from 28754 - StringPtg.toFormulaString() should escape double quotes</action>
        <action dev="PD" type="fix" fixes-bug="44929">Improved error handling in HSSFWorkbook when attempting to read a BIFF5 file</action>
        <action dev="PD" type="fix" fixes-bug="44675">Parameter operand classes (function metadata) required to encode SUM() etc properly. Added parse validation for number of parameters</action>
        <action dev="PD" type="fix" fixes-bug="44921">allow Ptg.writeBytes() to be called on relative ref Ptgs (RefN* and AreaN*)</action>
        <action dev="PD" type="fix" fixes-bug="44914">Fix/suppress warning message "WARN. Unread n bytes of record 0xNN"</action>
        <action dev="PD" type="fix" fixes-bug="44892">made HSSFWorkbook.getSheet(String) case insensitive</action>
        <action dev="PD" type="fix" fixes-bug="44886">Correctly process PICT metafile in EscherMetafileBlip</action>
        <action dev="PD" type="fix" fixes-bug="44893">Take into account indentation in HSSFSheet.autoSizeColumn</action>
    </release>
    <release version="3.1-beta1" date="2008-04-28">
        <action dev="PD" type="fix" fixes-bug="44857">Avoid OOM on unknown escher records when EscherMetafileBlip is incorrect</action>
        <action dev="PD" type="add">HSLF: Support for getting embedded sounds from slide show </action>
        <action dev="PD" type="add">HSLF: Initial support for rendering slides into images</action>
        <action dev="PD" type="add">HSLF: Support for getting OLE object data from slide show </action>
        <action dev="PD" type="add">HSLF: Implemented more methods in PPGraphics2D</action>
        <action dev="PD" type="add">HSLF: Added Freeform shape which can contain both lines and Bezier curves</action>
        <action dev="PD" type="fix" fixes-bug="41071">Improved text extraction in HSLF</action>
        <action dev="PD" type="add" fixes-bug="30311">Conditional Formatting - improved API, added HSSFSheetConditionalFormatting</action>
        <action dev="PD" type="fix">Update the formula parser code to use a HSSFWorkbook, rather than the low level model.Workbook, to make things cleaner and make supporting XSSF formulas in future much easier</action>
        <action dev="PD" type="fix">Fix the logger used by POIFSFileSystem, so that commons-logging isn't required when not used</action>
        <action dev="PD" type="add">Update HSLFSlideShow and HSSFWorkbook to take advantage of POIFS updates, and allow reading embeded documents</action>
        <action dev="PD" type="add">Improve how POIFS works with directory entries, and update HWPFDocument to support reading an embeded word document</action>
        <action dev="PD" type="add">Initial support for getting and changing chart and series titles</action>
        <action dev="PD" type="add">Implement a proxy HSSFListener which tracks the format records, and lets you lookup the format string for a given cell. Convert the xls to csv example to use it</action>
        <action dev="PD" type="fix" fixes-bug="44792">fixed encode/decode problems in ExternalNameRecord and CRNRecord.</action>
        <action dev="PD" type="fix" fixes-bug="43670,44501">Fix how HDGF deals with trailing data in the list of chunk headers</action>
        <action dev="PD" type="add" fixes-bug="30311">More work on Conditional Formatting</action>
        <action dev="PD" type="fix">refactored all junits' usage of HSSF.testdata.path to one place</action>
        <action dev="PD" type="fix" fixes-bug="44739">Small fixes for conditional formatting (regions with max row/col index)</action>
        <action dev="RK" type="add" fixes-bug="44694">HPSF: Support for property sets without sections</action>
        <action dev="PD" type="add">Implement Sheet.removeShape(Shape shape) in HSLF</action>
        <action dev="PD" type="add">Various fixes: Recognising var-arg built-in functions #44675, ExternalNameRecord serialisation bug #44695, PMT() bug #44691</action>
        <action dev="PD" type="add" fixes-bug="30311">More work on Conditional Formatting</action>
        <action dev="PD" type="add">Move the Formula Evaluator code out of scratchpad</action>
        <action dev="PD" type="add">Move the missing record aware eventusermodel code out of scratchpad</action>
        <action dev="PD" type="add" fixes-bug="44652,44603">Improved handling of Pictures in Word Documents</action>
        <action dev="PD" type="fix" fixes-bug="44636">Fix formula parsing of RefVPtg, which was causing #VALUE to be shown on subsequent edits</action>
        <action dev="PD" type="fix" fixes-bug="44627">Improve the thread safety of POILogFactory</action>
        <action dev="PD" type="add" fixes-bug="30311">Initial support for Conditional Formatting</action>
        <action dev="PD" type="fix" fixes-bug="44609">Handle leading spaces in formulas, such as '= 4'</action>
        <action dev="PD" type="add" fixes-bug="44608">Support for PercentPtg in the formula evaluator</action>
        <action dev="PD" type="fix" fixes-bug="44606">Support calculated string values for evaluated formulas</action>
        <action dev="PD" type="add">Add accessors to horizontal and vertical alignment in HSSFTextbox</action>
        <action dev="PD" type="add" fixes-bug="44593">Improved handling of short DVRecords</action>
        <action dev="PD" type="add" fixes-bug="28627,44580">Fix Range.delete() in HWPF</action>
        <action dev="PD" type="add" fixes-bug="44539">Support for area references in formulas of rows >= 32768</action>
        <action dev="PD" type="add" fixes-bug="44536">Improved support for detecting read-only recommended files</action>
        <action dev="PD" type="fix" fixes-bug="43901">Correctly update the internal last cell number when adding and removing cells (previously sometimes off-by-one)</action>
        <action dev="PD" type="fix" fixes-bug="44504">Added initial support for recognising external functions like YEARFRAC and ISEVEN (using NameXPtg), via LinkTable support</action>
        <action dev="PD" type="fix" fixes-bug="44504">Improvements to FormulaParser - operators, precedence, error literals, quotes in string literals, range checking on IntPtg, formulas with extra un-parsed stuff at the end, improved parse error handling</action>
        <action dev="PD" type="fix" fixes-bug="44504">Fixed number conversion inconsistencies in many functions, and improved RefEval</action>
        <action dev="PD" type="fix" fixes-bug="44504">Added initial support for recognising external functions like YEARFRAC and ISEVEN (using NameXPtg), via LinkTable support</action>
        <action dev="PD" type="fix" fixes-bug="44504">Improvements to FormulaParser - operators, precedence, error literals, quotes in string literals, range checking on IntPtg, formulas with extra un-parsed stuff at the end, improved parse error handling</action>
        <action dev="PD" type="fix" fixes-bug="44504">Fixed number conversion inconsistencies in many functions, and improved RefEval</action>
        <action dev="PD" type="fix" fixes-bug="44508">Fix formula evaluation with evaluateInCell on boolean formulas</action>
        <action dev="PD" type="fix" fixes-bug="44510">Fix how DVALRecord works with dropdowns</action>
        <action dev="PD" type="fix" fixes-bug="44495">Handle named cell ranges in formulas that have lower case parts</action>
        <action dev="PD" type="fix" fixes-bug="44491">Don't have the new-style "HPSF properties are always available" affect the old-style use of HPSF alongside HSSF</action>
        <action dev="PD" type="fix" fixes-bug="44471">Crystal Reports generates files with short StyleRecords, which isn't allowed in the spec. Work around this</action>
        <action dev="PD" type="fix" fixes-bug="44495">Handle named cell ranges in formulas that have lower case parts</action>
        <action dev="PD" type="fix" fixes-bug="44491">Don't have the new-style "HPSF properties are always available" affect the old-style use of HPSF alongside HSSF</action>
        <action dev="PD" type="fix" fixes-bug="44471">Crystal Reports generates files with short StyleRecords, which isn't allowed in the spec. Work around this</action>
        <action dev="PD" type="add" fixes-bug="44450">Support for Lookup, HLookup and VLookup functions</action>
        <action dev="PD" type="fix" fixes-bug="44449">Avoid getting confused when two sheets have shared formulas for the same areas, and when the shared formula is set incorrectly</action>
        <action dev="PD" type="fix" fixes-bug="44366">InputStreams passed to POIFSFileSystem are now automatically closed. A warning is generated for people who might've relied on them not being closed before, and a wrapper to restore the old behaviour is supplied</action>
        <action dev="PD" type="add" fixes-bug="44371">Support for the Offset function</action>
        <action dev="PD" type="fix" fixes-bug="38921">Have HSSFPalette.findSimilar() work properly</action>
        <action dev="PD" type="fix" fixes-bug="44456">Fix the contrib SViewer / SViewerPanel to not fail on sheets with missing rows</action>
        <action dev="PD" type="fix" fixes-bug="44403">Further support for unusual, but valid, arguments to the Mid function</action>
        <action dev="PD" type="fix" fixes-bug="44410">Support for whole-column ranges, such as C:C, in formula strings and the formula evaluator</action>
        <action dev="PD" type="fix" fixes-bug="44421">Update Match function to properly support Area references</action>
        <action dev="PD" type="fix" fixes-bug="44417">Improved handling of references for the need to quote the sheet name for some formulas, but not when fetching a sheet by name</action>
        <action dev="PD" type="fix" fixes-bug="44413">Fix for circular references in INDEX, OFFSET, VLOOKUP formulas, where a cell is actually allowed to reference itself</action>
        <action dev="PD" type="fix" fixes-bug="44403">Fix for Mid function handling its arguments wrong</action>
        <action dev="PD" type="add" fixes-bug="44364">Support for Match, NA and SumProduct functions, as well as initial function error support</action>
        <action dev="PD" type="fix" fixes-bug="44375">Cope with a broken dictionary in Document Summary Information stream. RuntimeExceptions that occured when trying to read bogus data are now caught. Dictionary entries up to but not including the bogus one are preserved, the rest is
            ignored.</action>
        <action dev="PD" type="fix" fixes-bug="38641">Handle timezones better with cell.setCellValue(Calendar), so now 20:00-03:00, 20:00+00:00 and 20:00+03:00 will all be recorded as 20:00, and not 17:00 / 20:00 / 23:00 (pass a Date not a Calendar for old behaviour)</action>
        <action dev="PD" type="fix" fixes-bug="44373">Have HSSFDateUtil.isADateFormat recognize more formats as being dates</action>
        <action dev="PD" type="add" fixes-bug="37923">Support for Excel hyperlinks</action>
        <action dev="PD" type="add">Implement hashCode() and equals(obj) on HSSFFont and HSSFCellStyle</action>
        <action dev="PD" type="fix" fixes-bug="44345">Implement CountA, CountIf, Index, Rows and Columns functions</action>
        <action dev="PD" type="fix" fixes-bug="44336">Properly escape sheet names as required when figuring out the text of formulas</action>
        <action dev="PD" type="add" fixes-bug="44326">Improvements to how SystemOutLogger and CommonsLogger log messages with exceptions, and avoid an infinite loop with certain log messages with exceptions</action>
        <action dev="PD" type="add">Support for a completed Record based "pull" stream, via org.apache.poi.hssf.eventusermodel.HSSFRecordStream, to complement the existing "push" Event User Model listener stuff</action>
    </release>
    <release version="3.0.2-FINAL" date="2008-02-04">
        <action dev="PD" type="fix" fixes-bug="44297">IntPtg must operate with unsigned short. Reading signed short results in incorrect formula calculation</action>
        <action dev="PD" type="fix" fixes-bug="44296">Fix for reading slide background images</action>
        <action dev="PD" type="fix" fixes-bug="44293">Avoid swapping AreaPtgs from relative to absolute</action>
        <action dev="PD" type="fix" fixes-bug="44292">Correctly process the last paragraph in a word file</action>
        <action dev="PD" type="fix" fixes-bug="44254">Avoid some unread byte warnings, and properly understand DVALRecord</action>
        <action dev="PD" type="add">Add another formula evaluation method, evaluateFormulaCell(cell), which will re-calculate the value for a formula, without affecting the formula itself.</action>
        <action dev="PD" type="fix" fixes-bug="41726">Fix how we handle signed cell offsets in relative areas and references</action>
        <action dev="PD" type="add" fixes-bug="44233">Support for getting and setting a flag on the sheet, which tells excel to re-calculate all formulas on it at next reload</action>
        <action dev="PD" type="fix" fixes-bug="44201">Enable cloning of sheets with data validation rules</action>
        <action dev="PD" type="fix" fixes-bug="44200">Enable cloning of sheets with notes</action>
        <action dev="PD" type="add" fixes-bug="43008">Add a moveCell method to HSSFRow, and deprecate setCellNum(), which didn't update things properly</action>
        <action dev="PD" type="fix" fixes-bug="43058">Support setting row grouping on files from CR IX, which lack GutsRecords</action>
        <action dev="PD" type="fix" fixes-bug="31795">Support cloning of sheets with certain drawing objects on them</action>
        <action dev="PD" type="fix" fixes-bug="43902">Don't consider merged regions when auto-sizing columns</action>
        <action dev="PD" type="fix" fixes-bug="42464">Avoid "Expected ExpPtg to be converted from Shared to Non-Shared Formula" on large, formula heavy worksheets</action>
        <action dev="PD" type="add" fixes-bug="42033">Add support for named ranges with unicode names</action>
        <action dev="PD" type="add" fixes-bug="34023">When shifting rows, update formulas on that sheet to point to the new location of those rows</action>
        <action dev="PD" type="add">Support getting all the cells referenced by an AreaReference, not just the corner ones</action>
        <action dev="PD" type="add" fixes-bug="43510">Add support for named ranges in formulas, including non-contiguous named ranges</action>
        <action dev="PD" type="add" fixes-bug="43937">Add support for hiding and un-hiding sheets, and checking their current hidden status</action>
        <action dev="PD" type="fix" fixes-bug="44167">Fix for non-contiguous named ranges</action>
        <action dev="PD" type="fix" fixes-bug="44070">Fix for shifting comments when shifting rows</action>
    </release>
    <release version="3.0.2-BETA2" date="2008-01-12">
        <action dev="PD" type="add">Support for tables in HSLF</action>
        <action dev="PD" type="fix" fixes-bug="43781">Fix for extracting text from TextBoxes HSLF in</action>
        <action dev="PD" type="fix">Improve JavaDocs relating to hssf font and fill colourings</action>
        <action dev="PD" type="add" fixes-bug="44095,44097,44099">Support for Mid, Replace and Substitute excel functions</action>
        <action dev="PD" type="add" fixes-bug="44055">Support for getting the from field from HSMF messages</action>
        <action dev="PD" type="add" fixes-bug="43551">Support for 1904 date windowing in HSSF (previously only supported 1900 date windowing)</action>
        <action dev="PD" type="add" fixes-bug="41064">Support for String continue records</action>
        <action dev="PD" type="add" fixes-bug="27511">Support for data validation, via DVRecord and DVALRecord</action>
    </release>
    <release version="3.0.2-BETA1" date="2007-12-04">
        <action dev="PD" type="fix" fixes-bug="43877">Fix for handling mixed OBJ and CONTINUE records</action>
        <action dev="PD" type="fix" fixes-bug="39512">Fix for handling mixed OBJ and CONTINUE records</action>
        <action dev="PD" type="fix" fixes-bug="43837">Support for unicode NameRecords</action>
        <action dev="PD" type="fix" fixes-bug="43807">Throw an IllegalArgumentException if asked to create a merged region with invalid columns or rows, rather than writing out a corrupt file</action>
        <action dev="PD" type="fix" fixes-bug="43837">Support for unicode NameRecords</action>
        <action dev="PD" type="add" fixes-bug="43721">Support for Chart Title Format records</action>
        <action dev="PD" type="fix" fixes-bug="42794">Fix for BOF records from things like Access</action>
        <action dev="PD" type="fix" fixes-bug="43648">Fix for IntPtg and short vs int</action>
        <action dev="PD" type="fix" fixes-bug="43751">Fix for handling rotated text in HSSFSheet.autoSizeColumn</action>
        <action dev="PD" type="add">Include an Excel text extractor, and put all existing text extractors under a common superclass</action>
        <action dev="PD" type="add">Improvements to the LZW compression engine used by HDGF</action>
        <action dev="PD" type="add">HSSFPicture.resize() - a handy method to reset a picture to its original width and height</action>
        <action dev="PD" type="add">Add a getSheetIndex(HSSFSheet) method to HSSFWorkbook, and allow a HSSFSheet to get at its parent HSSFWorkbook</action>
        <action dev="PD" type="add">Move POIDocument out of Scratchpad, and update HSSFWorkbook to use it</action>
        <action dev="PD" type="fix" fixes-bug="43399">Fix for Cell References for rows > 32678</action>
        <action dev="PD" type="fix" fixes-bug="43410">Improved Formula Parser support for numbers and ranges</action>
        <action dev="PD" type="add">When writing HSLF files out, optionally preserve all OLE2 nodes (default is just the HSLF related nodes)</action>
        <action dev="PD" type="add" fixes-bug="43323">Support for adding Pictures to ShapeGroups in HSLF.</action>
        <action dev="PD" type="add" fixes-bug="43222">Support for getting OLE object data from HSSFWorkbook.</action>
        <action dev="PD" type="add" fixes-bug="43247">Support for getting OLE object data from slideshows.</action>
        <action dev="PD" type="add" fixes-bug="43125">Support for reading EMF, WMF and PICT images via HSSFWorkbook.getAllPictures()</action>
        <action dev="PD" type="fix" fixes-bug="43088">Fix for reading files with long cell comments and text boxes</action>
        <action dev="PD" type="fix" fixes-bug="42844">Fix for the EventUserModel and records that aren't immediately followed by their ContinueRecords</action>
        <action dev="PD" type="fix" fixes-bug="43055">Fix for saving Crystal Reports xls files when preserving nodes</action>
        <action dev="PD" type="fix" fixes-bug="43116">Fix for Escher layer handling of embeded OLE2 documents</action>
        <action dev="PD" type="fix" fixes-bug="43108">Where permissions deny fetching System Properties, use sensible defaults</action>
        <action dev="PD" type="fix" fixes-bug="43093">Fix formula evaluator support for Area3D references to other sheets</action>
        <action dev="PD" type="fix">Improvements to HSSFDateUtils.isADateFormat, and have HSSFDateUtil.isCellDateFormatted use this</action>
        <action dev="PD" type="fix" fixes-bug="42999">Fix for HSSFPatriarch positioning problems</action>
        <action dev="PD" type="add">Support for write-protecting a HSSF workbook</action>
        <action dev="PD" type="add">Support for querying, setting and un-setting protection on sheets in a HSSF workbook</action>
        <action dev="PD" type="add">Initial HSMF (outlook) support</action>
        <action dev="PD" type="fix">Tidy up the javadocs</action>
    </release>

    <release version="3.0.1-FINAL" date="2007-07-05">
        <action dev="PD" type="fix">Administrative updates to the Maven POMs, and the release artificat build process</action>
        <action dev="PD" type="fix" fixes-bug="23951">Fix for HSSF setSheetOrder and tab names</action>
        <action dev="PD" type="fix" fixes-bug="42524">Better HSLF support for problem shape groups</action>
        <action dev="PD" type="fix" fixes-bug="42520">Better HSLF support for corrupt picture records</action>
        <action dev="PD" type="add">Initial support for a "missing record aware" HSSF event model</action>
        <action dev="PD" type="add">Additional HSLF support for Title and Slide Master Sheets</action>
        <action dev="PD" type="fix" fixes-bug="42474">Improved HSLF note to slide matching, and a NPE</action>
        <action dev="PD" type="fix" fixes-bug="42481">Tweak some HSLF exceptions, to make it clearer what you're catching</action>
        <action dev="PD" type="fix" fixes-bug="42667">Fix for HSLF writing of files with tables</action>
        <action dev="PD" type="add">Improved way of detecting HSSF cells that contain dates, isADateFormat</action>
        <action dev="PD" type="add">Initial, read-only support for Visio documents, as HDGF</action>
    </release>

    <release version="3.0-FINAL" date="2007-05-18">
        <action dev="PD" type="fix" fixes-bug="39977">Fix POM for Maven users</action>
        <action dev="PD" type="fix" fixes-bug="38976">Add createPicture to HSSFShapeGroup</action>
        <action dev="PD" type="add">Detect Office 2007 XML documents, and throw a meaningful exception</action>
        <action dev="PD" type="add">Additional HSLF support for PowerPoint</action>
        <action dev="PD" type="add">Initial support for HWPF image extraction</action>
    </release>

    <release version="3.0-alpha3" date="2006-12-12">
        <action dev="PD" type="add">Additional HSLF support for PowerPoint</action>
    </release>

    <release version="3.0-alpha2" date="2006-06-16">
        <action dev="PD" type="add">HSSF Formula support</action>
        <action dev="PD" type="add">Additional HSLF support for PowerPoint</action>
        <action dev="PD" type="fix" fixes-bug="39389">Extended Ascii support for WingDings</action>
    </release>

    <release version="3.0-alpha1" date="2005-06-04">
        <action dev="PD" type="fix">Bugzilla Bug 29976 HSSF hyperlink formula size problem</action>
        <action dev="PD" type="add">Image writing support</action>
        <action dev="NB" type="add">HSLF - Initial PowerPoint Support. Includes: Support for text extraction across the whole file; Support for getting individual slides, and their notes, and extracting text from those; Initial support for changing (but not adding) text</action>
    </release>

    <release version="2.5.1-FINAL" date="2004-02-29">
        <action dev="PD" type="add">Outlining support</action>
        <action dev="PD" type="fix" fixes-bug="27574">HSSFDateUtil.getExcelDate() is one hour off when DST changes</action>
        <action dev="PD" type="fix" fixes-bug="26465">wrong lastrow entry</action>
        <action dev="PD" type="fix" fixes-bug="28203">Unable to open read-write excel file including forms</action>
    </release>

    <release version="2.5-FINAL" date="2004-02-29">
        <action dev="PD" type="add">Add support for the Escher file format</action>
        <action dev="PD" type="fix" fixes-bug="27005">java.lang.IndexOutOfBoundsException during Workbook.cloneSheet()</action>
    </release>

    <release version="2.0-FINAL" date="2004-01-26">
        <action dev="PD" type="update">No changes</action>
    </release>

    <release version="2.0-RC2" date="2004-01-11">
        <action dev="PD" type="fix" fixes-bug="25695">HSSFCell.getStringCellValue() on cell which has string formula will return swap bye unicode characters.</action>
        <action dev="PD" type="fix">Updated website for upcoming release</action>
        <action dev="PD" type="fix">Formula Parser fixes with tests, by Peter M Murray Bug 25457</action>
        <action dev="PD" type="fix">Fixed cloning merge regions</action>
        <action dev="PD" type="fix">The cloned reference for merged cells did not create a new collection, so deletes cascaded to the original.</action>
        <action dev="PD" type="fix">Fix to 24519 call to getCustomPalette() from a newly created workbook now works</action>
        <action dev="PD" type="fix">Fix supplied for bug 24397 where some compilation got ambiguous classes. Explicitly imports the classes. Patch supplied by Jean-Pierre Paris.</action>
    </release>

    <release version="2.0-RC1" date="2003-11-02">
        <action dev="PD" type="fix" fixes-bug="12561">(Min) HSSFWorkbook throws Exceptions</action>
        <action dev="PD" type="fix" fixes-bug="12730">(Nor) values dont get copied to another sheet.</action>
        <action dev="PD" type="fix" fixes-bug="13224">(Maj) Exception thrown when cell has =Names call</action>
        <action dev="PD" type="fix" fixes-bug="13796">(Nor) Error Reading Formula Record (optimized if, external link)</action>
        <action dev="PD" type="fix" fixes-bug="13921">(Nor) Sheet name cannot exceed 31 characters and cannot contain :</action>
        <action dev="PD" type="fix" fixes-bug="14330">(Nor) Error reading FormulaRecord</action>
        <action dev="PD" type="fix" fixes-bug="14460">(Nor) Name in Formula - ArrayOutOfBoundsException</action>
        <action dev="PD" type="fix" fixes-bug="15228">(Cri) [Urgent] ArrayIndexoutofbounds Exception. POI - Version 1.8</action>
        <action dev="PD" type="fix" fixes-bug="16488">(Maj) Unable to open written spreadsheet in Excel, but can in Open</action>
        <action dev="PD" type="fix" fixes-bug="16559">(Nor) testCustomPalette.xls crashes Excel 97</action>
        <action dev="PD" type="fix" fixes-bug="16560">(Nor) testBoolErr.xls crashes Excel '97</action>
        <action dev="PD" type="fix" fixes-bug="17374">(Min) HSSFFont - BOLDWEIGHT_NORMAL</action>
        <action dev="PD" type="fix" fixes-bug="18800">(Maj) The sheet made by HSSFWorkbook#cloneSheet() doesn't work cor</action>
        <action dev="PD" type="fix" fixes-bug="18846">(Min) [RFE]Refactor the transformation between byte array a</action>
        <action dev="PD" type="fix" fixes-bug="19599">(Min) java.lang.IllegalArgumentException</action>
        <action dev="PD" type="fix" fixes-bug="19961">(Nor) Sheet.getColumnWidth() returns wrong value</action>
        <action dev="PD" type="fix" fixes-bug="21066">(Blo) Can not modify a blank spreadsheet</action>
        <action dev="PD" type="fix" fixes-bug="21444">(Enh) Macro functions</action>
        <action dev="PD" type="fix" fixes-bug="21447">(Nor) [RFE]String Formula Cells</action>
        <action dev="PD" type="fix" fixes-bug="21674">(Enh) Documentation changes for @(Greater|Less|Not)EqualPt</action>
        <action dev="PD" type="fix" fixes-bug="21863">(Enh) build.xml fixes</action>
        <action dev="PD" type="fix" fixes-bug="22195">(Nor) [RFE] Support for Storage Class ID</action>
        <action dev="PD" type="fix" fixes-bug="22742">(Cri) Failed to create HSSFWorkbook!</action>
        <action dev="PD" type="fix" fixes-bug="22922">(Cri) HSSFSheet.shiftRows() throws java.lang.IndexOutOfBoundsExcep</action>
        <action dev="PD" type="fix" fixes-bug="22963">(Nor) org.apache.poi.hpsf.SummaryInformation.getEditTime() should</action>
        <action dev="PD" type="fix" fixes-bug="24149">(Maj) Error passing inputstream to POIFSFileSystem</action>
        <action dev="PD" type="fix" fixes-bug="21722">(Nor) Add a ProtectRecord to Sheets and give control over</action>
        <action dev="PD" type="fix" fixes-bug="9576"> (Nor) DBCELL, INDEX EXTSST (was Acess 97 import)</action>
        <action dev="PD" type="fix" fixes-bug="13478">(Blo) [RFE] POIFS, RawDataBlock: Missing workaround for lo</action>
        <action dev="PD" type="fix" fixes-bug="14824">(Nor) Unable to modify empty sheets</action>
        <action dev="PD" type="fix" fixes-bug="12843">(Cri) Make POI handle chinese better</action>
        <action dev="PD" type="fix" fixes-bug="15353">(Nor) [RFE] creating a cell with a hyperlink</action>
        <action dev="PD" type="fix" fixes-bug="15375">(Blo) Post 1.5.1 POI causes spreadsheet to become unopenable.</action>
    </release>

    <release version="2.0-pre3" date="2003-07-29">
        <action dev="PD" type="add">HPSF is now able to read properties which are given in the property set stream but which don't have a value ("variant" type VT_EMPTY). The getXXX() methods of the PropertySet class return null if their return type is a reference (like a string) or 0
            if the return type is numeric. Details about the return types and about how to distinguish between a property value of zero and a property value that is not present can be found in the API documentation.</action>
        <action dev="PD" type="fix">Gridlines can now be turned on and off</action>
        <action dev="PD" type="fix">NamePTG refactoring/fixes</action>
        <action dev="PD" type="fix">minor fixes to ExternSheet and formula strings</action>
        <action dev="PD" type="fix">Sheet comparisons now ignore case</action>
    </release>

    <release version="2.0-pre2" date="2003-07-06">
        <action dev="PD" type="fix">A nasty concurrency problem has been fixed. Any users working in a multithreaded environment should seriously consider upgrading to this release.</action>
        <action dev="PD" type="update">The EXTSST record has been implemented. This record is used by excel for optimized reading of strings.</action>
        <action dev="PD" type="update">When rows are shifted, the merged regions now move with them. If a row contains 2 merged cells, the resulting shifted row should have those cells merged as well.</action>
        <action dev="PD" type="fix">There were some issues when removing merged
            regions (specifically, removing all of them and then adding some more) and have been resolved.
        </action>
        <action dev="PD" type="fix">When a sheet contained shared formulas (when a formula is
            dragged across greater than 6 cells), the clone would fail. We now support cloning of
            sheets that contain this Excel optimization.
        </action>
        <action dev="PD" type="add">Support added for reading formulas with UnaryPlus and UnaryMinus operators.</action>
    </release>
    <release version="2.0-pre1" date="2003-05-17">
        <action dev="PD" type="add">Patch applied for deep cloning of worksheets was provided</action>
        <action dev="PD" type="add">Patch applied to allow sheet reordering</action>
        <action dev="PD" type="add">Added additional print area setting methods using row/column numbers</action>
        <action dev="PD" type="fix">HDF: Negative Array size fix</action>
        <action dev="PD" type="update">Added argument pointers to support the IF formula</action>
        <action dev="PD" type="update">Formulas: Added special character support for string literals, specifically for SUMIF formula support and addresses a bug as well</action>
        <action dev="PD" type="fix">BlockingInputStream committed to help ensure reads</action>
        <action dev="PD" type="fix">Fixed problem with NaN values differing from the investigated value from file reads in FormulaRecords</action>
        <action dev="PD" type="fix">Patch for getColumnWidth in HSSF</action>
        <action dev="PD" type="add">Patch for dealing with mult-level numbered lists in HDF</action>
        <action dev="PD" type="fix">Due to named reference work, several named-ranged bugs were closed</action>
        <action dev="PD" type="fix">Patch applied to prevent sheet corruption after a template modification</action>
        <action dev="PD" type="update">Shared Formulas now Supported</action>
        <action dev="PD" type="update">Added GreaterEqual, LessEqual and NotEqual to Formula Parser</action>
        <action dev="PD" type="update">Added GreaterThan and LessThan functionality to formulas</action>
        <action dev="PD" type="fix">Patches for i10n</action>
        <action dev="PD" type="update">POI Build System Updated</action>
        <action dev="PD" type="fix">font names can now be null</action>
    </release>
    <release version="1.10-dev" date="2003-02-19">
        <action dev="PD" type="add">Support for zoom level</action>
        <action dev="PD" type="add">Freeze and split pane support</action>
        <action dev="PD" type="add">Row and column headers on printouts</action>
    </release>
    <release version="1.8-dev" date="2002-09-20">
        <action dev="PD" type="add">Custom Data Format Support</action>
        <action dev="PD" type="add">Enhanced Unicode Support for Russian and Japanese</action>
        <action dev="PD" type="add">Enhanced formula support including read-only for
            "optimized if" statements.
        </action>
        <action dev="PD" type="add">Support for cloning objects</action>
        <action dev="PD" type="add">Fixes for header/footer</action>
        <action dev="PD" type="add">Spanish Documentation translations</action>
        <action dev="PD" type="add">Support for preserving VBA macros</action>
    </release>
    <release version="1.7-dev" date="Release date not recorded">
        <action dev="NKB" type="update">Removed runtime dependency on commons logging.</action>
        <action dev="PD" type="update">Formula support</action>
    </release>
    <release version="1.5.1" date="2002-06-16">
        <action dev="GJS" type="update">Removed depedency on commons logging. Now define poi.logging system property to enable logging to standard out.</action>
        <action dev="GJS" type="fix">Fixed SST string handling so that spreadsheets with rich text or extended text will be read correctly.</action>
    </release>
    <release version="1.5" date="2002-05-06">
        <action dev="NKB" type="update">New project build.</action>
        <action dev="NKB" type="update">New project documentation system based on Cocoon.</action>
        <action dev="PD" type="update">Package rename</action>
        <action dev="PD" type="fix">Various bug fixes</action>
        <action dev="PD" type="add">Early stages of HSF development (not ready for development)</action>
        <action dev="PD" type="add">Initial low level record support for charting (not complete)</action>
    </release>
    <release version="1.2.0" date="2002-01-19">
        <action dev="PD" type="update">Changes not recorded.</action>
    </release>
    <release version="1.1.0" date="2002-01-04">
        <action dev="PD" type="update">Created new event model</action>
        <action dev="PD" type="update">Optimizations made to HSSF including aggregate records for
            values, rows, etc.
        </action>
        <action dev="PD" type="update">predictive sizing, offset based writing (instead of lots of
            array copies)
        </action>
        <action dev="PD" type="update">minor re-factoring and bug fixes.</action>
    </release>
    <release version="1.0.2" date="2002-01-11">
        <action dev="PD" type="update">Changes not recorded.</action>
    </release>
    <release version="1.0.1" date="2002-01-04">
        <action dev="PD" type="update">Changes not recorded.</action>
    </release>
    <release version="1.0.0" date="2001-12-30">
        <action dev="PD" type="update">Minor documentation updates.</action>
    </release>
    <release version="0.14.0" date="2001-12-22">
        <action dev="PD" type="update">Added DataFormat helper class and exposed set and get format
            on HSSFCellStyle
        </action>
        <action dev="PD" type="update">Fixed column width apis (unit wise) and various javadoc on
            the subject
        </action>
        <action dev="PD" type="update">Fix for Dimensions record (again)... (one of these days I'll
            write a unit test for this ;-p).
        </action>
        <action dev="PD" type="update">Some optimization on sheet creation.</action>
    </release>
    <release version="0.13.0" date="2001-12-16">
        <action dev="PD" type="update">Changes not recorded.</action>
    </release>
    <release version="0.12.0" date="2001-12-12">
        <action dev="PD" type="update">Added MulBlank, Blank, ColInfo</action>
        <action dev="PD" type="update">Added log4j facility and removed all sys.out type logging</action>
        <action dev="PD" type="update">Added support for adding font's, styles and corresponding
            high level api for styling cells
        </action>
        <action dev="PD" type="update">added support for changing row height, cell width and default
            row height/cell width.
        </action>
        <action dev="PD" type="update">Added fixes for internationalization (UTF-16 should work now
            from HSSFCell.setStringValue, etc when the encoding is set)
        </action>
        <action dev="PD" type="update">added support for adding/removing and naming sheets.</action>
    </release>
    <release version="0.11.0" date="2001-12-08">
        <action dev="PD" type="update">Bugfix release. We were throwing an exception when reading
            RKRecord objects.
        </action>
    </release>
    <release version="0.10.0" date="2001-12-02">
        <action dev="PD" type="update">Got continuation records to work (read/write)</action>
        <action dev="PD" type="update">Added various pre-support for formulas</action>
        <action dev="PD" type="update">Massive API reorganization, repackaging.</action>
        <action dev="PD" type="update">BiffViewer class added for validating HSSF &amp; POI and/or
            HSSF Output.
        </action>
        <action dev="PD" type="update">Better API support for modification.</action>
    </release>
    <release version="0.7 (and interim releases)" date="2001-11-17">
        <action dev="PD" type="update">Added encoding flag to high and low level api to use utf-16
            when needed (HSSFCell.setEncoding())
        </action>
        <action dev="PD" type="update">added read only support for Label records (which are
            reinterpreted as LabelSST when written)
        </action>
        <action dev="PD" type="update">Broken continuation record implementation (oops)</action>
        <action dev="PD" type="update">BiffViewer class added for validating HSSF &amp; POI and/or
            HSSF Output.
        </action>
    </release>
    <release version="0.6" date="2001-11-11">
        <action dev="PD" type="update">Support for read/write and modify.</action>
        <action dev="PD" type="update">Read only support for MulRK records (converted to Number when
            writing)
        </action>
    </release>
    <release version="0.5" date="2001-11-05">
        <action dev="PD" type="update">Changes not recorded.</action>
    </release>
    <release version="0.4" date="2001-10-31">
        <action dev="PD" type="update">Changes not recorded.</action>
    </release>
    <release version="0.3" date="2001-10-26">
        <action dev="PD" type="update">Changes not recorded.</action>
    </release>
    <release version="0.2" date="2001-09-24">
        <action dev="PD" type="update">Changes not recorded.</action>
    </release>
    <release version="0.1" date="2001-08-28">
        <action dev="PD" type="update">First ever public release</action>
    </release>

</changes>
