| Search Apache POI |

# History of Changes

### Version 3.8-FINAL (2012-03-26)

- 52928 - DateFormatConverter: an utility to convert instances of java.text.DateFormat to Excel format patterns(poi-developers)
- 52895 - show SSTIndex instead of XFIndex in LabelSSTRecord.toString()(poi-developers)
- 52835 - Tolerate missing Count and UniqueCount attributes when parsing shared strings table in XSSF eventusermodel(poi-developers)
- 52818 - Added implementation for RANK()(poi-developers)
- 52682 - allow setting text with trailing carriage return in HSLF(poi-developers)
- 52244 - use correct text attributes when presentation has multiple TxMasterStyleAtoms of the same type(poi-developers)
- support setting background color of sheet tab in XSSF(poi-developers)
- 51564 - support for enforcing fields update in XWPF(poi-developers)
- 51673 - support grouping rows in SXSSF(poi-developers)
- 51780 - support replacement of content types in OPC packages (poi-developers)
- 52784 - replace ISO control characters with question marks in SXSSF to be consistent with XSSF (poi-developers)
- 52057 - updated formula test framework to be aware of recently added Functions (poi-developers)
- 52574 - support setting header / footer page margins in HSSF (poi-developers)
- 52583 - fixed WorkbookUtil#createSafeSheetName to escape colon (poi-developers)
- 51710 - fixed reading shared formulas in XSSF (poi-developers)
- 52708 - misc improvements in CellFormat (poi-developers)
- 52690 - added a getter for length of encrypted data in Ecma and Agile decryptors(poi-developers)
- 52255 - support adding TIFF,EPS and WPG pictures in OOXML documents (poi-developers)
- 52078 - avoid OutOfMemoryError when rendering groupped pictures in HSLF (poi-developers)
- 52745 - fixed XSSFRichtextString.append to preserve leading / trailing spaces (poi-developers)
- 52716 - tolerate hyperlinks that have neither location nor relation (poi-developers)
- 52599 - avoid duplicate text when rendering slides in HSLF(poi-developers)
- 52598 - respect slide background when rendering slides in HSLF(poi-developers)
- 51731 - fixed painting shape outlines in HSLF(poi-developers)
- 52701 - fixed seting vertical alignment for XSLFTableCell(poi-developers)
- 52687 - fixed merging slides with pictures with associated custom tags(poi-developers)
- allow runtime registration of functions in FormulaEvaluator(poi-developers)
- 52665 - When reading from a ZipFileZipEntrySource that has already been closed, give IllegalArgumentException rather than NPE(poi-developers)
- 52664 - MAPIMessage may not always have name chunks when checking for 7 bit encodings(poi-developers)
- 52649 - fixed namespace issue in WordToFoConverter(poi-developers)
- 52385 - avoid trancated array and vector data when reading OLE properties(poi-developers)
- 52662 - CharacterRun NPE fix when fetching symbol fonts, where no fonts are defined(poi-developers)
- 52658 - support mergin table cells in XSLF(poi-developers)
- validate row number and column index in SXSSF when creating new rows / cells(poi-developers)
- 51498 - fixed evaluation of blank cells in COUNTIF(poi-developers)
- 52576 - support changing external file references in HSSFWorkbook(poi-developers)
- 49896 - support external references in FormulaRenderer(poi-developers)
- 52527 - avoid exception when matching shared formula records in HSSF(poi-developers)
- 52568 - Added methods to set/get an XWPFRun's text color(poi-developers)
- 52566 - Added methods to set/get vertical alignment and color in XWPFTableCell(poi-developers)
- 52562 - Added methods to get/set a table row's Can't Split and Repeat Header attributes in XWPF(poi-developers)
- 52561 - Added methods to set table inside borders and cell margins in XWPF(poi-developers)
- 52569 - Support DConRefRecord in HSSF(poi-developers)
- 52575 - added an option to ignore missing workbook references in formula evaluator(poi-developers)
- Validate address of hyperlinks in XSSF(poi-developers)
- 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(poi-developers)
- 52462 - Added implementation for SUMIFS()(poi-developers)
- POIXMLPropertiesTextExtractor support for extracting custom OOXML properties as text(poi-developers)
- 52449 - Support writing XWPF documents with glossaries (Glossaries are not yet supported, but can now be written out again without changes)(poi-developers)
- 52446 - Handle files which have been truncated by a few bytes in NPropertyTable(poi-developers)
- 52438 - Update CellDateFormatter to handle times without seconds(poi-developers)
- 52389 - Support ?/? as well as #/# fractions, and tighten DataFormatter rules for fraction matching(poi-developers)
- 52200 - Updated XWPF table example code (poi-developers)
- 52378 - Support for WORKDAY and NETWORKDAYS functions(poi-developers)
- 52349 - Merge the logic between the TEXT function and DataFormatter(poi-developers)
- 52349 - Correctly support excel style date format strings in the TEXT function(poi-developers)
- 52369 - XSSFExcelExtractor should format numeric cells based on the format strings applied to them(poi-developers)
- 52369 - Event based XSSF parsing should handle formatting of formula values in XSSFSheetXMLHandler(poi-developers)
- 52348 - Avoid exception when creating cell style in a workbook that has an empty xf table(poi-developers)
- 52219 - fixed XSSFSimpleShape to set rich text attributes from XSSFRichtextString(poi-developers)
- 52314 - enhanced SheetUtil.getColumnWidth(poi-developers)

### Version 3.8-beta5 (2011-12-17)

- 52204 - Deprecated XSSFWorkbook(String path) constructor because it does not close underlying .zip file(poi-developers)
- 46288 - fixed refcount of Fill pictures in HSLF (poi-developers)
- 51961 - support compression of temp files in SXSSF (poi-developers)
- 52268 - support cloning sheets with drawings in XSSF (poi-developers)
- 52285 - Support XWPF smart tags text in Paragraphs(poi-developers)
- 51875 - More XSSF new-line in formula support(poi-developers)
- POIFS EntryUtils.copyNodes(POFS,POIFS) now uses FilteringDirectoryNode, so can exclude from copying nodes not just directly under the root(poi-developers)
- POIFS Helper FilteringDirectoryNode, which wraps a DirectoryEntry and allows certain parts to be ignored(poi-developers)
- 52209 - fixed inserting multiple pictures in XSLF (poi-developers)
- 51803 - fixed HSLF TextExtractor to extract content from master slide (poi-developers)
- 52190 - null check on XWPF setFontFamily(poi-developers)
- 52062 - ensure that temporary files in SXSSF are deleted(poi-developers)
- 50936 - Exception parsing MS Word 8.0 file (as duplicate of 47958)(poi-developers)
- 47958 - ArrayIndexOutOfBoundsException from PicturesTable.getAllPictures() during Escher tree walk(poi-developers)
- 51944 - PAPFormattedDiskPage.getPAPX - IndexOutOfBounds(poi-developers)
- 52032 - HWPF - ArrayIndexOutofBoundsException with no stack trace (broken after revision 1178063)(poi-developers)
- support for converting pptx files into images with a PPTX2PNG tool(poi-developers)
- 52050 - Support for the Excel RATE function(poi-developers)
- 51566 - HSLF fix for finishing parsing the picture stream on the first non-valid type(poi-developers)
- 51974 - Avoid HWPF issue when identifying the picture type(poi-developers)
- 52035 - Fix signed issue with very large word 6 files(poi-developers)
- 51949 - Avoid NPE on double close of ZipFileZipEntrySource(poi-developers)
- 51950 - XWPF fix for footnotes not always being present in a document(poi-developers)
- 51963 - Correct AreaReference handling of references containing a sheet name which includes a comma(poi-developers)
- 51955 - XSSFReader supplied StylesTables need to have the theme data available(poi-developers)
- 51716 - Removed incorrect assert in SXSSFSheet#getSXSSFSheet(poi-developers)
- 51834 - Opening and Writing .doc file results in corrupt document(poi-developers)
- 51902 - Picture.fillRawImageContent - ArrayIndexOutOfBoundsException (duplicate)(poi-developers)
- 51890 - ArrayIndexOutOfBounds ExceptionPicture.fillRawImageContent(poi-developers)
- Allow the passing of a File object to WorkbookFactory.create, which permits lower memory processing than the InputStream version(poi-developers)
- 51873 - update HSMF to ignore Outlook 2002 Olk10SideProp entries, which don't behave like normal chunks(poi-developers)
- 51850 - support creating comments in XSSF on an earlier slide when later ones already have them(poi-developers)
- 51804 - optionally include Master Slide text in XSLF text extraction, as HSLF already offers(poi-developers)
- New PackagePart method getRelatedPart(PackageRelationship) to simplify navigation of relations between OPC Parts(poi-developers)
- 51832 - handle XLS files where the WRITEPROTECT record preceeds the FILEPASS one, rather than following as normal(poi-developers)
- 51809 - correct GTE handling in COUNTIF(poi-developers)
- Add HWPF API to update range text and delete bookmarks(poi-developers)
- HWPF Bookmarks tables are correctly updated on text updates(poi-developers)
- 51670 - avoid LeftoverDataException when reading .xls files with invalid LabelRecords(poi-developers)
- 51196 - prevent NPE in XWPFPicture.getPictureData() (poi-developers)
- 51771 - prevent NPE when getting object data from OLEShape in HSLF(poi-developers)
- 51196 - more progress with Chart APi in XSSF(poi-developers)
- 51785 - Allow XSSF setForceFormulaRecalculation to work with the minimal ooxml-schemas jar(poi-developers)
- 51772 - IllegalArgumentException Parsing MS Word 97 - 2003(poi-developers)
- XSLFPowerPointExtractor support for including comment authors with comment text(poi-developers)
- Converted XSLFPowerPointExtractor to use UserModel for all text extraction(poi-developers)
- XSLF initial UserModel support for Notes and Comments for Slides(poi-developers)
- HSLF: support for uncompressed OLE embeddings(poi-developers)

### Version 3.8-beta4 (2011-08-26)

- 51678 - Extracting text from Bug51524.zip is slow(poi-developers)
- 51671 - HWPFDocument.write based on NPOIFSFileSystem throws a NullPointerException(poi-developers)
- support for tables and hyperlinks in XSLF(poi-developers)
- 51535 - correct signed vs unsigned short reading in NDocumentInputStream(poi-developers)
- 51634 - support SXSSF streaming from templates(poi-developers)
- initial support for XSLF usermodel API(poi-developers)
- 51187 - fixed OPCPackage to correctly handle self references(poi-developers)
- 51635 - Improved performance of XSSFSheet#write(poi-developers)
- 47731 - Word Extractor considers text copied from some website as an embedded object(poi-developers)
- Add Word-to-Text converter and use it as replacement for WordExtractor(poi-developers)
- 51604 - replace text fails for doc ( poi 3.8 beta release from download site )(poi-developers)
- Fixed incorrect encoding of non-breaking space (0xA0) in SXSSF(poi-developers)
- Support for conditional formatting in XSSF(poi-developers)
- Support isRightToLeft and setRightToLeft on the common spreadsheet Sheet interface, as per existing HSSF support(poi-developers)
- 50209 - Fixed evaluation of Subtotals to ignore nested subtotals(poi-developers)
- 44431 - HWPFDocument.write destroys fields(poi-developers)
- 50401 - fixed EscherProperty to return property name instead of 'unknown' for complex properties (poi-developers)
- Initial support for endnotes and footnotes in HWPF(poi-developers)
- 51470 - avoid exception when cloning XSSF sheets with background images(poi-developers)
- 51481 - Fixed autofilters in HSSF to avoid warnings in Excel 2007(poi-developers)
- 51533 - Avoid exception when changing name of a sheet containing shared formulas(poi-developers)
- Support for appending images to existing drawings in HSSF(poi-developers)
- Initial support for bookmarks in HWPF(poi-developers)
- 46250 - Fixed cloning worksheets with images(poi-developers)
- 51524 - PapBinTable constructor is slow (regression)(poi-developers)
- 51514 - allow HSSFObjectData to work with both POIFS and NPOIFS(poi-developers)
- 51514 - avoid NPE when copying nodes from one HSSF workbook to a new one, when opened from NPOIFS(poi-developers)
- 51504 - avoid NPE when DefaultRowHeight or DefaultColumnWidth records are missing(poi-developers)
- 51502 - Correct Subtotal function javadoc entry(poi-developers)
- Support for hyperlinks in SXSSF(poi-developers)
- 49933 - Word 6/95 documents with sections cause ArrayIndexOutOfBoundsException(poi-developers)
- 51469 - XSSF support for row styles, to match existing HSSF functionality(poi-developers)
- 51476 - Correct XSSF cell formatting in HTML export(poi-developers)
- 51486 - XWPF support for adding new footnotes(poi-developers)
- 48065 - Problems with save output of HWPF (losing formatting)(poi-developers)
- 47563 - Exception when working with table(poi-developers)
- 47287 - StringIndexOutOfBoundsException in CharacterRun.replaceText()(poi-developers)
- 46817 - Regression: Text from some table cells missing(poi-developers)
- Add getOverallRange() method to HWPFDocumentCore(poi-developers)
- PAPX referenced outside of TextPiecesTable are ignored now and not loaded(poi-developers)
- Fix main part range (and section) detection for files with additional parts (like footers/headers).(poi-developers)
- Fix wrong TextPiece parsing in very rare cases like Bug33519.doc(poi-developers)
- Inner tables are correctly supported(poi-developers)
- Allow user to retrieve Table nesting level (based on file information)(poi-developers)
- Functionality of internal tool HWPFLister is greatly improved, including output of document PAPX and paragraphs(poi-developers)
- Expand Word structures definitions (TAP, PAP, TLP, etc) based on official documentation(poi-developers)
- Add Excel-to-HTML converter (2007 versions)(poi-developers)
- Add Word-to-HTML converter (95-2007 versions)(poi-developers)
- Skip wrong-type SPRMs when characters SPRM is expected(poi-developers)
- Add toStrings() methods to internal HWPF structures: BorderCode, PAPX, Paragraph, PieceDescriptor, Section, SEPX, SprmOperation, TextPiece etc.(poi-developers)
- 51474 - SXSSF handling for null strings(poi-developers)
- 48294 - Fixed HSSFWorkbook.setSheetOrder() to respect inter-sheet references (poi-developers)
- 51448 - Avoid exception when evaluating workbooks with more than 256 sheets (poi-developers)
- 51458 - Correct BitField wrapping when setting large values(poi-developers)
- 51460 - Improve HSSF performance when loading very long rows, by switching the CellValue array to an iterator(poi-developers)
- 51444 - Prevent corrupted output when saving files created by LibreOffice 3.3 (poi-developers)
- 51422 - Support using RecalcIdRecord to trigger a full formula recalculation on load (poi-developers)
- 50474 - Example demonstrating how to update Excel workbook embedded in a WordprocessingML document (poi-developers)
- 51431 - Avoid IndexOutOfBoundException when removing freeze panes in XSSF (poi-developers)
- 48877 - Fixed XSSFRichTextString to respect leading and trailing line breaks (poi-developers)
- 49564 - Fixed default behaviour of XSSFCellStyle.getLocked() (poi-developers)
- 48314 - Fixed setting column and row breaks in XSSF(poi-developers)
- 51424 - Ignore exceptions in ParagraphSprmUncompressor(poi-developers)
- 51415 - Fixed Workbook.createSheet(sheetName) to truncate names longer than 31 characters(poi-developers)
- 51332 - Fixed internal IDs of shapes generated by HSSFPatriarch when there are more than 1023 drawing objects (poi-developers)
- 48408 - Improved documentation for Sheet.setColumnWidth (poi-developers)
- 51390 - Added handling of additional properties to HWPF ParagraphSprmCompressor(poi-developers)
- 51389 - Support for sprmPJc paragraph SPRM in HWPF(poi-developers)
- 48469 - New Case Study for POI web site (poi-developers)
- 50681 - Avoid exceptions in HSSFDataFormat.getDataFormatString() (poi-developers)
- 50681 - Fixed autosizing columns beyond 255 character limit (poi-developers)
- 51374 - Fixed incorrect setting of lastPrinted OOXML core property (poi-developers)
- 51351 - Word to XSL-FO converter(poi-developers)
- 50458 - Fixed missing shapeId in XSSF drawings (poi-developers)
- 51339 - Fixed arithmetic rounding in formula evaluation (poi-developers)
- 51356 - Support autoSizeColumn in SXSSF(poi-developers)
- 51335 - Parse picture goal and crop sizes in HWPF(poi-developers)
- 51305 - Add sprmTCellPaddingDefault support in HWPF(poi-developers)
- 51265 - Enhanced Handling of Picture Parts in XWPF(poi-developers)
- 51292 - Additional HWPF Table Cell Descriptor values(poi-developers)

### Version 3.8-beta3 (2011-06-06)

- 51098 - Correctly calculate image width/height, if image fits into one cell(poi-developers)
- 47147 - Correct extra paragraphs from XWPF Table Cells(poi-developers)
- 51188 - Support for getting and setting XPWF zoom settings(poi-developers)
- 51134 - Support for adding Numbering and Styles to a XWPF document that doesn't already have them(poi-developers)
- 51273 - Formula Value Cache fix for repeated evaluations(poi-developers)
- 51171 - Improved performance of SharedValueManager (poi-developers)
- 51236 - XSSF set colour support for black/white to match getter(poi-developers)
- 51196 - Initial support for Spreadsheet Chart API(poi-developers)
- Add support for OOXML Agile Encryption(poi-developers)
- 51160 - Initial version of SXSSF, a low memory foortprint API to produce xlsx files(poi-developers)
- 51171 - Improved performance of opening large .xls files(poi-developers)
- 51172 - Add XWPF support for GIF pictures(poi-developers)
- NPOIFS Mini Streams now support extending the underlying big block stream to fit more data(poi-developers)
- 51148 - XWPFDocument now properly tracks paragraphs and tables when adding/removing them(poi-developers)
- 51153 - Correct sizing of LbsDataSubRecord with unused padding fields(poi-developers)
- 51143 - NameCommentRecord correction for writing non ASCII strings(poi-developers)
- 51112 - Correct XWPFTable tracking of new rows(poi-developers)
- 51113 - Correct XWPFParagraph tracking of inserted runs(poi-developers)
- 51111 - Correct XWPFParagraph tracking of new runs(poi-developers)
- 51115 - Handle DataFormatter escaping of "." in the same way as "-" and "/"(poi-developers)
- 51100 - Fix IOUtils issue for NPOIFS reading from an InputStream where every block is full(poi-developers)
- 50956 - Correct XSSF cell style cloning between workbooks(poi-developers)
- Add get/setForceFormulaRecalculation for XSSF, and promote the methods to the common usermodel Sheet(poi-developers)
- Tweak the logic for sizing the HSSFCells array on a HSSFRow to reduce memory over allocation in many use cases(poi-developers)
- 49765 - Support for adding a picture to a XSSFRun(poi-developers)
- Rename/Move xssf.model.Table to xssf.usermodel.XSSFTable as it now has usermodel-like features(poi-developers)
- 51061 - Correct target URI for new XSSF Tables(poi-developers)
- 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.(poi-developers)
- 50884 - XSSF and HSSF freeze panes now behave the same(poi-developers)
- Support for adding a table to a XSSFSheet(poi-developers)
- Improve HSMF MAPIMessage access to the HTML and RTF versions of the message body (where available)(poi-developers)
- Add new method to HSMF of MAPIMessage.has7BitEncodingStrings() to make it easier to decide when encoding guessing is needed(poi-developers)
- OutlookTextExtractor now requests 7 bit encoding guessing(poi-developers)
- Improve HSMF encoding guessing for 7 bit fields in MAPIMessage(poi-developers)
- Allow HSMF access to the HTML body contents in MAPIMessage(poi-developers)

### Version 3.8-beta2 (2011-04-08)

- Implement the load method on MemoryPackagePart(poi-developers)
- 50967 - Support for continued ExtSSTRecords(poi-developers)
- 48968 - Support for HOUR, MINUTE and SECOND date formulas(poi-developers)
- 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(poi-developers)
- Fixed NPOIFS handling of new and empty Document Nodes(poi-developers)
- Fixed NPOIFS access to Document Nodes not in the top level directory(poi-developers)
- 50841 - Improved SpreadSheet DataFormatter to handle scientific notation, invalid dates and format spacers(poi-developers)
- 49381 - Correct createFreezePane in XSSF, so that the left row/column matches the documentation + HSSF(poi-developers)
- 49253 - When setting repeating rows and columns for XSSF, don't break the print settings if they were already there(poi-developers)
- 49219 - ExternalNameRecord support for DDE Link entries without an operation(poi-developers)
- 50846 - More XSSFColor theme improvements, this time for Cell Borders(poi-developers)
- 50939 - ChartEndObjectRecord is supposed to have 6 bytes at the end, but handle it not(poi-developers)
- HMEF - New component which supports TNEF (Transport Neutral Encoding Format), aka winmail.dat(poi-developers)
- 50313 - support for getting HWPFDocument fields(poi-developers)
- 50912 - fixed setting named styles to HSSFCells(poi-developers)
- 50779 - fixed RecordFormatException when reading unicode strings with photenic data(poi-developers)
- 50718 - More helpful error message when you try to create a CellReference with #REF!(poi-developers)
- 50784 - XSSFColors return by XSSFFont now have theme information applied to them(poi-developers)
- 50846 - Improve how XSSFColor inherits from Themes(poi-developers)
- 50847 - XSSFFont now accepts the full range of Charsets from FontChartset(poi-developers)
- 50786 - Speed up calls to HSSFColor.getIndexHash() by returning a cached, unmodifiable Map. HSSFColor.getModifiableIndexHash() provides access to the old (slow but modifiable) functionality(poi-developers)
- 47100 - Change related formulas and named ranges when XSSFWorkbook.setSheetName is called(poi-developers)

### Version 3.8-beta1 (2011-03-07)

- 50610 - Ant tasks for running POI against a workbook(poi-developers)
- 32903 - Correct XBAT chaining explanation in /poifs/fileformat.html(poi-developers)
- 50829 - Support for getting the tables associated with a XSSFSheet(poi-developers)
- 50299 - More XSSFColor updates for ARGB vs RGB(poi-developers)
- 50581 - Use stax:stax-api instead of org.apache.geronimo.specs:geronimo-stax-api_1.0_spec(poi-developers)
- 50786 - Fix XSSFColor to fetch the RGB values of old-style indexed colours(poi-developers)
- 50299 - Fix XSSFColor fetching of white and black background themes(poi-developers)
- 50795 - Avoid NPE from xmlbeans when moving XSSF Comments from one cell to another(poi-developers)
- 46664 - When creating HSSF Print Areas, ensure the named range is reference based not value based(poi-developers)
- 50756 - When formatting numbers based on their Cell Style, treat GENERAL the same as the more typical General(poi-developers)
- fixed HSSFWorkbook.createCellStyle to throw exception if the maximum number of cell styles was exceeded(poi-developers)
- 50539 - Better fix for html-style br tags (invalid XML) inside XSSF documents(poi-developers)
- 49928 - allow overridden built-in formats in HSSFCellStyle(poi-developers)
- 50607 - Added implementation for CLEAN(), CHAR() and ADDRESS()(POI-DEVELOPERS)
- 50587 - Improved documentation on user-defined functions(poi-developers)
- Inside ExtractorFactory, support finding embedded OOXML documents and providing extractors for them(poi-developers)
- Partial HDGF LZW compression support(poi-developers)
- 50244 - Support for continued NameRecords(poi-developers)
- 50416 - Correct shifting of the first or last row in a sheet by multiple rows(POI-DEVELOPERS)
- 50440 - Support evaluating formulas with newlines in them, which XSSF may have (but HSSF may not)(POI-DEVELOPERS)
- Added inline string support to XSSF EventModel(POI-DEVELOPERS)
- 50246 - Properly position GutsRecord when reading HSSF workbooks(POI-DEVELOPERS)
- 48539 - Added implementation for MROUND(), VAR() and VARP()(POI-DEVELOPERS)
- 50446 - Code cleanup and optimizations to keep some IDE quiet(POI-DEVELOPERS)
- 50437 - Support passing ranges to NPV()(POI-DEVELOPERS)
- 50409 - Added implementation for IRR()(POI-DEVELOPERS)
- 47405 - Improved performance of RowRecordsAggregate.getStartRowNumberForBlock / getEndRowNumberForBlock(poi-developers)
- 50315 - Avoid crashing Excel when sorting XSSFSheet autofilter(poi-developers)
- 50076 - Allow access from XSSFReader to sheet comments and headers/footers(poi-developers)
- 50076 - Refactor XSSFEventBasedExcelExtractor to make it easier for you to have control over outputting the cell contents(poi-developers)
- 50258 - avoid corruption of XSSFWorkbook after applying XSSFRichTextRun#applyFont(poi-developers)
- 50154 - Allow white spaces and unicode in OPC relationship targets (poi-developers)
- 50113 - Remove cell from Calculation Chain after setting cell type to blank (poi-developers)
- 49966 - Ensure that XSSFRow#removeCell cleares calculation chain entries (poi-developers)
- 50096 - Fixed evaluation of cell references with column index greater than 255 (poi-developers)
- 49761 - Tolerate Double.NaN when reading .xls files(poi-developers)
- 50211 - Use cached formula result when auto-sizing formula cells(poi-developers)
- 50118 - OLE2 does allow a directory with an empty name, so support this in POIFS(poi-developers)
- 50119 - avoid NPE when XSSFReader comes across chart sheets(poi-developers)

### Version 3.7 (2010-10-29)

- 50075 - avoid NPE in ListLevel.getNumberText() when numberText is null (poi-developers)
- 50067 - marked commons-logging and log4j as optional dependencies in POI poms(poi-developers)
- 49928 - allow overridden built-in formats in XSSFCellStyle(poi-developers)
- 49919 - support for BorderCode in HWPF(poi-developers)
- 49908 - support for processing of symbols in HWPF(poi-developers)
- 50022 - support for retrieving pictures from HSSF workbooks(poi-developers)
- 50020 - Avoid IllegalStateException when creating Data validation in sheet with macro(poi-developers)
- 50033 - Improved rounding in MOD(poi-developers)
- Generate SHA1 hashes of distribution files, alongside existing MD5 ones(poi-developers)

### Version 3.7-beta3 (2010-09-24)

- 48325 - If a HSSF header or footer lacks left/right/centre information, assume it is a centre one(poi-developers)
- 49966 - Correctly remove calcChain entries for XSSF cells that stop holding formulas(poi-developers)
- 47582 - XSSFCellStyle support for creating a style in one workbook based on a style from a different one(poi-developers)
- 49931 - Avoid concurrency problems when re-ordering multiple HSSF header records for a PageSettingsBlock(poi-developers)
- 49765 - Fix XWPFDocument.addPicture so that it correctly sets up relationships(poi-developers)
- 48018 - Improve HWPF handling of lists in documents read and then saved, by preserving order better(poi-developers)
- 49820 - Fix HWPF paragraph levels, so that outline levels can be properly fetched(poi-developers)
- 47271 - Avoid infinite loops on broken HWPF documents with a corrupt CHP style with a parent of itself(poi-developers)
- 49936 - Handle HWPF documents with problematic HeaderStories better(poi-developers)
- 49933 - Support sections in Word 6 and Word 95 files (HWPFOldDocument)(poi-developers)
- 49941 - Correctly handle space preservation of XSSFRichTextRuns when applying fonts to parts of the string(poi-developers)
- Correct XWPFRun detection of bold/italic in a paragraph with multiple runs of different styles(poi-developers)
- Link XWPFPicture to XWPFRun, so that embedded pictures can be access from where they live in the text stream(poi-developers)
- Improve handling of Hyperlinks inside XWPFParagraph objects through XWPFHyperlinkRun(poi-developers)
- Make XWPFParagraph make more use of XWPFRun, and less on internal StringBuffers(poi-developers)
- Add a getBodyElements() method to XWPF IBody, to make access to embedded paragraphs and tables easier(poi-developers)
- More XSLFRelation entries for common .pptx file parts(poi-developers)
- 49872 - avoid exception in XSSFFormulaEvaluator.evaluateInCell when evaluating shared formulas(poi-developers)
- 49895 - avoid corruption of XSSFWorkbook after removing all merged cells from sheet(poi-developers)
- 49907 - fixed inconsistent behaviour between HSSF and XSSF when creating consecutive names(poi-developers)
- Add getMimeType() method to HWPF Picture, alongside existing file extension(poi-developers)
- Add code for reading Ole10Native data(poi-developers)
- Add getMimeType() method to HSSF/XSSF PictureData, alongside existing file extension(poi-developers)
- 49887 - allow sheet names longer than 31 chars in XSSF, enforce name uniqueness on the first 31 chars(poi-developers)
- 49878 - improved API for hiding sheets(poi-developers)
- 49875 - fixed XSSFWorkbook.createSheet to throw exception if sheet name begins or ends with a single quote (')(poi-developers)
- 49873 - fixed XSSFFormulaEvaluator to support blank cells(poi-developers)
- 49850 - added a getter for _iStartAt in ListFormatOverrideLevel(poi-developers)
- 49761 - change cell type to error when setting Double.NaN or Infinities(poi-developers)
- 49833 - ensure that CTNumPr is included in poi-ooxml-schemas.jar(poi-developers)
- 49841 - fixed LEFT and RIGHT to return #VALUE! when called with a negative operand (POI-DEVELOPERS)
- 49783 - fixed evaluation of XSSF workbooks containing formulas with reference errors (#REF!)(POI-DEVELOPERS)
- 49751 - fixed fetching names of user defined styles in HSSFCellStyle.getUserStyleName()(POI-DEVELOPERS)
- 48900 - support for protecting a XSSF workbook(POI-DEVELOPERS)
- 49725 - fixed FormulaParser to correctly process defined names with underscore(POI-DEVELOPERS)
- 48526 - added implementation for RANDBETWEEN()(POI-DEVELOPERS)
- 49725 - avoid exception in OperandResolver.parseDouble when input is minus ("-")(POI-DEVELOPERS)
- 49723 - fixed OperandResolver to correctly handle inputs with leading decimal place(POI-DEVELOPERS)
- initial support for Excel autofilter(POI-DEVELOPERS)

### Version 3.7-beta2 (2010-08-09)

- 47990 - Support for .msg attachments within a MAPIMessage .msg(POI-DEVELOPERS)
- Improve handling and warnings when closing OPCPackage objects(POI-DEVELOPERS)
- 49702 - Correct XSSFWorkbook.getNumCellStyles to check the right styles list(POI-DEVELOPERS)
- 49690 - Add WorkbookUtil, which provies a way of generating valid sheet names(POI-DEVELOPERS)
- 49694 - Use DataFormatter when autosizing columns, to better match the real display width of formatted cells(POI-DEVELOPERS)
- 49441 - Allow overriding and guessing of HSMF non-unicode string encodings(POI-DEVELOPERS)
- 49689 - Allow the setting of user style names on newly created HSSF cell styles(POI-DEVELOPERS)
- Make it easier to tell which content types each POIXMLTextExtractor handles(POI-DEVELOPERS)
- 49649 - Added clone support for UserSView* and Feat* families of records(POI-DEVELOPERS)
- 49653 - Support for escaped unicode characters in Shared String Table(POI-DEVELOPERS)
- 49579 - prevent ArrayIndexOutOfBoundException in UnknowEscherRecord(POI-DEVELOPERS)
- 49593 - preserve leading and trailing white spaces in XWPFRun(POI-DEVELOPERS)
- 49455 - Insert the content of fldSimple fields into the XWPFWordTextExtractor output(POI-DEVELOPERS)
- 49640 - Fixed parsing formulas containing defined names beginning with an underscore(POI-DEVELOPERS)
- 49538 - Added implementation for POISSON()(POI-DEVELOPERS)
- 49524 - Support for setting cell text to be vertically rotated, via style.setRotation(0xff)(POI-DEVELOPERS)
- 49609 - Case insensitive matching of OOXML part names(POI-DEVELOPERS)
- 49581 - Ability to add, modify and remove series from HSSF Charts(POI-DEVELOPERS)
- 49185 - Support for HSSFNames where the comment is stored in a NameCommentRecord(POI-DEVELOPERS)
- 49599 - correct writing of noterecord author text when switching between ascii and unicode(poi-developers)
- hwpf: improve reading of auto-saved ("complex") documents(poi-developers)
- paragraph level as well as whole-file text extraction for word 6/95 files through hwpf(poi-developers)
- text extraction support for older word 6 and word 95 files via hwpf(poi-developers)
- 49508 - allow the addition of paragraphs to xwpf table cells(poi-developers)
- 49446 - don't consider 17.16.23 field codes as properly part of the paragraph's text(poi-developers)
- xslfslideshow shouldn't break on .thmx (theme) files. support for them is still very limited though(poi-developers)

### Version 3.7-beta1 (2010-06-20)

- 49432 - lazy caching of xssfcomment ctcomment objects by reference, to make repeated comment searching faster(poi-developers)
- better handling of outlook messages in hsmf when there's no recipient email address(poi-developers)
- when formatting numbers with dataformatter, handle brackets following colours(poi-developers)
- 48574 - further xwpf support for tables, paragraphs, including enhanced support for adding new ones(poi-developers)
- 48245 - tweak hwpf table cell detection to work across more files(poi-developers)
- 48996 - initial support for external name references in hssf formula evaluation(poi-developers)
- 46664 - fix up tab ids when adding new sheets, so that print areas don't end up invalid(poi-developers)
- 45269 - improve replacetext on hwpf ranges(poi-developers)
- 47815 - correct documentation on what happens when you request a string from a non-string formula cell(poi-developers)
- 49386 - avoid npe when extracting ooxml file properties which are dates(poi-developers)
- 49377 - only call decimalformat.setroundingmode on java 1.6 - it's needed to match excel's rendering of numbers(poi-developers)
- 49378 - correct 1.6ism(poi-developers)
- parse the hsmf headers chunk if present, and use it to find dates in text extraction if needed(poi-developers)
- 48494 - detect and support time formats like hh:mm;hh:mm(poi-developers)
- 48494 - have excelextractor make use of hssfdataformatter, so that numbers and dates come out closer to how excel would render them(poi-developers)
- 48494 - have eventbasedexcelextractor make use of hssfdataformatter, so that numbers and dates come out closer to how excel would render them(poi-developers)
- 49096 - add clone support to chart begin and end records, to allow cloning of more chart containing sheets(poi-developers)
- list attachment names in the output of outlooktextextractor (to get attachment contents, use extractorfactory as normal)(poi-developers)
- 48872 - allow dateformatter.formatrawcellcontents to handle 1904 as well as 1900 dates(poi-developers)
- 48872 - handle mmmmm and elapsed time formatting rules in dataformatter(poi-developers)
- 48872 - handle zero formatting rules, and better color detection in dataformatter(poi-developers)
- 48872 - support for more kinds of formatting in dataformatter(poi-developers)
- 43161 - fixed construction of the dib picture header(poi-developers)
- 49311 - initial support for reading aes-encrypted/write-protected ooxml files(poi-developers)
- 48718 - make the creation of multiple, un-modified fonts in a row in xssf match the old hssf behaviour(poi-developers)
- 44916 - allow access to the hssfpatriarch from hssfsheet once created(poi-developers)
- 48779 - allow you to get straight from a cellstyle to a color, irrespective of if the color is indexed or inline-defined(poi-developers)
- 48924 - allow access of the hwpf dateandtime underlying date values(poi-developers)
- 48926 - initial support for the hwpf revision marks authors list(poi-developers)
- 49160 - ensure that ctdigsigblob is included in poi-ooxml jar(poi-developers)
- 49189 - detect w:tab and w:cr entries in xwpf paragraphs, even when the xsd is silly and maps them to ctempty(poi-developers)
- 49273 - correct handling for font character sets with indicies greater than 127(poi-developers)
- 49334 - track the valuerangerecords of charts in hssfchart, to allow the basic axis operations(poi-developers)
- 49242 - track the linkdatarecords of charts in hssfchart(poi-developers)
- improved performance of xssfworkbook.write (poi-developers)
- 48846 - avoid npe when finding cell comments(poi-developers)
- 49325 - ensure that ctphoneticpr is included in poi-ooxml jar(poi-developers)
- 49191 - fixed tests failing in non-english locales(poi-developers)
- 48432 - support for xssf themes(poi-developers)
- 49244 - support for data validation for ooxml format(poi-developers)
- 49066 - worksheet/cell formatting, with view and html converter(poi-developers)
- 49020 - workaround excel outputting invalid xml in button definitions by not closing br tags(poi-developers)
- 49050 - improve performance of abstractescherholderrecord when there are lots of continue records(poi-developers)
- 49194 - correct text size limit for ooxml .xlsx files(poi-developers)
- 49254 - fix cellutils.setfont to use the correct type internally(poi-developers)
- 49139 - properly support 4k big block size in poifs(poi-developers)
- 48936 - avoid writing malformed cdata blocks in sharedstrings.xml(poi-developers)
- 49026 - added implementation for text() (poi-developers)
- 49025 - added implementation for trunc() (poi-developers)
- 49147 - properly close internal inputstream in extractorfactory#createextractor(file)(poi-developers)
- 49138 - fixed locale-sensitive formatters in packagepropertiespart(poi-developers)
- 49153 - ensure that ctvectorvariant is included in poi-ooxml-schemas.jar(poi-developers)
- 49146 - added accessors to coreproperties.keywords (poi-developers)
- 48916 - propagate parent to parent-aware records decoded from escher(poi-developers)
- 48485 - add extra paper size constans to printsetup, such as a3, b4 and b5(poi-developers)
- make poifs.filesystem.directorynode preserve the original ordering of its files, which hsmf needs to be able to correctly match up chunks(poi-developers)
- support evaluation of indirect defined names in indirect(poi-developers)
- 43670 - improve hdgf chunkv11 separator detection, and short string detection, to solve the "negative length of chunkheader" problem(poi-developers)
- 48617 - optionally allow the overriding of the locale used by dataformatter to control how the default number and date formats should look(poi-developers)
- new event based xssf text extractor (xssfeventbasedexcelextractor)(poi-developers)
- extractorfactory can now be told to prefer event based extractors (current excel only) on a per-thread or overall basis(poi-developers)
- 48544 - avoid failures in xlsx2csv when shared string table is missing(poi-developers)
- 48571 - properly close all io streams created in opcpackage(poi-developers)
- 48572 - always copy all declared inner classes and interfaces when generating poi-ooxml-schemas(poi-developers)
- low level record support for the extrst (phonetic text) part of unicode strings. no usermodel access to it as yet though.(poi-developers)
- record.unicodestring has moved to record.common.unicodestring, to live with the other record-part classes, as it isn't a full record.(poi-developers)
- avoid creating temporary files when opening opc packages from input stream(poi-developers)
- improved how hsmf handles multiple recipients(poi-developers)
- add publishertextextractor support to extractorfactory(poi-developers)
- add xslf support for text extraction from tables(poi-developers)
- support attachments as embeded documents within the new outlooktextextractor(poi-developers)
- add a text extractor (outlooktextextractor) to hsmf for simpler extraction of text from .msg files(poi-developers)
- some improvements to hsmf parsing of .msg files(poi-developers)
- initialise the link type of hssfhyperlink, so that gettype() on it works(poi-developers)
- 48425 - improved performance of dateutil.iscelldateformatted() (poi-developers)
- 47215 - fixed interfaceendrecord to tolerate unexpected record contents (poi-developers)
- 48415 - improved javadoc on hsspicture.resize() (poi-developers)
- added ant target to install artifacts in local repository (poi-developers)
- 48026 - fixed pagesettingsblock to allow multiple headerfooterrecord records (poi-developers)
- 48202 - fixed cellrangeutil.mergecellranges to work for adjacent cell regions (poi-developers)
- 48339 - fixed externalnamerecord to properly distinguish dde data from ole data items (poi-developers)
- 47920 - allow editing workbooks embedded into powerpoint files(poi-developers)
- 48343 - added implementation of subtotal function(poi-developers)
- switch to compiling the ooxml schemas for java 1.5(poi-developers)

### Version 3.6 (2009-12-14)

- 48332 - fixed xssfsheet autosizecolumn() to tolerate empty richtextstring(poi-developers)
- 48332 - fixed columninforecord to tolerate missing reserved field(poi-developers)
- 47701 - fixed recordformatexception when reading list subrecords (lbsdatasubrecord)(poi-developers)
- memory usage optimization in xssf - avoid creating parentless xml beans(poi-developers)
- 47188 - avoid corruption of workbook when adding cell comments (poi-developers)
- 48106 - improved work with cell comments in xssf(poi-developers)
- add support for creating summaryinformation and documentsummaryinformation properties on poidocuments that don't have them, via poidocument.createinformationproperties()(poi-developers)
- 48180 - be more forgiving of short chart records, which skip some unused fields(poi-developers)
- 48274 - fix erronious wrapping of byte colours in hssfpalette.findsimilarcolor(poi-developers)
- 48269 - fix fetching of error codes from xssf formula cells(poi-developers)
- 48229 - fixed javadoc for hssfsheet.setcolumnwidth and xssfsheet setcolumnwidth (poi-developers)
- 47757 - fixed xlsx2csv to avoid exception when processing cells with multiple "t" elements(poi-developers)
- 48195 - short-circuit evaluation of if() and choose()(poi-developers)
- 48161 - support for text extraction from ppt master slides(poi-developers)
- 47970 - added a method to set arabic mode in hssfsheet(poi-developers)
- 48134 - release system resources when using picture.resize()(poi-developers)
- 48087 - avoid npe in xssfchartsheet when calling methods of the superclass(poi-developers)
- 48038 - handle reading hwpf stylesheets from non zero offsets(poi-developers)
- when running the "compile-ooxml-xsds" ant task, also generate the source jar for the ooxml schemas(poi-developers)
- 45672 - improve handling by missingrecordawarehssflistener of records that cover multiple cells (mulblankrecord and mulrkrecord)(poi-developers)
- 48096 - relaxed validation check in recalcidrecord(poi-developers)
- 48085 - improved error checking in blockallocationtablereader to trap unreasonable field values(poi-developers)
- 47924 - fixed logic for matching cells and comments in hssfcell.getcellcomment()(poi-developers)
- 47942 - added implementation of protection features to xlsx and docx files(poi-developers)
- 48070 - preserve leading and trailing white spaces in xssfrichtextstring(poi-developers)
- 48044 - added implementation for countblank function(poi-developers)
- 48036 - added intersectioneval to allow evaluation of the intersection formula operator(poi-developers)
- 47999 - avoid un-needed call to the jvm garbage collector when working on ooxml opc packages(poi-developers)
- 47922 - added example hsmf application that converts a .msg file to text and extracts attachments(poi-developers)
- 47903 - added ant target to compile scratchpad examples(poi-developers)
- 47839 - improved api for ooxml custom properties(poi-developers)
- 47862 - fixed xssfsheet.setcolumnwidth to handle columns included in a column span(poi-developers)
- 47804 - fixed xssfsheet.setcolumnhidden to handle columns included in a column span(poi-developers)
- 47889 - fixed xssfcell.getstringcellvalue() to properly handle cached formula results(poi-developers)

### Version 3.5-final (2009-09-28)

- 47747 - fixed logic for locating shared formula records(poi-developers)
- 47809 - improved work with user-defined functions(poi-developers)
- 47581 - fixed xssfsheet.setcolumnwidth to produce xml compatible with mac excel 2008(poi-developers)
- 47734 - removed unnecessary svn:executable flag from files in svn trunk(poi-developers)
- 47543 - added javadoc how to avoid excel crash when creating too many hssfrichtextstring cells(poi-developers)
- 47813 - fixed problems with xssfworkbook.removesheetat when workbook contains chart(poi-developers)
- 47737 - adjust sheet indices of named ranges when deleting sheets(poi-developers)
- 47770 - built-in positive formats don't need starting '('(poi-developers)
- 47771 - added method setfunction(boolean) for defined names(poi-developers)
- 47768 - implementation of excel "days360" and "npv" functions(poi-developers)
- 47751 - do not allow hssf's cell text longer than 32,767 characters(poi-developers)
- 47757 - added an example demonstrating how to convert an xlsx workbook to csv(poi-developers)
- 44770 - fixed ppt parser to tolerate comment2000 containers with missing comment text(poi-developers)
- 47773 - fix for extraction paragraphs and sections from headers/footers with xwpfwordextractor(poi-developers)
- 47727 - support for extraction of header / footer images in hwpf(poi-developers)
- moved all test data to a top-level directory(poi-developers)
- 47721 - Added implementation for INDIRECT()(POI-DEVELOPERS)
- 45583 - Avoid exception when reading ClipboardData packet in OLE property sets(POI-DEVELOPERS)
- 47652 - Added support for reading encrypted workbooks(POI-DEVELOPERS)
- 47604 - Implementation of an XML to XLSX Importer using Custom XML Mapping(POI-DEVELOPERS)
- 47620 - Avoid FormulaParseException in XSSFWorkbook.setRepeatingRowsAndColumns when removing repeated rows and columns(POI-DEVELOPERS)
- 47606 - Fixed XSSFCell to correctly parse column indexes greater than 702 (ZZ)(POI-DEVELOPERS)
- 47598 - Improved formula evaluator number comparison(POI-DEVELOPERS)
- 47571 - Fixed XWPFWordExtractor to extract inserted/deleted text(POI-DEVELOPERS)
- 47548 - Fixed RecordFactoryInputStream to properly read continued DrawingRecords(POI-DEVELOPERS)
- 46419 - Fixed compatibility issue with OpenOffice 3.0(POI-DEVELOPERS)
- 47559 - Fixed compatibility issue with Excel 2008 Mac sp2. Please see the HSSF+XSSF project page for more information. (POI-DEVELOPERS)
- 47540 - Fix for saving custom and extended OOXML properties(POI-DEVELOPERS)
- 47535 - Fixed WordExtractor to tolerate files with empty footnote block(POI-DEVELOPERS)
- 47517 - Fixed ExtractorFactory to support .xltx and .dotx files(POI-DEVELOPERS)
- 45556 - Support for extraction of footnotes from docx files(POI-DEVELOPERS)
- 45555 - Support for extraction of endnotes from docx files(POI-DEVELOPERS)
- 47520 - Initial support for custom XML mappings in XSSF(POI-DEVELOPERS)
- 47460 - Fixed NPE when retrieving core properties from a newly created workbook(POI-DEVELOPERS)
- 47498 - Fixed HyperlinkRecord to properly handle URL monikers(POI-DEVELOPERS)
- 47504 - Fixed XSSFWorkbook to read files with hyperlinks to document locations(POI-DEVELOPERS)
- 47479 - Fix BoolErrRecord to tolerate incorrect format written by OOO(POI-DEVELOPERS)
- 47448 - Allow HSSFEventFactory to handle non-zero padding at the end of the workbook stream(POI-DEVELOPERS)
- 47456 - Support for getting OLE object data in PowerPointExtractor(POI-DEVELOPERS)
- 47411 - Explicitly set the 1900 date system when creating XSSF workbooks(POI-DEVELOPERS)
- 47400 - Support for text extraction of footnotes, endnotes and comments in HWPF(POI-DEVELOPERS)
- 47415 - Fixed PageSettingsBlock to allow multiple PLS records(POI-DEVELOPERS)
- 47412 - Fixed concurrency issue with EscherProperties.initProps()(POI-DEVELOPERS)
- 47143 - Fixed OOM in HSSFWorkbook#getAllPictures when reading .xls files containing metafiles(POI-DEVELOPERS)
- Added implementation for ISNA()(POI-DEVELOPERS)
- 46793 - fixed SimpleShape#getLineWidth to handle default line width (POI-DEVELOPERS)
- 47356 - removed unused private fields in HWPF BorderCode(POI-DEVELOPERS)
- 47355 - Improved HWPF TableCell to expose TableCellDescriptor(POI-DEVELOPERS)
- 46610 - Improved HWPF to better handle unicode(POI-DEVELOPERS)
- 47261 - Fixed SlideShow#removeSlide to remove references to Notes(POI-DEVELOPERS)
- 47375 - Fixed HSSFHyperlink to correctly set inter-sheet and file links(POI-DEVELOPERS)
- 47384 - Fixed ExternalNameRecord to handle unicode names(POI-DEVELOPERS)
- 47372 - Fixed locale-sensitive unit tests to pass when running on non-US locale(POI-DEVELOPERS)

### Version 3.5-beta6 (2009-06-22)

- 47363 - Fixed HSSFSheet to allow addition of data validations after sheet protection(POI-DEVELOPERS)
- 47294 - Fixed XSSFWorkbook#setRepeatingRowsAndColumns to tolerate sheet names with quotes(POI-DEVELOPERS)
- 47309 - Fixed logic in HSSFCell.getCellComment to handle sheets with more than 65536 comments(POI-DEVELOPERS)
- 46776 - Added clone() method to MulBlankRecord to fix crash in Sheet.cloneSheet()(POI-DEVELOPERS)
- 47244 - Fixed HSSFSheet to handle missing header / footer records(POI-DEVELOPERS)
- 47312 - Fixed formula parser to properly reject cell references with a '0' row component(POI-DEVELOPERS)
- 47199 - Fixed PageSettingsBlock/Sheet to tolerate margin records after other non-PSB records(POI-DEVELOPERS)
- 47069 - Fixed HSSFSheet#getFirstRowNum and HSSFSheet#getLastRowNum to return correct values after removal of all rows(POI-DEVELOPERS)
- 47278 - Fixed XSSFCell to avoid generating xsi:nil entries in shared string table(POI-DEVELOPERS)
- 47206 - Fixed XSSFCell to properly read inline strings(POI-DEVELOPERS)
- 47250 - Fixed FontRecord to expect unicode flags even when name length is zero(POI-DEVELOPERS)
- 47198 - Fixed formula evaluator comparison of -0.0 and 0.0(POI-DEVELOPERS)
- 47229 - Fixed ExternalNameRecord to handle DDE links(POI-DEVELOPERS)
- 46287 - Control of header and footer extraction in ExcelExtractor / XSSFExcelExtractor(POI-DEVELOPERS)
- 46554 - New ant target "jar-examples"(POI-DEVELOPERS)
- 46161 - Support in XSSF for setGroupColumnCollapsed and setGroupRowCollapsed(POI-DEVELOPERS)
- 46806 - Allow columns greater than 255 and rows greater than 0x100000 in XSSF formulas(POI-DEVELOPERS)
- 41711 - Base class for "old version" exceptions, and new HSLF detection + use of old versions exception(POI-DEVELOPERS)
- 47179 - Fix string encoding issues with HSMF chunks on non-windows platforms(POI-DEVELOPERS)
- 47183 - Attachment support for HSMF(POI-DEVELOPERS)
- 47154 - Handle the cell format @ as the same as General(POI-DEVELOPERS)
- 47048 - Fixed evaluation of defined names with the 'complex' flag set(POI-DEVELOPERS)
- 46953 - More tweaks to PageSettingsBlock parsing logic in Sheet constructor(POI-DEVELOPERS)
- 47089 - Fixed XSSFWorkbook.createSheet to properly increment sheetId(POI-DEVELOPERS)
- 46568 - Fixed XSLFPowerPointExtractor to properly process line breaks(POI-DEVELOPERS)
- 39056 - Fixed POIFSFileSystem to set CLSID of root when constructing instances from InputStream(POI-DEVELOPERS)
- 47054 - Fixed cloneStyleFrom to avoid exception when cloning styles of the same family(POI-DEVELOPERS)
- 46186 - Fixed Sheet to read GutsRecord in the Sheet(RecordStream rs)(POI-DEVELOPERS)
- 46714 - Automatically call sheet.setAlternativeExpression when sheet.setRowSumsBelow is called (POI-DEVELOPERS)
- 46279 - Allow 255 arguments for excel functions in XSSF (POI-DEVELOPERS)
- 47028 - Fixed XSSFCell to preserve cell style when cell value is set to blank(POI-DEVELOPERS)
- 47026 - Avoid NPE in XSSFCell.setCellType() when workbook does not have SST(POI-DEVELOPERS)
- 46987 - Allow RecordFactory to handle non-zero padding at the end of the workbook stream(POI-DEVELOPERS)
- 47034 - Fix reading the name of a NameRecord when the name is very long(POI-DEVELOPERS)
- 47001 - Fixed WriteAccessRecord and LinkTable to handle unusual format written by Google Docs(POI-DEVELOPERS)
- 46973 - Fixed defined names to behave better when refersToFormula is unset(POI-DEVELOPERS)
- 46832 - Allow merged regions with columns greater than 255 or rows bigger than 65536 in XSSF(POI-DEVELOPERS)
- 46951 - Fixed formula parser to better handle range operators and whole row/column refs.(POI-DEVELOPERS)
- 46948 - Fixed evaluation of range operator to allow for area-ref operands(POI-DEVELOPERS)
- 46918 - Fixed ExtendedPivotTableViewFieldsRecord(SXVDEX) to allow shorter format(POI-DEVELOPERS)
- 46898 - Fixed formula evaluator to not cache intermediate circular-reference error results(POI-DEVELOPERS)
- 46917 - Fixed PageItemRecord(SXPI) to allow multiple field infos(POI-DEVELOPERS)
- 46904 - Fix POIFS issue with duplicate block 0 references on very old BIFF5/BIFF7 files(POI-DEVELOPERS)
- 46840 - PageSettingsBlock should include HEADERFOOTER record(POI-DEVELOPERS)
- 46885 - update cell type when setting cached formula result in XSSFCell(POI-DEVELOPERS)
- added modifiers for anchor type to XSSFClientAnchor(POI-DEVELOPERS)
- 46772 - support built-in data formats in XSSFDataFormat(POI-DEVELOPERS)
- 46719 - fixed XSSFSheet.shiftRows to correctly preserve row heights(POI-DEVELOPERS)
- 46715 - preserve custom column widths across re-serialization of XSSFWorkbook(POI-DEVELOPERS)
- 46703 - added setDisplayZeros / isDisplayZeros to common interface org.apache.poi.ss.usermodel.Sheet(POI-DEVELOPERS)
- 46708 - added getMergedRegion(int) to common interface org.apache.poi.ss.usermodel.Sheet(POI-DEVELOPERS)
- fixed Sheet.autoSizeColumn() to use cached formula values when processing formula cells (POI-DEVELOPERS)
- Fixed formula parser to handle names with backslashes(POI-DEVELOPERS)
- 46660 - added Workbook getHidden() and setHidden(boolean)(POI-DEVELOPERS)
- 46693 - Fixed bugs serialization bugs in records: CHARTFORMAT, SHTPROPS, SXVD and SXVDEX(POI-DEVELOPERS)
- 46627 - Fixed offset of added images if Pictures stream contains pictures with zero length(POI-DEVELOPERS)

### Version 3.5-beta5 (2009-02-19)

- 46536 - When shifting rows, update formulas on that sheet to point to the new location of those rows(POI-DEVELOPERS)
- 46663 - Fixed XSSFSheet.shiftRows to properly update references of the shifted cells(POI-DEVELOPERS)
- 46535 - Remove reference from calculation chain when a formula is deleted(POI-DEVELOPERS)
- 46654 - HSSFRow/RowRecord to properly update cell boundary indexes(POI-DEVELOPERS)
- 46643 - Fixed formula parser to encode range operator with tMemFunc(POI-DEVELOPERS)
- 46647 - Fixed COUNTIF NE operator and other special cases involving type conversion(POI-DEVELOPERS)
- 46635 - Added a method to remove slides(POI-DEVELOPERS)
- 40520 - Fixed HSSFFont.applyFont() to properly apply font to overlapping regions(POI-DEVELOPERS)
- 46545 - Fixed ObjRecord to ignore excessive padding written by previous POI versions(POI-DEVELOPERS)
- 46613 - Fixed evaluator to perform case insensitive string comparisons(POI-DEVELOPERS)
- 46544 - command line interface for hssf ExcelExtractor(POI-DEVELOPERS)
- 46547 - Allow addition of conditional formatting after data validation(POI-DEVELOPERS)
- 46548 - Page Settings Block fixes - continued PLS records and PSB in sheet sub-streams(POI-DEVELOPERS)
- 46523 - added implementation for SUMIF function(POI-DEVELOPERS)
- Support for reading HSSF column styles(POI-DEVELOPERS)
- Hook up POIXMLTextExtractor.getMetadataTextExtractor() to the already written POIXMLPropertiesTextExtractor(POI-DEVELOPERS)
- 46472 - Avoid NPE in HPSFPropertiesExtractor when no properties exist(POI-DEVELOPERS)
- 46479 - fixed bugs related to cached formula values and HSSFFormulaEvaluator.evaluateInCell()(POI-DEVELOPERS)
- 45031 - added implementation for CHOOSE() function(POI-DEVELOPERS)
- 46361 - resolve licensing issues around the HDGF resource file, chunks_parse_cmds.tbl(POI-DEVELOPERS)
- 46410 - added implementation for TIME() function(POI-DEVELOPERS)
- 46320 - added HSSFPictureData.getFormat()(POI-DEVELOPERS)
- 46445 - fixed HSSFSheet.shiftRow to move hyperlinks(POI-DEVELOPERS)
- fixed formula parser to correctly resolve sheet-level names(POI-DEVELOPERS)
- 46433 - support for shared formulas in XSSF(POI-DEVELOPERS)
- 46299 - support for carriage return and line break in XWPFRun(POI-DEVELOPERS)
- 46300 - support for line spacing in XWPFParagraph(POI-DEVELOPERS)
- 46308 - initial support for creation of XWPFTable(POI-DEVELOPERS)
- Added getters to parent objects: HSSFSheet.getWorkbook(), HSSFRow.getSheet() and HSSFCell.getRow()(POI-DEVELOPERS)
- 46385 - (also patch 46362) fix serialization of StyleRecord with unicode name(POI-DEVELOPERS)
- 46368 - Fix HSSFRichTextRun and strings longer than 32768 characters(POI-DEVELOPERS)
- Support sheet-level names(POI-DEVELOPERS)
- Fixed XSSFCell to properly handle cell references with column numbers up to XFD(POI-DEVELOPERS)
- 44914 - Fixed warning message "WARN. Unread n bytes of record 0xNN"(POI-DEVELOPERS)
- 46156 - Improved number to text conversion to be closer to that of Excel(POI-DEVELOPERS)
- 46312 - Fixed ValueRecordsAggregate to handle removal of new empty row(POI-DEVELOPERS)
- 46269 - Improved error message when attempting to read BIFF2 file(POI-DEVELOPERS)
- 46206 - Fixed Sheet to tolerate missing DIMENSION records(POI-DEVELOPERS)
- 46301 - added pivot table records: SXDI, SXVDEX, SXPI, SXIDSTM, SXVIEW, SXVD, SXVS, et al(POI-DEVELOPERS)
- 46280 - Fixed RowRecordsAggregate etc to properly skip PivotTable records(POI-DEVELOPERS)

### Version 3.5-beta4 (2008-11-29)

- 46213 - Fixed FormulaRecordAggregate to gracefully ignore extra StringRecords(POI-DEVELOPERS)
- 46174 - Fixed HSSFName to handle general formulas (not just area references)(POI-DEVELOPERS)
- 46189 - added chart records: CHARTFRTINFO, STARTBLOCK, ENDBLOCK, STARTOBJECT, ENDOBJECT, and CATLAB(POI-DEVELOPERS)
- 46199 - More tweaks to EmbeddedObjectRefSubRecord(POI-DEVELOPERS)
- Changes to formula evaluation allowing for reduced memory usage(POI-DEVELOPERS)
- 45290 - Support odd files where the POIFS header block comes after the data blocks, and is on the data blocks list(POI-DEVELOPERS)
- 46184 - More odd escaped date formats(POI-DEVELOPERS)
- Include the sheet number in the output of XLS2CSVmra(POI-DEVELOPERS)
- 46043 - correctly write out HPSF properties with HWPF(POI-DEVELOPERS)
- 45973 - added CreationHelper.createFormulaEvaluator(), implemeted both for HSSF and XSSF(POI-DEVELOPERS)
- 46182 - fixed Slideshow.readPictures() to skip pictures with invalid headers(POI-DEVELOPERS)
- 46137 - Handle odd files with a ContinueRecord after EOFRecord(POI-DEVELOPERS)
- Fixed problem with linking shared formulas when ranges overlap(POI-DEVELOPERS)
- 45784 - More fixes to SeriesTextRecord(POI-DEVELOPERS)
- 46033 - fixed TableCell to correctly set text type(POI-DEVELOPERS)
- 46122 - fixed Picture.draw to skip rendering if picture data was not found(POI-DEVELOPERS)
- 15716 - memory usage optimisation - converted Ptg arrays into Formula objects(POI-DEVELOPERS)
- 46065 - added implementation for VALUE function(POI-DEVELOPERS)
- 45966 - added implementation for FIND function(POI-DEVELOPERS)
- 45778 - fixed ObjRecord to read ftLbsData properly(POI-DEVELOPERS)
- 46053 - fixed evaluation cache dependency analysis when changing blank cells(POI-DEVELOPERS)

### Version 3.5-beta3 (2008-09-26)

- 45518 - Fix up ColumnHelper to output valid col tags, by making 1 based and 0 based bits clearer, and using the right ones(POI-DEVELOPERS)
- 45676 - Handle very long cells in the XSSF EventUserModel example(POI-DEVELOPERS)
- Initial ExtractorFactory support for building TextExtractors for embeded documents(POI-DEVELOPERS)

### Version 3.5-beta2 (2008-08-20)

- Support stripping XSSF header and footer fields (eg page number) out of header and footer text if required(POI-DEVELOPERS)
- Add POIXMLPropertiesTextExtractor, which provides to the OOXML file formats a similar function to HPSF's HPSFPropertiesExtractor(POI-DEVELOPERS)
- 45539 - Improve XWPFWordExtractor to extract headers and footers(POI-DEVELOPERS)
- Improve how XWPF handles paragraph text(POI-DEVELOPERS)
- Support in XWPF handles headers and footers(POI-DEVELOPERS)
- 45592 - Improve XWPF text extraction to include tables always, and picture text where possible(POI-DEVELOPERS)
- 45545 - Improve XSLF usermodel support, and include XSLF comments in extracted text(POI-DEVELOPERS)
- 45540 - Fix XSSF header and footer support, and include headers and footers in the output of XSSFExcelExtractor(POI-DEVELOPERS)
- 45431 - Support for .xlsm files, sufficient for simple files to be loaded by excel without warning(POI-DEVELOPERS)
- New class org.apache.poi.hssf.record.RecordFormatException, which DDF uses instead of the HSSF version, and the HSSF version inherits from(POI-DEVELOPERS)
- 45431 - Partial support for .xlm files. Not quite enough for excel to load them though(POI-DEVELOPERS)
- 45430 - Correct named range sheet reporting when no local sheet id is given in the xml(POI-DEVELOPERS)

### Version 3.5-beta1 (2008-07-18)

- 45018 - Support for fetching embeded documents from within an OOXML file(POI-DEVELOPERS)
- Port support for setting a policy on missing / blank cells when fetching, to XSSF too(POI-DEVELOPERS)
- Common text extraction factory, which returns the correct POITextExtractor for the supplied data(POI-DEVELOPERS)
- Text Extraction support for the new OOXML files (.xlsx, .docx and .pptx)(POI-DEVELOPERS)
- Initial support for processing OOXML Excel files (.xlsx), both directly through XSSF, and also through the new common UserModel(POI-DEVELOPERS)
- Created a common interface for handling PowerPoint files, irrespective of if they are .ppt or .pptx(POI-DEVELOPERS)
- Created a common interface for handling Excel files, irrespective of if they are .xls or .xlsx(POI-DEVELOPERS)

### Version 3.2-FINAL (2008-10-19)

- 45866 - allowed for change of unicode compression across Continue records(POI-DEVELOPERS)
- 45964 - support for link formulas in Text Objects(POI-DEVELOPERS)
- 43354 - support for evalating formulas with missing args(POI-DEVELOPERS)
- 45912 - fixed ArrayIndexOutOfBoundsException in EmbeddedObjectRefSubRecord(POI-DEVELOPERS)
- 45889 - fixed ArrayIndexOutOfBoundsException when constructing HSLF Table with a single row (POI-DEVELOPERS)
- Initial support for creating hyperlinks in HSLF(POI-DEVELOPERS)
- 45876 - fixed BoundSheetRecord to allow sheet names longer than 31 chars(POI-DEVELOPERS)
- 45890 - fixed HSSFSheet.shiftRows to also update conditional formats(POI-DEVELOPERS)
- 45865 modified Formula Parser/Evaluator to handle cross-worksheet formulas(POI-DEVELOPERS)
- Optimised the FormulaEvaluator to take cell dependencies into account(POI-DEVELOPERS)
- 16936 - Initial support for whole-row cell styling(POI-DEVELOPERS)
- Update hssf.extractor.ExcelExtractor to optionally output blank cells too(POI-DEVELOPERS)
- Include the sheet name in the output of examples.XLS2CSVmra(POI-DEVELOPERS)
- 45784 - Support long chart titles in SeriesTextRecords(POI-DEVELOPERS)
- 45777 - Throw an exception if HSSF Footer or Header is attemped to be set too long, rather than having it break during writing out(POI-DEVELOPERS)
- 45844 - Addtional diagnostics for HSLF SlideShowRecordDumper(POI-DEVELOPERS)
- 45829 - HSSFPicture.getImageDimension() failed when DPI of image is zero(POI-DEVELOPERS)
- 45815 - Bit mask values in StyleTextPropAtom were not preserved across read-write(POI-DEVELOPERS)
- 45814 - Specify RecordType for slide show Handout (4041)(POI-DEVELOPERS)
- 45805 - Fixed 16-bit signed/unsigned bug in HSSFSheet.getColWidth etc(POI-DEVELOPERS)
- 45780 - Fixed HSSFSheet.shiftRows to also update Area refs(POI-DEVELOPERS)
- 45804 - Update HSMF to handle Outlook 3.0 msg files, which have a different string chunk type(POI-DEVELOPERS)
- Expose the name of Named Cell Styles via HSSFCellStyle (normally held on the parent style though)(POI-DEVELOPERS)
- 45978 - Fixed IOOBE in Ref3DPtg.toFormulaString() due eager initialisation of SheetReferences(POI-DEVELOPERS)
- Made HSSFFormulaEvaluator no longer require initialisation with sheet or row(POI-DEVELOPERS)
- Extended support for cached results of formula cells(POI-DEVELOPERS)
- 45639 - Fixed AIOOBE due to bad index logic in ColumnInfoRecordsAggregate(POI-DEVELOPERS)
- Fixed special cases of INDEX function (single column/single row, errors)(POI-DEVELOPERS)
- 45761 - Support for Very Hidden excel sheets in HSSF(POI-DEVELOPERS)
- 45738 - Initial HWPF support for Office Art Shapes(POI-DEVELOPERS)
- 45720 - Fixed HSSFWorkbook.cloneSheet to correctly clone sheets with drawings(POI-DEVELOPERS)
- 45728 - Fix for SlideShow.reorderSlide in HSLF(POI-DEVELOPERS)
- Initial support for embedded movies and controls in HSLF(POI-DEVELOPERS)
- 45358 - signed/unsigned error when parsing 3-d area refs, performance problem evaluating area refs, and ClassCastExcecption in IF()(POI-DEVELOPERS)
- Support for HPBF Publisher hyperlinks, including during text extraction(POI-DEVELOPERS)
- 26321 and 44958 - preserve position of ArrayRecords and TableRecords among cell value records(POI-DEVELOPERS)
- Impove empty header or footer handling in HWPF HeaderStories(POI-DEVELOPERS)
- Avoid NPE in hssf.usermodel.HeaderFooter when stripping fields out(POI-DEVELOPERS)
- Avoid NPE in EscherBSERecord on older escher records(POI-DEVELOPERS)
- Basic text extractraction support in HPBF(POI-DEVELOPERS)
- Initial, low level support for Publisher files, in the form of HPBF(POI-DEVELOPERS)
- 45699 - Fix RowRecordsAggregate to tolerate intervening MERGEDCELLS records(POI-DEVELOPERS)
- 45698 - Fix LinkTable to tolerate multiple EXTERNSHEET records(POI-DEVELOPERS)
- 45682 - Fix for cloning of CFRecordsAggregate(POI-DEVELOPERS)
- Initial support for evaluating external add-in functions like YEARFRAC(POI-DEVELOPERS)
- 45672 - Fix for MissingRecordAwareHSSFListener to prevent multiple LastCellOfRowDummyRecords when shared formulas are present(POI-DEVELOPERS)
- 45645 - Fix for HSSFSheet.autoSizeColumn() for widths exceeding Short.MAX_VALUE(POI-DEVELOPERS)
- 45623 - Support for additional HSSF header and footer fields, including bold and full file path(POI-DEVELOPERS)
- 45623 - Support stripping HSSF header and footer fields (eg page number) out of header and footer text if required(POI-DEVELOPERS)
- 45622 - Support stripping HWPF fields (eg macros) out of text, via Range.stripFields(text)(POI-DEVELOPERS)
- New HPSF based TextExtractor for document metadata, org.apache.poi.hpsf.extractor.HPSFPropertiesExtractor(POI-DEVELOPERS)
- Properly update the array of Slide's text runs in HSLF when new text shapes are added(POI-DEVELOPERS)
- 45590 - Fix for Header/footer extraction for .ppt files saved in Office 2007(POI-DEVELOPERS)
- Big improvement in how HWPF handles unicode text, and more sanity checking of text ranges within HWPF(POI-DEVELOPERS)
- Include headers and footers int he extracted text from HWPF's WordExtractor(POI-DEVELOPERS)
- Added support to HWPF for headers and footers(POI-DEVELOPERS)
- Improve how HWPF deals with unicode internally. Should avoid some odd behaviour when manipulating unicode text(POI-DEVELOPERS)
- 45577 - Added implementations for Excel functions NOW and TODAY(POI-DEVELOPERS)
- 45582 - Fix for workbook streams with extra bytes trailing the EOFRecord(POI-DEVELOPERS)
- 45537 - Include headers and footers (of slides and notes) in the extracted text from HSLF(POI-DEVELOPERS)
- 45472 - Fixed incorrect default row height in OpenOffice 2.3(POI-DEVELOPERS)
- 44692 - HSSFPicture.resize() stretched image when there was a text next to it(POI-DEVELOPERS)
- 45543 - Optionally extract comment text with PowerPointExtractor, and initial hslf model support for comments(POI-DEVELOPERS)
- 45538 - Include excel headers and footers in the output of ExcelExtractor(POI-DEVELOPERS)
- 44894 - refactor duplicate logic from EventRecordFactory to RecordFactory(POI-DEVELOPERS)
- Support for Headers / Footers in HSLF(POI-DEVELOPERS)
- 44953 - Extensive fixes for data validation(POI-DEVELOPERS)
- 45519 - Fixed to keep datavalidation records together(POI-DEVELOPERS)
- Support for creating new HSLF CurrentUserAtoms(POI-DEVELOPERS)
- 45466 - Partial support for removing excel comments (won't work for all excel versions yet)(POI-DEVELOPERS)
- 45437 - Detect encrypted word documents, and throw an EncryptedDocumentException instead of a OOM(POI-DEVELOPERS)
- 45404 - New class, hssf.usermodel.HSSFDataFormatter, for formatting numbers and dates in the same way that Excel does(POI-DEVELOPERS)
- 45414 - Don't add too many UncalcedRecords to sheets with charts in them(POI-DEVELOPERS)
- 45398 - Support detecting date formats containing "am/pm" as date times(POI-DEVELOPERS)
- 45410 - Removed dependency from contrib on commons beanutils,collections and lang(POI-DEVELOPERS)
- New helper, HSSFOptimiser, which handles removing duplicated font and style records, to avoid going over the limits in Excel(POI-DEVELOPERS)
- 45322 - Fixed NPE in HSSFSheet.autoSizeColumn() when cell number format was not found(POI-DEVELOPERS)
- 45380 - Missing return keyword in ArrayPtg.toFormulaString()(POI-DEVELOPERS)
- 44958 - Record level support for Data Tables. (No formula parser support though)(POI-DEVELOPERS)
- 35583 - Include a version class, org.apache.poi.Version, to allow easy introspection of the POI version(POI-DEVELOPERS)
- Allow the cloning of one HSSFCellStyle onto another, including cloning styles from one HSSFWorkbook onto another(POI-DEVELOPERS)
- 45289 - finished support for special comparison operators in COUNTIF(POI-DEVELOPERS)
- 45126 - Avoid generating multiple NamedRanges with the same name, which Excel dislikes(POI-DEVELOPERS)
- Fix cell.getRichStringCellValue() for formula cells with string results(POI-DEVELOPERS)
- 45365 - Handle more excel number formatting rules in FormatTrackingHSSFListener / XLS2CSVmra(POI-DEVELOPERS)
- 45373 - Improve the performance of HSSFSheet.shiftRows(POI-DEVELOPERS)
- 45367 - Fixed bug when last row removed from sheet is row zero(POI-DEVELOPERS)
- 45348 - Tweaks to RVA formula logic(POI-DEVELOPERS)
- 45354 - Fixed recognition of named ranges within formulas(POI-DEVELOPERS)
- 45338 - Fix HSSFWorkbook to give you the same HSSFFont every time, and then fix it to find newly added fonts(POI-DEVELOPERS)
- 45336 - Fix HSSFColor.getTripletHash()(POI-DEVELOPERS)
- 45334 - Fixed formula parser to handle dots in identifiers(POI-DEVELOPERS)
- 45252 - Improvement for HWPF Range.replaceText()(POI-DEVELOPERS)
- 45001 - Further fix for HWPF Range.delete() and unicode characters(POI-DEVELOPERS)
- 45175 - Support for variable length operands in org.apache.poi.hwpf.sprm.SprmOperation(POI-DEVELOPERS)
- Avoid spurious missing lines with the MissingRecordAware event code, and odd files that contain RowRecords in the middle of the cell Records.(POI-DEVELOPERS)
- Support for parsing formulas during EventUserModel processing, via the new EventWorkbookBuilder(POI-DEVELOPERS)

### Version 3.1-final (2008-06-29)

- 30978 - Fixed re-serialization of tRefErr3d and tAreaErr3d(POI-DEVELOPERS)
- 45234 - Removed incorrect shared formula conversion in CFRuleRecord(POI-DEVELOPERS)
- 45001 - Improved HWPF Range.replaceText()(POI-DEVELOPERS)
- 44692 - Fixed HSSFPicture.resize() to properly resize pictures if the underlying columns/rows have modified size(POI-DEVELOPERS)
- Support custom image renderers in HSLF(POI-DEVELOPERS)
- Correctly increment the reference count of a blip when a picture is inserted(POI-DEVELOPERS)
- 45110 - Fixed TextShape.resizeToFitText() to properly resize TextShape(POI-DEVELOPERS)
- 45091 - Fixed serialization of RefN~ tokens. Simplified Ptg class hierarchy(POI-DEVELOPERS)
- 45133 - Fixed OBJ Record (5Dh) to pad the sub-record data to a 4-byte boundary(POI-DEVELOPERS)
- 45145 - Fixed Sheet to always enforce RowRecordsAggregate before ValueRecordsAggregate(POI-DEVELOPERS)
- 45123 - Fixed SharedFormulaRecord.convertSharedFormulas() to propagate token operand classes(POI-DEVELOPERS)
- 45087 - Correctly detect date formats like [Black]YYYY as being date based(POI-DEVELOPERS)
- 45060 - Improved token class transformation during formula parsing(POI-DEVELOPERS)
- 44840 - Improved handling of HSSFObjectData, especially for entries with data held not in POIFS(POI-DEVELOPERS)
- 45043 - Support for getting excel cell comments when extracting text(POI-DEVELOPERS)
- 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(POI-DEVELOPERS)
- 45025 - improved FormulaParser parse error messages(POI-DEVELOPERS)
- 45046 - allowed EXTERNALBOOK(0x01AE) to be optional in the LinkTable(POI-DEVELOPERS)
- 45066 - fixed sheet encoding size mismatch problems(POI-DEVELOPERS)
- 45003 - Support embeded HDGF visio documents(POI-DEVELOPERS)
- 45001 - Partial fix for HWPF Range.insertBefore() and Range.delete() with unicode characters(POI-DEVELOPERS)
- 44977 - Support for AM/PM in excel date formats(POI-DEVELOPERS)
- Support for specifying a policy to HSSF on missing / blank cells when fetching(POI-DEVELOPERS)
- 44937 - Partial support for extracting Escher images from HWPF files(POI-DEVELOPERS)
- 44824 - Avoid an infinite loop when reading some HWPF pictures(POI-DEVELOPERS)
- 44898 - Correctly handle short last blocks in POIFS(POI-DEVELOPERS)

### Version 3.1-beta2 (2008-05-26)

- 44306 - fixed reading/writing of AttrPtg(type=choose) and method toFormulaString() for CHOOSE formulas(POI-DEVELOPERS)
- 24207 - added HSSFName.isDeleted() to check if the name points to cell that no longer exists(POI-DEVELOPERS)
- 40414 - fixed selected/active sheet after removing sheet from workbook(POI-DEVELOPERS)
- 44523 - fixed workbook sheet selection and focus(POI-DEVELOPERS)
- 45000 - Fixed NPE in ListLevel when numberText is null(POI-DEVELOPERS)
- 44985 - Properly update TextSpecInfoAtom when the parent text is changed(POI-DEVELOPERS)
- 41187 - fixed HSSFSheet to properly read xls files without ROW records(POI-DEVELOPERS)
- 44950 - fixed HSSFFormulaEvaluator.evaluateInCell() and Area3DEval.getValue() also added validation for number of elements in AreaEvals(POI-DEVELOPERS)
- 42570 - fixed LabelRecord to use empty string instead of null when the length is zero.(POI-DEVELOPERS)
- 42564 - fixed ArrayPtg to use ConstantValueParser. Fixed a few other ArrayPtg encoding issues.(POI-DEVELOPERS)
- Follow-on from 28754 - StringPtg.toFormulaString() should escape double quotes(POI-DEVELOPERS)
- 44929 - Improved error handling in HSSFWorkbook when attempting to read a BIFF5 file(POI-DEVELOPERS)
- 44675 - Parameter operand classes (function metadata) required to encode SUM() etc properly. Added parse validation for number of parameters(POI-DEVELOPERS)
- 44921 - allow Ptg.writeBytes() to be called on relative ref Ptgs (RefN* and AreaN*)(POI-DEVELOPERS)
- 44914 - Fix/suppress warning message "WARN. Unread n bytes of record 0xNN"(POI-DEVELOPERS)
- 44892 - made HSSFWorkbook.getSheet(String) case insensitive(POI-DEVELOPERS)
- 44886] - Correctly process PICT metafile in EscherMetafileBlip(POI-DEVELOPERS)
- 44893 - Take into account indentation in HSSFSheet.autoSizeColumn(POI-DEVELOPERS)

### Version 3.1-beta1 (2008-04-28)

- 44857 - Avoid OOM on unknown escher records when EscherMetafileBlip is incorrect(POI-DEVELOPERS)
- HSLF: Support for getting embedded sounds from slide show (POI-DEVELOPERS)
- HSLF: Initial support for rendering slides into images(POI-DEVELOPERS)
- HSLF: Support for getting OLE object data from slide show (POI-DEVELOPERS)
- HSLF: Implemented more methods in PPGraphics2D(POI-DEVELOPERS)
- HSLF: Added Freeform shape which can contain both lines and Bezier curves(POI-DEVELOPERS)
- 41071 - Improved text extraction in HSLF(POI-DEVELOPERS)
- 30311 - Conditional Formatting - improved API, added HSSFSheetConditionalFormatting(POI-DEVELOPERS)
- 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(POI-DEVELOPERS)
- Fix the logger used by POIFSFileSystem, so that commons-logging isn't required when not used(POI-DEVELOPERS)
- Update HSLFSlideShow and HSSFWorkbook to take advantage of POIFS updates, and allow reading embeded documents(POI-DEVELOPERS)
- Improve how POIFS works with directory entries, and update HWPFDocument to support reading an embeded word document(POI-DEVELOPERS)
- Initial support for getting and changing chart and series titles(POI-DEVELOPERS)
- 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(POI-DEVELOPERS)
- 44792 - fixed encode/decode problems in ExternalNameRecord and CRNRecord.(POI-DEVELOPERS)
- 43670, 44501 - Fix how HDGF deals with trailing data in the list of chunk headers(POI-DEVELOPERS)
- 30311 - More work on Conditional Formatting(POI-DEVELOPERS)
- refactored all junits' usage of HSSF.testdata.path to one place(POI-DEVELOPERS)
- 44739 - Small fixes for conditional formatting (regions with max row/col index)(POI-DEVELOPERS)
- 44694 - HPSF: Support for property sets without sections(RK)
- Implement Sheet.removeShape(Shape shape) in HSLF(POI-DEVELOPERS)
- Various fixes: Recognising var-arg built-in functions #44675, ExternalNameRecord serialisation bug #44695, PMT() bug #44691(POI-DEVELOPERS)
- 30311 - More work on Conditional Formatting(POI-DEVELOPERS)
- Move the Formula Evaluator code out of scratchpad(POI-DEVELOPERS)
- Move the missing record aware eventusermodel code out of scratchpad(POI-DEVELOPERS)
- 44652 / 44603 - Improved handling of Pictures in Word Documents(POI-DEVELOPERS)
- 44636 - Fix formula parsing of RefVPtg, which was causing #VALUE to be shown on subsequent edits(POI-DEVELOPERS)
- 44627 - Improve the thread safety of POILogFactory(POI-DEVELOPERS)
- 30311 - Initial support for Conditional Formatting(POI-DEVELOPERS)
- 44609 - Handle leading spaces in formulas, such as '= 4'(POI-DEVELOPERS)
- 44608 - Support for PercentPtg in the formula evaluator(POI-DEVELOPERS)
- 44606 - Support calculated string values for evaluated formulas(POI-DEVELOPERS)
- Add accessors to horizontal and vertical alignment in HSSFTextbox(POI-DEVELOPERS)
- 44593 - Improved handling of short DVRecords(POI-DEVELOPERS)
- 28627 / 44580 - Fix Range.delete() in HWPF(POI-DEVELOPERS)
- 44539 - Support for area references in formulas of rows >= 32768(POI-DEVELOPERS)
- 44536 - Improved support for detecting read-only recommended files(POI-DEVELOPERS)
- 43901 - Correctly update the internal last cell number when adding and removing cells (previously sometimes off-by-one)(POI-DEVELOPERS)
- 44504 - Added initial support for recognising external functions like YEARFRAC and ISEVEN (using NameXPtg), via LinkTable support(POI-DEVELOPERS)
- 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(POI-DEVELOPERS)
- 44504 - Fixed number conversion inconsistencies in many functions, and improved RefEval(POI-DEVELOPERS)
- 44504 - Added initial support for recognising external functions like YEARFRAC and ISEVEN (using NameXPtg), via LinkTable support(POI-DEVELOPERS)
- 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(POI-DEVELOPERS)
- 44504 - Fixed number conversion inconsistencies in many functions, and improved RefEval(POI-DEVELOPERS)
- 44508 - Fix formula evaluation with evaluateInCell on boolean formulas(POI-DEVELOPERS)
- 44510 - Fix how DVALRecord works with dropdowns(POI-DEVELOPERS)
- 44495 - Handle named cell ranges in formulas that have lower case parts(POI-DEVELOPERS)
- 44491 - Don't have the new-style "HPSF properties are always available" affect the old-style use of HPSF alongside HSSF(POI-DEVELOPERS)
- 44471 - Crystal Reports generates files with short StyleRecords, which isn't allowed in the spec. Work around this(POI-DEVELOPERS)
- 44495 - Handle named cell ranges in formulas that have lower case parts(POI-DEVELOPERS)
- 44491 - Don't have the new-style "HPSF properties are always available" affect the old-style use of HPSF alongside HSSF(POI-DEVELOPERS)
- 44471 - Crystal Reports generates files with short StyleRecords, which isn't allowed in the spec. Work around this(POI-DEVELOPERS)
- 44450 - Support for Lookup, HLookup and VLookup functions(POI-DEVELOPERS)
- 44449 - Avoid getting confused when two sheets have shared formulas for the same areas, and when the shared formula is set incorrectly(POI-DEVELOPERS)
- 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(POI-DEVELOPERS)
- 44371 - Support for the Offset function(POI-DEVELOPERS)
- 38921 - Have HSSFPalette.findSimilar() work properly(POI-DEVELOPERS)
- 44456 - Fix the contrib SViewer / SViewerPanel to not fail on sheets with missing rows(POI-DEVELOPERS)
- 44403 - Further support for unusual, but valid, arguments to the Mid function(POI-DEVELOPERS)
- 44410 - Support for whole-column ranges, such as C:C, in formula strings and the formula evaluator(POI-DEVELOPERS)
- 44421 - Update Match function to properly support Area references(POI-DEVELOPERS)
- 44417 - Improved handling of references for the need to quote the sheet name for some formulas, but not when fetching a sheet by name(POI-DEVELOPERS)
- 44413 - Fix for circular references in INDEX, OFFSET, VLOOKUP formulas, where a cell is actually allowed to reference itself(POI-DEVELOPERS)
- 44403 - Fix for Mid function handling its arguments wrong(POI-DEVELOPERS)
- 44364 - Support for Match, NA and SumProduct functions, as well as initial function error support(POI-DEVELOPERS)
- 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.(POI-DEVELOPERS)
- 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)(POI-DEVELOPERS)
- 44373 - Have HSSFDateUtil.isADateFormat recognize more formats as being dates(POI-DEVELOPERS)
- 37923 - Support for Excel hyperlinks(POI-DEVELOPERS)
- Implement hashCode() and equals(obj) on HSSFFont and HSSFCellStyle(POI-DEVELOPERS)
- 44345 - Implement CountA, CountIf, Index, Rows and Columns functions(POI-DEVELOPERS)
- 44336 - Properly escape sheet names as required when figuring out the text of formulas(POI-DEVELOPERS)
- 44326 - Improvements to how SystemOutLogger and CommonsLogger log messages with exceptions, and avoid an infinite loop with certain log messages with exceptions(POI-DEVELOPERS)
- 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(POI-DEVELOPERS)

### Version 3.0.2-FINAL (2008-02-04)

- 44297 - IntPtg must operate with unsigned short. Reading signed short results in incorrect formula calculation(POI-DEVELOPERS)
- 44296 - Fix for reading slide background images(POI-DEVELOPERS)
- 44293 - Avoid swapping AreaPtgs from relative to absolute(POI-DEVELOPERS)
- 44292 - Correctly process the last paragraph in a word file(POI-DEVELOPERS)
- 44254 - Avoid some unread byte warnings, and properly understand DVALRecord(POI-DEVELOPERS)
- Add another formula evaluation method, evaluateFormulaCell(cell), which will re-calculate the value for a formula, without affecting the formula itself.(POI-DEVELOPERS)
- 41726 - Fix how we handle signed cell offsets in relative areas and references(POI-DEVELOPERS)
- 44233 - Support for getting and setting a flag on the sheet, which tells excel to re-calculate all formulas on it at next reload(POI-DEVELOPERS)
- 44201 - Enable cloning of sheets with data validation rules(POI-DEVELOPERS)
- 44200 - Enable cloning of sheets with notes(POI-DEVELOPERS)
- 43008 - Add a moveCell method to HSSFRow, and deprecate setCellNum(), which didn't update things properly(POI-DEVELOPERS)
- 43058 - Support setting row grouping on files from CR IX, which lack GutsRecords(POI-DEVELOPERS)
- 31795 - Support cloning of sheets with certain drawing objects on them(POI-DEVELOPERS)
- 43902 - Don't consider merged regions when auto-sizing columns(POI-DEVELOPERS)
- 42464 - Avoid "Expected ExpPtg to be converted from Shared to Non-Shared Formula" on large, formula heavy worksheets(POI-DEVELOPERS)
- 42033 - Add support for named ranges with unicode names(POI-DEVELOPERS)
- 34023 - When shifting rows, update formulas on that sheet to point to the new location of those rows(POI-DEVELOPERS)
- Support getting all the cells referenced by an AreaReference, not just the corner ones(POI-DEVELOPERS)
- 43510 - Add support for named ranges in formulas, including non-contiguous named ranges(POI-DEVELOPERS)
- 43937 - Add support for hiding and un-hiding sheets, and checking their current hidden status(POI-DEVELOPERS)
- 44167 - Fix for non-contiguous named ranges(POI-DEVELOPERS)
- 44070 - Fix for shifting comments when shifting rows(POI-DEVELOPERS)

### Version 3.0.2-BETA2 (2008-01-12)

- Support for tables in HSLF(POI-DEVELOPERS)
- 43781 - Fix for extracting text from TextBoxes HSLF in(POI-DEVELOPERS)
- Improve JavaDocs relating to hssf font and fill colourings(POI-DEVELOPERS)
- 44095, 44097, 44099 - [PATCH] Support for Mid, Replace and Substitute excel functions(POI-DEVELOPERS)
- 44055 - [PATCH] Support for getting the from field from HSMF messages(POI-DEVELOPERS)
- 43551 - [PATCH] Support for 1904 date windowing in HSSF (previously only supported 1900 date windowing)(POI-DEVELOPERS)
- 41064 - [PATCH] Support for String continue records(POI-DEVELOPERS)
- 27511 - [PATCH] Support for data validation, via DVRecord and DVALRecord(POI-DEVELOPERS)

### Version 3.0.2-BETA1 (2007-12-04)

- 43877 - Fix for handling mixed OBJ and CONTINUE records(POI-DEVELOPERS)
- 39512 - Fix for handling mixed OBJ and CONTINUE records(POI-DEVELOPERS)
- 43837 - [PATCH] Support for unicode NameRecords(POI-DEVELOPERS)
- 43807 - Throw an IllegalArgumentException if asked to create a merged region with invalid columns or rows, rather than writing out a corrupt file(POI-DEVELOPERS)
- 43837 - [PATCH] Support for unicode NameRecords(POI-DEVELOPERS)
- 43721 - [PATCH] Support for Chart Title Format records(POI-DEVELOPERS)
- 42794 - [PATCH] Fix for BOF records from things like Access(POI-DEVELOPERS)
- 43648 - Fix for IntPtg and short vs int(POI-DEVELOPERS)
- 43751 - [PATCH] - Fix for handling rotated text in HSSFSheet.autoSizeColumn(POI-DEVELOPERS)
- Include an Excel text extractor, and put all existing text extractors under a common superclass(POI-DEVELOPERS)
- Improvements to the LZW compression engine used by HDGF(POI-DEVELOPERS)
- HSSFPicture.resize() - a handy method to reset a picture to its original width and height(POI-DEVELOPERS)
- Add a getSheetIndex(HSSFSheet) method to HSSFWorkbook, and allow a HSSFSheet to get at its parent HSSFWorkbook(POI-DEVELOPERS)
- Move POIDocument out of Scratchpad, and update HSSFWorkbook to use it(POI-DEVELOPERS)
- 43399 - [PATCH] - Fix for Cell References for rows > 32678(POI-DEVELOPERS)
- 43410 - [PATCH] - Improved Formula Parser support for numbers and ranges(POI-DEVELOPERS)
- When writing HSLF files out, optionally preserve all OLE2 nodes (default is just the HSLF related nodes)(POI-DEVELOPERS)
- 43323 - [PATCH] - Support for adding Pictures to ShapeGroups in HSLF.(POI-DEVELOPERS)
- 43222 - [PATCH] - Support for getting OLE object data from HSSFWorkbook.(POI-DEVELOPERS)
- 43247 - [PATCH] - Support for getting OLE object data from slideshows.(POI-DEVELOPERS)
- 43125 - [PATCH] - Support for reading EMF, WMF and PICT images via HSSFWorkbook.getAllPictures()(POI-DEVELOPERS)
- 43088 - [PATCH] - Fix for reading files with long cell comments and text boxes(POI-DEVELOPERS)
- 42844 - [PATCH] - Fix for the EventUserModel and records that aren't immediately followed by their ContinueRecords(POI-DEVELOPERS)
- 43055 - [PATCH] - Fix for saving Crystal Reports xls files when preserving nodes(POI-DEVELOPERS)
- 43116 - [PATCH] - Fix for Escher layer handling of embeded OLE2 documents(POI-DEVELOPERS)
- 43108 - [PATCH] - Where permissions deny fetching System Properties, use sensible defaults(POI-DEVELOPERS)
- 43093 - [PATCH] - Fix formula evaluator support for Area3D references to other sheets(POI-DEVELOPERS)
- Improvements to HSSFDateUtils.isADateFormat, and have HSSFDateUtil.isCellDateFormatted use this(POI-DEVELOPERS)
- 42999 - [PATCH] - Fix for HSSFPatriarch positioning problems(POI-DEVELOPERS)
- Support for write-protecting a HSSF workbook(POI-DEVELOPERS)
- Support for querying, setting and un-setting protection on sheets in a HSSF workbook(POI-DEVELOPERS)
- Initial HSMF (outlook) support(POI-DEVELOPERS)
- Tidy up the javadocs(POI-DEVELOPERS)

### Version 3.0.1-FINAL (2007-07-05)

- Administrative updates to the Maven POMs, and the release artificat build process(POI-DEVELOPERS)
- 23951 - [PATCH] Fix for HSSF setSheetOrder and tab names(POI-DEVELOPERS)
- 42524 - [PATCH] Better HSLF support for problem shape groups(POI-DEVELOPERS)
- 42520 - [PATCH] Better HSLF support for corrupt picture records(POI-DEVELOPERS)
- Initial support for a "missing record aware" HSSF event model(POI-DEVELOPERS)
- Additional HSLF support for Title and Slide Master Sheets(POI-DEVELOPERS)
- 42474 - [PATCH] Improved HSLF note to slide matching, and a NPE(POI-DEVELOPERS)
- 42481 - [PATCH] Tweak some HSLF exceptions, to make it clearer what you're catching(POI-DEVELOPERS)
- 42667 - [PATCH] Fix for HSLF writing of files with tables(POI-DEVELOPERS)
- Improved way of detecting HSSF cells that contain dates, isADateFormat(POI-DEVELOPERS)
- Initial, read-only support for Visio documents, as HDGF(POI-DEVELOPERS)

### Version 3.0-FINAL (2007-05-18)

- 39977 - [PATCH] Fix POM for Maven users(POI-DEVELOPERS)
- 38976 - [PATCH] Add createPicture to HSSFShapeGroup(POI-DEVELOPERS)
- Detect Office 2007 XML documents, and throw a meaningful exception(POI-DEVELOPERS)
- Additional HSLF support for PowerPoint(POI-DEVELOPERS)
- Initial support for HWPF image extraction(POI-DEVELOPERS)

### Version 3.0-alpha3 (2006-12-12)

- Additional HSLF support for PowerPoint(POI-DEVELOPERS)

### Version 3.0-alpha2 (2006-06-16)

- HSSF Formula support(POI-DEVELOPERS)
- Additional HSLF support for PowerPoint(POI-DEVELOPERS)
- 39389 - [PATCH] Extended Ascii support for WingDings(POI-DEVELOPERS)

### Version 3.0-alpha1 (2005-06-04)

- Bugzilla Bug 29976 [PATCH] HSSF hyperlink formula size problem(POI-DEVELOPERS)
- Image writing support(POI-DEVELOPERS)
- 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(NB)

### Version 2.5.1-FINAL (2004-02-29)

- Outlining support(POI-DEVELOPERS)
- 27574 - [PATCH] HSSFDateUtil.getExcelDate() is one hour off when DST changes(POI-DEVELOPERS)
- 26465 - [PATCH] wrong lastrow entry(POI-DEVELOPERS)
- 28203 - [PATCH] Unable to open read-write excel file including forms(POI-DEVELOPERS)

### Version 2.5-FINAL (2004-02-29)

- Add support for the Escher file format(POI-DEVELOPERS)
- 27005 java.lang.IndexOutOfBoundsException during Workbook.cloneSheet()(POI-DEVELOPERS)

### Version 2.0-FINAL (2004-01-26)

- No changes(POI-DEVELOPERS)

### Version 2.0-RC2 (2004-01-11)

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

### Version 2.0-RC1 (2003-11-02)

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

### Version 2.0-pre3 (2003-07-29)

- 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.(POI-DEVELOPERS)
- Gridlines can now be turned on and off(POI-DEVELOPERS)
- NamePTG refactoring/fixes(POI-DEVELOPERS)
- minor fixes to ExternSheet and formula strings(POI-DEVELOPERS)
- Sheet comparisons now ignore case(POI-DEVELOPERS)

### Version 2.0-pre2 (2003-07-06)

- A nasty concurrency problem has been fixed. Any users working in a multithreaded environment should seriously consider upgrading to this release.(POI-DEVELOPERS)
- The EXTSST record has been implemented. This record is used by excel for optimized reading of strings.(POI-DEVELOPERS)
- 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.(POI-DEVELOPERS)
- There were some issues when removing merged regions (specifically, removing all of them and then adding some more) and have been resolved.(POI-DEVELOPERS)
- 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. (POI-DEVELOPERS)
- Support added for reading formulas with UnaryPlus and UnaryMinus operators.(POI-DEVELOPERS)

### Version 2.0-pre1 (2003-05-17)

- Patch applied for deep cloning of worksheets was provided(POI-DEVELOPERS)
- Patch applied to allow sheet reordering(POI-DEVELOPERS)
- Added additional print area setting methods using row/column numbers(POI-DEVELOPERS)
- HDF: Negative Array size fix(POI-DEVELOPERS)
- Added argument pointers to support the IF formula(POI-DEVELOPERS)
- Formulas: Added special character support for string literals, specifically for SUMIF formula support and addresses a bug as well(POI-DEVELOPERS)
- BlockingInputStream committed to help ensure reads(POI-DEVELOPERS)
- Fixed problem with NaN values differing from the investigated value from file reads in FormulaRecords(POI-DEVELOPERS)
- Patch for getColumnWidth in HSSF(POI-DEVELOPERS)
- Patch for dealing with mult-level numbered lists in HDF(POI-DEVELOPERS)
- Due to named reference work, several named-ranged bugs were closed(POI-DEVELOPERS)
- Patch applied to prevent sheet corruption after a template modification(POI-DEVELOPERS)
- Shared Formulas now Supported(POI-DEVELOPERS)
- Added GreaterEqual, LessEqual and NotEqual to Formula Parser(POI-DEVELOPERS)
- Added GreaterThan and LessThan functionality to formulas(POI-DEVELOPERS)
- Patches for i10n(POI-DEVELOPERS)
- POI Build System Updated(POI-DEVELOPERS)
- font names can now be null(POI-DEVELOPERS)

### Version 1.10-dev (2003-02-19)

- Support for zoom level(POI-DEVELOPERS)
- Freeze and split pane support(POI-DEVELOPERS)
- Row and column headers on printouts(POI-DEVELOPERS)

### Version 1.8-dev (2002-09-20)

- Custom Data Format Support(POI-DEVELOPERS)
- Enhanced Unicode Support for Russian and Japanese(POI-DEVELOPERS)
- Enhanced formula support including read-only for "optimized if" statements.(POI-DEVELOPERS)
- Support for cloning objects(POI-DEVELOPERS)
- Fixes for header/footer(POI-DEVELOPERS)
- Spanish Documentation translations(POI-DEVELOPERS)
- Support for preserving VBA macros(POI-DEVELOPERS)

### Version 1.7-dev (Release date not recorded)

- Removed runtime dependency on commons logging.(NKB)
- Formula support(POI-DEVELOPERS)

### Version 1.5.1 (2002-06-16)

- Removed depedency on commons logging. Now define poi.logging system property to enable logging to standard out.(GJS)
- Fixed SST string handling so that spreadsheets with rich text or extended text will be read correctly.(GJS)

### Version 1.5 (2002-05-06)

- New project build.(NKB)
- New project documentation system based on Cocoon.(NKB)
- Package rename(POI-DEVELOPERS)
- Various bug fixes(POI-DEVELOPERS)
- Early stages of HSF development (not ready for development)(POI-DEVELOPERS)
- Initial low level record support for charting (not complete)(POI-DEVELOPERS)

### Version 1.2.0 (2002-01-19)

- Changes not recorded.(POI-DEVELOPERS)

### Version 1.1.0 (2002-01-04)

- Created new event model(POI-DEVELOPERS)
- Optimizations made to HSSF including aggregate records for values, rows, etc.(POI-DEVELOPERS)
- predictive sizing, offset based writing (instead of lots of array copies)(POI-DEVELOPERS)
- minor re-factoring and bug fixes.(POI-DEVELOPERS)

### Version 1.0.2 (2002-01-11)

- Changes not recorded.(POI-DEVELOPERS)

### Version 1.0.1 (2002-01-04)

- Changes not recorded.(POI-DEVELOPERS)

### Version 1.0.0 (2001-12-30)

- Minor documentation updates.(POI-DEVELOPERS)

### Version 0.14.0 (2001-12-22)

- Added DataFormat helper class and exposed set and get format on HSSFCellStyle(POI-DEVELOPERS)
- Fixed column width apis (unit wise) and various javadoc on the subject(POI-DEVELOPERS)
- Fix for Dimensions record (again)... (one of these days I'll write a unit test for this ;-p).(POI-DEVELOPERS)
- Some optimization on sheet creation.(POI-DEVELOPERS)

### Version 0.13.0 (2001-12-16)

- Changes not recorded.(POI-DEVELOPERS)

### Version 0.12.0 (2001-12-12)

- Added MulBlank, Blank, ColInfo(POI-DEVELOPERS)
- Added log4j facility and removed all sys.out type logging(POI-DEVELOPERS)
- Added support for adding font's, styles and corresponding high level api for styling cells(POI-DEVELOPERS)
- added support for changing row height, cell width and default row height/cell width.(POI-DEVELOPERS)
- Added fixes for internationalization (UTF-16 should work now from HSSFCell.setStringValue, etc when the encoding is set)(POI-DEVELOPERS)
- added support for adding/removing and naming sheets.(POI-DEVELOPERS)

### Version 0.11.0 (2001-12-08)

- Bugfix release. We were throwing an exception when reading RKRecord objects.(POI-DEVELOPERS)

### Version 0.10.0 (2001-12-02)

- Got continuation records to work (read/write)(POI-DEVELOPERS)
- Added various pre-support for formulas(POI-DEVELOPERS)
- Massive API reorganization, repackaging.(POI-DEVELOPERS)
- BiffViewer class added for validating HSSF & POI and/or HSSF Output.(POI-DEVELOPERS)
- Better API support for modification.(POI-DEVELOPERS)

### Version 0.7 (and interim releases) (2001-11-17)

- Added encoding flag to high and low level api to use utf-16 when needed (HSSFCell.setEncoding())(POI-DEVELOPERS)
- added read only support for Label records (which are reinterpreted as LabelSST when written)(POI-DEVELOPERS)
- Broken continuation record implementation (oops)(POI-DEVELOPERS)
- BiffViewer class added for validating HSSF & POI and/or HSSF Output.(POI-DEVELOPERS)

### Version 0.6 (2001-11-11)

- Support for read/write and modify.(POI-DEVELOPERS)
- Read only support for MulRK records (converted to Number when writing) (POI-DEVELOPERS)

### Version 0.5 (2001-11-05)

- Changes not recorded.(POI-DEVELOPERS)

### Version 0.4 (2001-10-31)

- Changes not recorded.(POI-DEVELOPERS)

### Version 0.3 (2001-10-26)

- Changes not recorded.(POI-DEVELOPERS)

### Version 0.2 (2001-09-24)

- Changes not recorded.(POI-DEVELOPERS)

### Version 0.1 (2001-08-28)

- First ever public release(POI-DEVELOPERS)