History of Changes
Previous releases
The change log for POI 3.x and older releases can be found in the history section.
Version 5.4.1 (2025-??-??)
Summary
- Note: JDK 24 will change behavior of locale providers, some formatting might be different when upgrading
Changes
Type | Bug | Module | Description |
---|---|---|---|
![]() | 66425 | POI_Overall | Multiple fixes found by fuzzing Apache POI via oss-fuzz |
![]() | 65190 | SS_Common | Handle decimal format '0#' the same way as Excel |
![]() | 57603 | HWPF | Fix reading/writing of documents with many columns |
![]() | 69315 | HSMF | Continue processing properties after multivalued properties |
![]() | 69529 | XSSF | Streamed reading: Log failures to format formulas and numbers instead of stopping processing. |
Version 5.4.0 (2025-01-08)
Summary
- Add support for SOURCE_DATE_EPOCH to allow to create reproducible binary files without creation/modification-timestamp being set
- Breaking change: Some invalid content in the compressed file-formats for xlsx/docx/pptx/... now fail parsing to prevent handling malicious input incorrectly
- Upgrade ant dependency to 1.10.15
- Upgrade batik dependency to 1.18
- Upgrade commons-codec dependency to 1.17.1
- Upgrade commons-compress dependency to 1.27.1
- Upgrade commons-io dependency to 2.18.0
- Upgrade log4j-api dependency to 2.24.3 and add log4j-bom dependency
- Upgrade pdfbox dependency to 3.0.3
- Upgrade xmlbeans dependency to 5.3.0
- Upgrade xmlsec dependency to 3.0.5
- Upgrade JaCoCo code-coverage tooling to 0.8.12
Changes
Type | Bug | Module | Description |
---|---|---|---|
![]() | github-653 | HSSF | Adjust HSSFWorkbook.getSheet() to return the first case-insensitive match, similar to XSSF |
![]() | github-655 | XWPF | Fix searching text in paragraphs when text is spread across multiple runs |
![]() | github-657 | SXSSF | Support setting an arbitrary extra width value for column widths |
![]() | github-670 | XWPF | XWPFRun.getText should support delInstrText and noBreakHyphen |
![]() | github-672 | XWPF | Support removing XWPF Styles |
![]() | github-673 | OOXML | Add word10.xsd to poi-ooxml-full |
![]() | github-733 | SS_Common | Fix issue with param order in MIRR function evaluation |
![]() | 66590 | POIFS | Number of blocks used by the property table missing from the file header |
![]() | 69154 | XSSF | Shifting columns with merged regions generates an error about overlapping regions |
![]() | 69209 | SS_Common | default ignoreMissingFontSystem to true |
![]() | 69323 | POI_Overall | DefaultTempFileCreationStrategy should worry about OS deleting the temp dir |
![]() | 69411 | XSSF | add XSSFReader.getSheetIterator |
![]() | 69418 | SS_Common | Issue when evaluating WORKDAY function that has a cell ref as 2nd param |
Version 5.3.0 (2024-07-02)
Summary
- Upgrade log4j-api dependency to 2.23.1
- Upgrade commons-codec dependency to 1.17.0
- Upgrade commons-compress dependency to 1.26.2
- Upgrade commons-io dependency to 2.16.1
- Upgrade pdfbox dependency to 3.0.2 and graphics2d dependency to 3.0.2
- Upgrade xmlsec dependency to 3.0.4
- Upgrade bouncycastle dependency to 1.79
- Upgrade xmlbeans dependency to 5.2.1
Changes
Type | Bug | Module | Description |
---|---|---|---|
![]() | 63189 | OOXML | Add support for hyperlink based relationships which are stored separately from other relationships |
![]() | 68237 | SXSSF | Some boolean attribute values are written as true instead of 1 |
![]() | 68703 | XSLF | IllegalArgumentException: Unexpected color choice CTFontCollectionImpl when reading font color for a table cell |
![]() | 68778 | SXSSF | Fix issue in SXSSF when there are missing fonts |
![]() | 68183 | SXSSF | SXSSFWorkbook now removes temp files when closed - removing need for a separate dispose call |
![]() | 68987 | OOXML | Support allowStoredEntriesWithDataDescriptor=true when reading zip data |
![]() | 69147 | OOXML | Fix regression in date handling when evaluating TEXT function |
![]() | github-578 | SXSSF | Rework exception handling for missing fonts to make it more robust |
![]() | github-601 | XDGF | handle elliptical arcs that have colinear points |
![]() | github-604 | XDGF | Support for polylines |
![]() | github-607 | XWPF | Support SVGs in XWPF |
Version 5.2.5 (2023-11-25)
Summary
- Upgrade commons-io dependency to 2.15.0
- Upgrade commons-compress dependency to 1.25.0
- Upgrade log4j-api dependency to 2.21.1
- Upgrade xmlsec dependency to 3.0.3
- Upgrade bouncycastle dependency to 1.77
- Upgrade xmlbeans dependency to 5.2.0
Changes
Type | Bug | Module | Description |
---|---|---|---|
![]() | 67475 | SS_Common | Better support for edge cases in TEXT function |
![]() | 67510 | XDDF | Fix issue where chart axes were defaulting to have blank number formats - which recent versions of Excel treat as corrupted. |
![]() | 67735 | XWPF | Add Complex scripts support in XWPFRun |
![]() | 67579 | OOXML | POI 5.2.4 had a regression where it did not close user-provided InputStreams. In POI 5.2.5, user-provided InputStreams are again closed. There are new constructors that allow you to control whether the streams are closed. |
![]() | 67785 | XSSF | XSSFExcelExtractor does not format formula results like the streaming based extractor |
![]() | 68094 | XSSF | Improve cell width logic to avoid rounding issues |
![]() | github-505 | SL_Common | DrawTextFragment height should include leading space |
Version 5.2.4 (2023-09-28)
Summary
- Discontinued the binary packages to reduce maintenance overhead, please rebuild the sources locally or use Maven Central for binary files
- Upgrade log4j-api dependency to 2.20.0
- Upgrade xmlsec dependency to 3.0.2
- Upgrade batik dependency to 1.17
- Upgrade pdfbox dependency to 2.0.29, graphics2d to 0.43
- Upgrade commons-codec dependency to 1.16.0
- Upgrade commons-compress dependency to 1.24.0
- Upgrade commons-io dependency to 2.13.0
- Upgrade curvesapi dependency to 1.08
- Upgrade SparseBitSet dependency to 1.3
- Use jdk18on versions of bouncycastle jars (v1.76)
Changes
Type | Bug | Module | Description |
---|---|---|---|
![]() | 66598 | XSSF | Fix invalid loop-condition when cleaning up CTCells |
![]() | 47950 | POI_Overall | make stream/directory name lookup in OLE2 case insensitive |
![]() | 66521 | POI_Overall | Provide a utility to clear all thread-locals to avoid reports of memory-leaks in web-application containers |
![]() | 66436 | POI_Overall | Fix handling padding when decrypting data |
![]() | 54373 | XSSF | Include alpha/transparency value when creating an XSSFColor from an AWT Color object |
![]() | 62272 | XSSF | Include alpha/transparency value when setting a color-value for a font |
![]() | 65260 | SXSSF | Fix graceful handling of missing font-system on the operating system |
![]() | 65543 | HSSF | Incomplete Shared String Tables were causing read failures |
![]() | 66257 | XSSF | NullPointerException in XSSFReader$SheetIterator.next() |
![]() | 66278 | XSLF | Multiple gradient stops at the exact same location causing a rendering failure |
![]() | 66301 | HSMF | Add a method to properly write the header necessary for a MSG attachment |
![]() | 66306 | XSLF | Make XSLFDiagramGroupShape public |
![]() | 66312 | XWPF | Inserting paragraph into table from cursor |
![]() | 66347 | XWPF | Add theme support to XWPF |
![]() | 66365 | XSSF | Fix issue where cells with formulas and cached results of string type do not properly support shared strings |
![]() | 66399 | XSLF | Text run highlight colors were ignored |
![]() | 66401 | SS_Common | Fix parsing formulas with sheet-names which contain single quotes |
![]() | 66418 | XSSF | Fix performance issue with XSSFSheet.groupRow |
![]() | 66433 | SS_Common | Improve boolean functions empty cell handling |
![]() | 66473 | SXSSF | Fix performance issue with SXSSFCell.getColumnIndex() |
![]() | 66475 | POI_Overall | SignatureConfig: remove ThreadLocals and deprecated code associated with them |
![]() | 66514 | POI_Overall | Remove support for zip/tgz release artifacts |
![]() | 66532 | SXSSF | Improve performance of SheetDataWriter outputEscapedString |
![]() | 66584 | OOXML | Ensure ZipPackage closes input stream when exceptions happen |
![]() | 66614 | SS_Common | Issue where OFFSET function applies limits that should only apply to xls format spreadsheets |
![]() | 66644 | POI_Overall | Make jar build reproducible |
![]() | 66661 | XSSF | Fix issue with adding table formulas |
![]() | 66988 | XWPF | XWPFTableCell: make setText fully replace the text and add appendText method to append |
![]() | 67005 | XSLF | Basic for reading audio files in pptx files |
![]() | 67396 | OOXML | Set standalone="yes" in XML declarations when writing OOXML format files |
Version 5.2.3 (2022-09-16)
Summary
- Upgrade graphics2d dependency to 0.40, pdfbox to 2.0.26
- Upgrade xmlsec dependency to 3.0.0
- Upgrade xmlbeans dependency to 5.1.1
- Upgrade log4j-api dependency to 2.18.0
- Speed up processing of formulas with column-ranges, e.g. VLOOKUP(A4,$D:$E,2,0)
- Speed up compilation of jar-files-only builds by avoiding direct dependency on test-execution
- Avoid some more possible overly large memory allocations on certain input documents
Changes
Type | Bug | Module | Description |
---|---|---|---|
![]() | 51037 | SS_Common | setDefaultColumnStyle() in XSSFSheet/SXSSFSheet was not working as expected |
![]() | 55330 | SS_Common | add PageMargin enum |
![]() | 56155 | OOXML | Support version property in CoreProperties |
![]() | 58468 | SS_Common | Support DAYS function |
![]() | 63575 | XWPF | Support capitalized text in XWPFWordExtractor |
![]() | 63576 | HWPF | Support capitalized text in WordExtractor |
![]() | 65562 | SXSSF | SXSSF doesn't update dimension field |
![]() | 65473 | XSLF | When slides were copied, the text shapes were still referencing original slide |
![]() | 65854 | OOXML | Use revert() instead of close() when OPCPackage is opened read-only |
![]() | 65973 | XSSF | Row shifting does not properly handle hyperlinks that span multiple cells |
![]() | 65988 | SS_Common | RATE function fails in some cases |
![]() | 65993 | XSSF | change XSSFHyperlink code that copies HSSFWorkbook to respect cell ranges |
![]() | 66022 | SS_Common | Fix issue with parsing formulas that have sheet names containing certain chars |
![]() | 66047 | SS_Common | Fix rounding issue in MROUND function |
![]() | 66079 | XWPF | Fix bug where XWPFNumbering.removeAbstractNum removes by list index, not abstractNumId |
![]() | github-321 | SS_Common | DataFormatter issue with rounding in some use cases |
![]() | github-330 | SS_Common | Support AVERAGEIF function |
![]() | 66052 | SS_Common | XSSFColor could not be used the same time as org.apache.poi.ss.util classes |
![]() | 66083 | SS_Common | Support CEILING.MATH and FLOOR.MATH functions |
![]() | 66087 | SS_Common | support case insensitive matching in D* functions |
![]() | 66090 | SS_Common | add support for DCOUNT, DCOUNTA, DAVERAGE, DSTDEV, DSTDEVP, DVAR, DVARP and DPRODUCT functions |
![]() | 66092 | SS_Common | Add STDEVP, STDEVA, STDEVPA, VARA and VARPA functions |
![]() | 66093 | SS_Common | add support for unimplemented subfunctions to SUBTOTAL function |
![]() | 66094 | SS_Common | add support for STDEV.S, STDEV.P, VAR.S and VAR.P functions |
![]() | 66095 | SS_Common | add support for POISSON.DIST function |
![]() | 66097 | SS_Common | Support CEILING.PRECISE and FLOOR.PRECISE functions |
![]() | 66098 | SS_Common | D* functions should support wildcard matches |
![]() | 66105 | SS_Common | Support excel correl, covar, pearson and forecast functions |
![]() | 66115 | HSSF | Some Password protected XLS files are not read |
![]() | 66123 | XSSF | Support the gte attribute with XSSFConditionalFormattingThreshold |
![]() | 66145 | OOXML | generate poi-ooxml-full classes for dml-drawing xsd |
![]() | 66146 | OOXML | generate poi-ooxml-full classes for threaded comment and word12 xsds |
![]() | 66173 | SS_Common | add Sheet createSplitPane(int xSplitPos, int ySplitPos, int leftmostColumn, int topRow, PaneType activePane) to eventually replace the existing createSplitPane method (that has a bug in XSSFSheet) |
![]() | github-360 | HSSF | HSSFExtendedColor was not setting RGB colors properly |
![]() | 66176 | XSLF | Integrate SmartArt diagrams from powerpoint presentations |
![]() | 66181 | SS_Common | POI's implementation of VALUE function did not properly handle empty string input |
![]() | 66187 | XWPF | Calling getTextHighlightColor() or getEmphasisMark() on XWPFRun can lead to corruption of file |
![]() | 66211 | XSSF | XSSFTable.updateHeaders did not work for Worksheets created using current Excel versions |
![]() | 66212 | XSSF | XSSFSheet.removeTable did not remove the links to the table part reference from the sheet |
![]() | 66213 | XSSF | XSSFWorkbook.cloneSheet does not clone XSSFTables linked from the sheet |
![]() | 66215 | XSSF | Shifting rows or columns can damage formulas in tables |
![]() | 66216 | XSSF | XSSFPivotTable.getPivotCacheDefinition() does not work properly when XSSFPivotTable was read from an existing *.xlsx file |
![]() | 66230 | SXSSF | SXSSFWorkbook should work even when fonts not installed on OS |
![]() | 66242 | XSLF | Issue with orphaned (in package) images and notes post slide removal |
Version 5.2.2 (2022-03-19)
Summary
- Upgrade log4j-api dependency to 2.17.2 and graphics2d dependency to 0.35 as well as some test dependencies
Changes
Type | Bug | Module | Description |
---|---|---|---|
![]() | 65915 | SS_Common | Fix issue where Boolean functions (AND, OR) do not work properly in array context |
![]() | 65934 | XSLF | add removeTextParagraph to text box API |
![]() | 65935 | XSLF | add removeTextRun to paragraph API |
![]() | 65939 | XSSF | Fix stackoverflow issue when removing formulas with circular references |
![]() | 65943 | SXSSF | Support rich text strings in SXSSFWorkbook (only when shared string table is used) |
![]() | 65946 | OOXML | POIXMLPropertiesTextExtractor returns duplicate key for Core properties |
![]() | 65950 | POI_Overall | POI 5.2.1 can allocate byte arrays that are too big |
Version 5.2.1 (2022-03-03)
Summary
- Upgrade curvesapi dependency to 1.07
Changes
Type | Bug | Module | Description |
---|---|---|---|
![]() | 65887 | POI_Overall | IOUtils.toByteArray did not fully take into account value set by IOUtils.setByteArrayMaxOverride |
![]() | 60541 | SS_Common | Collapsing a column group was incorrectly implemented |
![]() | 62857 | SS_Common | DOLLAR function is not properly implemented |
![]() | 65792 | SS_Common | Multiplication in cell formulas can have small rounding issues |
![]() | 65839 | SS_Common | Picture resize can lead to infinite loop |
![]() | 65846 | SS_Common | Add support for NUMBERVALUE function |
![]() | 65850 | SS_Common | Add support for Normal Distribution functions |
![]() | 65870 | SS_Common | Add support for BESSELJ function |
![]() | 65871 | SS_Common | Add support for DOLLARDE and DOLLARFR functions |
![]() | 65879 | SS_Common | Add support for WORKDAY.INTL functions |
![]() | 65899 | HMEF | Fix issue where malformed TNEF file can cause memory issues |
![]() | 65908 | OPC | XAdES-XL modifications due to specification check errors |
Version 5.2.0 (2022-01-14)
Summary
- Refactor to XSSFReader, SharedStringsTable, CommentsTable and ThemesTable to make them more extensible
- Upgrade log4j-api dependency to 2.17.1
- Upgrade BouncyCastle dependency to 1.70
- Upgrade PDFBox Graphics2d dependency to 0.34 and PDFBox dependency to 2.0.25
Changes
Type | Bug | Module | Description |
---|---|---|---|
![]() | 65668 | OOXML | upgrade to xmlsec 2.3.0 - make secure validation configurable |
![]() | 65672 | OOXML | Digital Signature - set commitment type and purpose |
![]() | 65676 | XSSF | Issue in XSSFReader where string builder is not always cleared between cell reads |
![]() | 65694 | HSLF | handle date/time fields and formats |
![]() | github-281 | SS_Common | Cell Conditional Formatting: Change regex to account for decimals with no leading digit |
![]() | github-273 | SS_Common | Log warning when long sheet names are trimmed |
![]() | github-243 | SS_Common | Add support for XLOOKUP and XMATCH functions |
![]() | github-290 | POI_Overall | Customize Spliterator implementations for better parallelism |
![]() | 63211 | SS_Common | DataFormatter incorrectly formats data formats with escaped percent character |
![]() | 64732 | XSSF | XSSFSheet.createTable generates corrupted file when a header's cell contains a line break |
![]() | 65701 | OOXML | Password Protecting a document when Saxon is on classpath can corrupt the output |
![]() | 65703 | SS_Common | DataFormatter: add setUse4DigitYearsInAllDateFormats(boolean) method with default of false |
![]() | 65730 | SS_Common | DataFormatter: add setUseCachedValuesForFormulaCells(boolean) method with default of false |
![]() | 65715 | OOXML | Fix issue in XSSFSheet getDrawingPatriarch |
![]() | 65738 | OOXML | Fix issue with excessive logging of invalid parts in OOXML files |
![]() | 65766 | SS_Common | Cell copy does not respect rich text |
![]() | 65772 | POI_Overall | stop using file deleteOnExit in DefaultTempFileCreationStrategy |
Version 5.1.0 (2021-11-01)
Summary
- XDDF - bug fixes
- Upgrade Batik dependency to 1.14
- Upgrade BouncyCastle dependency to 1.69 (including adding dependency on bcutil jar)
- Upgrade Commons-Compress dependency to 1.21
- Upgrade XMLSec dependency to 2.2.3
- Upgrade PDFBox Graphics2d dependency to 0.33 (and test with PDFBox 2.0.24)
- Add commons-io 2.11.0 as a dependency
- Upgrade XMLBeans to 5.0.2
- Internal logging in POI now uses Apache Log4J 2
- Small refactor to XSSFReader to make it more extensible - should not affect most users unless they subclass XSSFReader
- By default, no DTDs will be accepted in XML files. This can be relaxed by setting POIXMLTypeLoader.DEFAULT_XML_OPTIONS.setDisallowDocTypeDeclaration(false).
Changes
Type | Bug | Module | Description |
---|---|---|---|
![]() | github-221 | XSLF | XSLFTable - revert addRow to behaviour before 4.1.2 |
![]() | 65016 | XDDF | Don't throw exception on empty data source |
![]() | 64950 | XDDF | Set hole size for doughnut chart |
![]() | 63901 | XSSF | XSSFDrawing - import chart from other drawing |
![]() | 63902 | XSSF | XSSFWorkbook - reference cloned sheet in cloned chart data |
![]() | 54470 | XSSF | XSSFWorkbook - clone sheet with chart |
![]() | 57835 | XSLF | XSLFSlide - import slide notes when importing slide content |
![]() | github-228 | XDDF | Manipulate individual data point properties |
![]() | 65192 | HSSF | Allow change of EncryptionMode |
![]() | 65206 | POI_Overall | Migrate ant / maven to gradle build |
![]() | 65228 | XSLF | the method getCap() does not work correctly in xslf.usermodel.XSLFTextRun |
![]() | 65214 | OOXML | Document signed by POI reported as 'partially' signed |
![]() | 65085 | HSLF | LineRect shall throw more specific exceptions |
![]() | 64844 | SL_Common | Incorrect sizes of images in SVG |
![]() | 65304 | POI_Overall | Add commons-io as a dependency |
![]() | 64473 | OOXML | Handle issue where OOXML file has metadata and metadata.xml |
![]() | 60924 | SS_Common | Support IFS and SWITCH functions |
![]() | 64633 | SS_Common | Support TEXTJOIN function |
![]() | 65230 | SS_Common | TRIM function should trim extra spaces between words |
![]() | 65464 | XSSF | Fix issue with removing parent formula when shared formulas are used |
![]() | 65467 | SS_Common | Support IFNA function |
![]() | 65471 | XSSF | Add support for T literal in DateTime formats |
![]() | 65475 | SS_Common | SUMIF and SUMIFS functions do not properly handle #N/A values |
![]() | github-242 | SS_Common | add support for MAXIFS, MINIFS, AVERAGEIFS functions |
![]() | 65501 | XSLF | Use viewbox when rendering SVG images |
![]() | 65581 | OOXML | add optional support in ZipArchiveFakeEntry to use a temp file |
![]() | 65595 | SS_Common | Strip color formatting in headers and footers |
![]() | 65606 | SS_Common | Fix issues with WEEKNUM function evaluation |
![]() | 65612 | XSLF | XSLF CustomGeometry - replace XmlStreamReader access with XmlBeans delegate |
![]() | 49202 | SS_Common | Support PERCENTRANK and related functions |
![]() | 64258 | SS_Common | Support TDIST and related functions |
![]() | 65490 | XSSF | Better support for shared hyperlinks |
![]() | 65042 | OPC | Add support to ZipPackage to allow temp files to be used to save memory (useful for writing xlsx/pptx/docx files with pictures, etc.). |
![]() | 65372 | OPC | Allow ZipSecureFile.setMaxEntrySize to accept sizes above 4Gb |
![]() | 65331 | XWPF | Fix issue in XWPFTable.setTableAlignment(TableRowAlign tra) |
![]() | 65623 | OPC | Create XAdES-T signature with XAdESXLSignatureFacet |
![]() | 62040 | SS_Common | QUOTIENT function does not support cell references |
![]() | 64542 | OPC | Allow creation of POIFSFileSystem instances from FileChannels but with an optional flag to prevent POI from closing the channel |
![]() | 65452 | SS_Common | WorkbookFactory.create(File, ...) should throw exception if the input file is not in a supported format |
![]() | 65551 | XSLF | Incorrect fetching paragraph and text runs props from master shape |
![]() | 65634 | XSLF | SlideShowFactory.create(File, ...) should throw exception if the input file is not in a supported format |
![]() | 65648 | SXSSF | Remove finalizer on SXSSF SheetDataWriter |
![]() | 65650 | POI_Overall | Use image/x-pict as mime type for pict format pictures (previous versions used a mix of image/pict and image/x-pict) |
![]() | 65653 | HSLF | HSLF FillType for texture and background color fills ignored |
Version 5.0.0 (2021-01-20)
Summary
- Upgrade to ECMA-376 5th edition (transitional) schemas - expect API breaks when using XmlBeans directly some smaller changes are necessary when code is using the low-level CT... classes
- Change artifact names of poi-/ooxml-schemas to poi-ooxml-lite/full
- ooxml-security is part of poi-ooxml-full (known as ooxml-schemas) now and won't be provided separately
- updated dependencies to XMLSec 2.2.1, Bouncycastle 1.68, Commons-Codec 1.15, Commons-Compress 1.20
- XWPF - improvements in table and paragraph
- XSLF - improvements for paragraph
- provide JigSaw modules - some classes moved between packages for the JDK 9+ support, e.g. ExtractorFactory, so imports need to be adjusted
- removed dependencies to jaxb
- removed deprecated code
- new experimental DeferredSXSSFWorkbook which creates fewer temp files by lazily generating rows (see DeferredGeneration in poi-examples)
Changes
Type | Bug | Module | Description |
---|---|---|---|
![]() | 64494 | XSSF | Ensure "applyAlignment" in cell-styles is enabled when necessary |
![]() | 64450 | OOXML | Allow to parse a file where the relationship-id is an empty string |
![]() | 64750 | XSSF | Do not use CTDataValidations.getCount(), instead only rely on getDataValidationArray |
![]() | 64986 | SS_Common | Support missing or blank match_type for function Match |
![]() | 64838 | XWPF | Do not populate cells with a paragraph when loading an existing document |
![]() | 65009 | HSLF | Use correct index for 1-based pictures |
![]() | 64460 | XSSF | Fix invalid moving of merged regions |
![]() | 64791 | HSSF | Use proper position for the WriteAccessRecord |
![]() | 64238 | SS_Common | Make LOOKUP functions deal with empty last arg correctly |
![]() | 64322 | POIFS | Improve performance of reading OLE2 files |
![]() | 64393 | SS_Common | Handle MissingArgEval in relational operators |
![]() | 64420 | XSSF | Avoid NullPointerException in XSSFReader.SheetIterator.next() if files contain macros |
![]() | github-177 | SS_Common | Avoid NullPointerException if RangeCopier encounters empty/missing rows |
![]() | 63294 | SS_Common | Add some more methods to allow to use CellType everywhere |
![]() | XSSF | Fix regression introduced via Bug 60845: There are more items in CTBorder that need to be handled in equals() | |
![]() | 63845 | XWPF | Adjust handling of formula-cells to fix regression with missing re-calculation introduced in 4.1.0 |
![]() | 55966 | XWPF | Include content control text in word extraction also if it is part of a paragraph |
![]() | 64244 | XSSF | Take the replacement of RichText strings into account when computing length of strings |
![]() | SS_Common | SS method to check if a Named Range is hidden or not | |
![]() | SS_Common | SS method to check if a Named Range is hidden or not | |
![]() | github-167 | HSMF | HSMF enhancements - NamedIdChunk, MultiValueChunks, ByteChunkDeferred |
![]() | SS_Common | Fix incorrect handling of format which should not produce any digit for zero | |
![]() | 58896 52834 | SS_Common | Speed up auto-sizing of columns when the sheet contains merged regions |
![]() | 64186 | OPC | Decrease usage of ThreadLocals in XML Signature API |
![]() | 64213 | SS_Common | Picture.resize(double scale) scales width wrong for small pictures and when dx1 is set |
![]() | 63712 | OPC | upgrading xmlsec causes junit tests to fail |
![]() | 64241 | XSLF | XSLF - Wrong scheme colors used when rendering |
![]() | 63624 | XWPF | Method setText in XWPFTableCell updates the xml and also updates the runs and iruns |
![]() | github-170 | XWPF | XWPFTableCell does not process bodyElements when handle paragraph |
![]() | github-171 | XWPF | XWPFNumbering.addAbstractNum will definitely throw an exception |
![]() | 64301 | OPC | Allow try-with-resources with OPCPackage.revert() |
![]() | 63745 | HSSF | Add traversing and debugging interface to HSSF |
![]() | 64350 | POI_Overall | Sonar fix - "Iterator.next()" methods should throw "NoSuchElementException" |
![]() | 57843 | HWPF | RuntimeException on extracting text from Word 97-2004 Document |
![]() | 55505 | HSSF | CountryRecord not found |
![]() | 64387 | POIFS | Big POIFS stream result in OOM |
![]() | 64411 | POI_Overall | Provide JigSaw modules (breaks backwards compatibility) |
![]() | 64441 | SS_Common | Synchronize code that initialises WorkbookFactory |
![]() | 63819 | SS_Common | Support DateValue function |
![]() | github-179 | SS_Common | Add an option for RangeCopier.copyRange() also clone styles |
![]() | 63290 | XSLF | Retrieve default run properties from paragraph |
![]() | 64512 | POIFS | Ole10Native aka embedded / object packager - handle UTF16 variants |
![]() | 64561 | XWPF | XWPFSDTContent.getText() is empty for nested SDT elements |
![]() | 64595 | SXSSF | Missing quoting of pre-evaluated string values in formula cells causes corrupt files |
![]() | 64693 | HEMF | POI HwmfGraphics cannot read the embedded document title |
![]() | 64716 | HWMF | WMF font typeface charset encoding error |
![]() | 64773 | POI_Overall | Visual signatures for .xlsx/.docx |
![]() | 64817 | POIFS | Fix issue in testXLSXinPPT |
![]() | github-193 | SS_Common | Change TRUNC implementation to use MathX |
![]() | 64867 | SL_Common | Provide PDF rendering with PPTX2PNG |
![]() | 64964 | SS_Common | Converting cell values to boolean should throw IllegalStateException instead of RuntimeException when conversion is not possible |
![]() | 64971 | XSSF | XSSFFont setCharset(FontCharset) should use latest class instead of deprecated one |
![]() | 60397 | XSSF | Improve performance of cell merge |
![]() | github-206 | SXSSF | Improve performance of SXSSF cell evaluation |
![]() | 64976 | SS_Common | Change some methods to return ints instead of shorts (Font and CellStyle) |
![]() | 56205 | OOXML | Upgrade OOXML schema to 3rd edition (transitional) (breaks backwards compatibility) |
![]() | 64979 | OOXML | Change artifact names of poi-/ooxml-schemas |
![]() | 64981 | OOXML | Upgrade OOXML schema to 5th edition (transitional) (breaks backwards compatibility) |
![]() | 64876 | XSLF | Unable to convert pptx to pdf |
![]() | 65026 | POI_Overall | Migrate tests to Junit 5 |
![]() | github-207 | POI_Overall | Use SLF4J instead of commons-logging - use jcl-over-slf4j |
![]() | 65061 | XSSF | Handle VmlDrawings containing spreadsheet-ml default namespace |
![]() | 65063 | HSLF | WMF parsing failed on closed empty polygon |
![]() | github-198 | POI_Overall | Remove jdk.charset module dependency for spreadsheets generation |
![]() | github-196 | OOXML | Delete unused certificate exceptions |
![]() | github-191 | SS_Common | Fix RuntimeException on array formula referencing blank cell |
![]() | github-189 | SS_Common | Move date parsing logic to DateParser |
![]() | github-187 | XSSF | Add length validation for Excel DataValidations that are list literals |
![]() | github-184 | SXSSF | New EmittingSXSSFWorkbook |
![]() | github-176 | XSSF | Remove limit on number of rules in XSSFSheetConditionalFormatting |
![]() | github-177 | HSSF | Avoid NullPointerException if RangeCopier encounters empty/missing rows |
Version 4.1.2 (2020-02-17)
Summary
- Removed a lot of internal uses of StringBuffers
- XDDF - some work on better chart support
- Common SL / EMF - ongoing rendering fixes
- XSLF - OOM fixes when parsing arbitrary shape ids + a new dependency to SparseBitSet 1.2
- updated dependencies to Bouncycastle 1.64
Changes
Type | Bug | Module | Description |
---|---|---|---|
![]() | 64015 | POI_Overall | Swap zaxxer.com:SparseBitSet for java.util.BitSet |
![]() | 63788 | XWPF | When removing AbstractNum match by abstractNumId, not list index |
![]() | 63940 | POI_Overall | Avoid endless loop/out of memory on string-replace with empty search string |
![]() | 63700 | POI_Overall | Make D* functions work with numeric result column |
![]() | 63960 | SXSSF | Write pre-evaluated string-values in formula cells with the correct type |
![]() | 63984 | POI_Overall | Function AND / OR should treat missing parameters as FALSE |
![]() | 63749 | POI_Overall | Make getFirstRowNum() and getFirstCellNum() return -1 consistently with empty data |
![]() | 63569 | POI_Overall | Make IOUtils.setByteArrayMaxOverride() work correctly |
![]() | XSLF | Add, insert and remove columns on XSLFTable | |
![]() | 63842 | POI_Overall | Fix issue with fractions where the whole number part is too large to store as an int |
![]() | 63889 | XDDF | Produce valid PPTX file with several chart series |
![]() | 63918 | SL_Common XSLF | Fix texture fill - scale stretched images correctly |
![]() | XDDF | Add Doughnut chart data series support | |
![]() | 63955 | HMEF | HMEFContentsExtractor fails to extract content from winmail.dat |
![]() | 63927 | POI_Overall | Inconsistent mapping of Norwegian locales for date formats |
![]() | github-163 | XSSF | Add set level numbering on XWPFParagraph |
![]() | github-164 | XSSF | Fix Bug in XSSFTable.setCellReferences when table is single cell |
![]() | 64004 | POI_Overall | Replace Cloneable / clone() with copy constructor |
![]() | 64036 | POI_Overall | Replace reflection calls in factories for Java 9+ |
![]() | 64044 | POI_Overall | Fix issue with setCellValue(LocalDate) not supporting nulls properly |
![]() | 64088 | SL_Common XSLF | SlideShow rendering fixes |
![]() | 64098 | XWPF | XWPFRun: Whitespace in text not preserved if starting with tab character. |
![]() | 64108 | POI_Overall | unsafe pipe character ("|") in Relationship target attribute is not being encoded into a '%7C'. |
![]() | github-166 | XDDF | Expose invert if negative on bar charts |
![]() | 63998 | HSSF | Support commas, exclamation marks correctly in AreaReference |
![]() | 64045 | XSSF | XSSFWorkbook constructor doesn't close ZipFile if an exception occurs |
![]() | 64130 | HSSF | Regression in OldSheetRecord |
Version 4.1.1 (2019-10-20)
Summary
- XSSF: Memory improvements which use much less memory while writing large xlsx files
- XDDF: Improved chart support: more types and some API changes around angles and width units
- updated dependencies to Bouncycastle 1.62, Commons-Codec 1.13, Commons-Collections4 4.4, Commons-Compress 1.19
- XWPF: Additional API methods
- XSSF: Fixes to XSSFSheet.addMergedRegion() and XSSFRow.shiftRows()
- EMF/HSLF: Rendering fixes
- CVE-2019-12415 - XML External Entity (XXE) Processing in Apache POI
Changes
Type | Bug | Module | Description |
---|---|---|---|
![]() | 63774 | POI_Overall | Cache pids to speed up custom properties "add" method |
![]() | 63779 | SS_Common | Add support for the new Java date/time API added in Java 8 |
![]() | 59322 | HWPF | Avoid NullPointerException when reading Word Document with tables and a cell with a null descriptor |
![]() | 61490 | HWPF | Read cells of tables correctly in cases where the last cell is not 'fake' |
![]() | HWPF | Do not use WeakReference for parents in Ranges to avoid spurious failures in tests | |
![]() | 63657 | XSSF | Fix regression with memory usage in XSSFRow.onDocumentWrite and some other temporary memory leaks |
![]() | 63842 | SS_Common | FractionFormat casts whole part of the value into 'int' |
![]() | 63818 | HSLF | Allow multiple charsets for same font typeface |
![]() | 63768 | XSSF | XSSFExportToXml adjust settings on SchemaFactory |
![]() | 63541 | XSLF | NullPointerException from XSLFSimpleShape.getAnchor for empty xfrm tags |
![]() | 63745 | POI_Overall | Add traversing and debugging interface |
![]() | 57423 62711 | XSSF | Fix regression when XSSFRow.shiftRows() is used |
![]() | 63580 | SL_Common HSLF XSLF | Fix texture paint handling |
![]() | 59004 | HSLF | HSLF rendering - adjust values for presetShapeDefinition differs in HSLF/XSLF |
![]() | HSLF | Don't fallback to master shape properties, if master shape is not assigned | |
![]() | POI_Overall | Add a ThreadLocalUtil.clearAllThreadLocals which can be used to clear thread-locals | |
![]() | 63371 | XSSF | XSSFSheet.addMergedRegion should adjust count of merged cells |
![]() | 63073 | XSSF | Return value of XSSFSheet.addMergedRegion is off by one |
![]() | 54803 | OPC | Error opening XLSX after saving with a Drawing using POI |
![]() | github-135 | XDDF | Support to create new chart without reading template |
![]() | github-143 | HPSF | MAPIType.isFixedLength: not true in case of length > 8 |
![]() | github-144 | XDDF | Support for seven new chart types |
![]() | github-149 | HSMF | improve MAPIMessage.getHtmlBody |
![]() | github-150 | XWPF | Add XWPFPicture getWidth and getDepth methods |
![]() | github-151 | XWPF | Add XWPFRun getStyle method |
![]() | github-152 | XWPF | Add XWPFParagraph setKeepNext method |
![]() | github-153 | XWPF | Add XWPFParagraph createHyperlinkRun method |
![]() | github-154 | SXSSF | Improved support for writing large files |
![]() | github-157 | OOXML | Add setters to POIXMLProperties |
![]() | 63153 | XDDF | Enable safe removal of data series from charts |
![]() | 59623 | XDDF | Provide example of threshold line in bar chart |
Version 4.1.0 (2019-04-09)
Summary
- Improved support/fixes for Java 9+ and IBM JVM
- New EMF renderer and support of SVG images in XSLF
- Security, stability and memory/resource handling improvements
- Various bug fixes across function and conditional format rule evaluation
- Upgrade to XMLBeans 3.1.0
- Upgrade to Bouncycastle 1.61
- Upgrade to Curvesapi 1.06
- Upgrade to Commons-Codec 1.12
- Upgrade to Commons-Collections4 4.3
- Upgrade to XMLSec 2.1.2
Changes
Type | Bug | Module | Description |
---|---|---|---|
![]() | 63200 | XSLF | Avoid a possible NullPointerException in XSLFShape.selectPaint() |
![]() | 60724 | SS_Common | Implement 'ignore hidden rows' variations for existing implemented variants |
![]() | 63264 | SS_Common | Conditional Format rule evaluation calculates relative references incorrectly |
![]() | 61652 | SS_Common | Fix NPE in EDATE function when date evaluates to an invalid value |
![]() | 62151 | POIFS | Work around illegal reflective access in Java 9+ when freeing buffers |
![]() | 63029 | OPC | OPCPackage Potentially clobbers files on close() |
![]() | 62980 | SS_Common XSSF HSSF | Make D* functions ignore case in headings |
![]() | 60977 | XSSF | Adding custom properties creates invalid .xlsx file on second write |
![]() | 60460 | SL_Common | Null pointer exception in ExternSheetNameResolver.prependSheetName method |
![]() | 60845 | XSSF | Fix copying styles/conditional formatting |
![]() | 63054 | SS_Common XSSF HSSF | Improved evaluation of array formulas with errors in arguments |
![]() | 63047 | POI_Overall | Make POILogger subclassable |
![]() | 62904 | SS_Common XSSF HSSF | Support array arguments in IF and logical IS*** functions |
![]() | 63028 | SL_Common XSLF HSLF | Provide font embedding for slideshows |
![]() | 61532 | SXSSF | Fix setting values/types during formula evaluation for SXSSF |
![]() | 62629 | OPC | Allow to handle files with invalid content types for pictures |
![]() | 62839 | SL_Common | Fix MathX.floor for negative n |
![]() | 62884 | SL_Common | Sheetnum is not checked in InternalWorkbook.setSheetHidden() |
![]() | 62886 | OPC | Regression extracting text from corrupted docx files |
![]() | 63017 | SL_Common XSLF | Remove rows from a XSLFTable |
![]() | 60656 | SL_Common XSLF HSLF | EMF image support in slideshows |
![]() | 62365 | XSLF | SVG image support in XSLF |
![]() | github-136 | XSSF | Support GEOMEAN function |
![]() | 63011 | OPC | Multiple digital signature in excel file broke first signature |
![]() | 62999 | SL_Common | IBM JDK JIT causes AIOOBE in TexturePaintContext |
![]() | 62994 | POI_Overall | IBM JCE workarounds |
![]() | 62966 | SL_Common | init presetShapeDefinitions.xml fail under IBM jdk |
![]() | 62953 | SL_Common XSLF HSLF | Rendering of FreeformShapes with formula fails |
![]() | 63005 | POI_Overall | Remove support for reading files that have XML entity definitions |
![]() | 63013 | XWPF | add XWPFRun setLang method |
![]() | 63240 | XSSF | Remove unnecessary synchronization on DocumentHelper.newDocumentBuilder and SAXHelper.newXMLReader |
![]() | 61652 | SS_Common | Fix NPE in EDATE function when date evaluates to an invalid value |
![]() | 63264 | SS_Common | Conditional Format rule evaluation calculates relative references incorrectly |
![]() | 60724 | SS_Common | Implement 'ignore hidden rows' variations for existing SUBTOTAL function variants |
![]() | 63268 | SS_Common | Fix issue with CellUtil.setFont adding unnecessary styles |
![]() | 61700 | SS_Common | getForceFormulaRecalculation() returns wrong value |
![]() | 63292 | SS_Common | DataFormatter.formatCellValue() ignores use1904Windowing w/4-part date formats |
Version 4.0.1 (2018-12-03)
Summary
- Fixes pom.xml entries for commons-maths3 (missing), curvesapi and commons-codec
- Improvements for XDDF charts and text manipulation
- Upgrade to XMLBeans 3.0.2
Changes
Type | Bug | Module | Description |
---|---|---|---|
![]() | 59773 | POI_Overall | Move loop invariants outside of loop for faster execution |
![]() | 59834 | POI_Overall | poi-ooxml pom.xml should include dependency on poi-scratchpad |
![]() | 62690 | POI_Overall | Missing Maven dependency to commons-math3 |
![]() | 62692 | OPC | WildFly XML parser not properly supported - Property 'http://www.oracle.com/xml/jaxp/properties/entityExpansionLimit' is not recognized |
![]() | 62699 | POI_Overall | Download page must link to https://downloads.apache.org/poi/KEYS |
![]() | 62733 | XSLF | XSLFBackground setFill() can corrupt the document |
![]() | 62735 | XSSF | poi-ooxml 4.0.0 should have dependency on curvesapi 1.05 |
![]() | 62740 | XSSF | XSSFTable constructor automatically assigns invalid (non-unique) column IDs |
![]() | 62768 | OPC | OPCPackage#close() method is incorrectly synchronized |
![]() | 62796 | POI_Overall | Remove XML Event parser code from PackagePropertiesMarshaller |
![]() | 62800 | XSLF | Fix null pointer exception if a picture shape has no blip id |
![]() | 62805 | POI_Overall | Fix Old-Xerces build issues |
![]() | 62805 | XSLF | XSLFTableCell#removeBorder(BorderEdge.right) removes the bottom edge not the right edge. |
![]() | 62811 | POI_Overall | POI Encryption didn't work with 4.0.0 but did work with 3.17 |
![]() | 62951 | POI_Overall | FileMagic not correctly identified |
![]() | 62949 | SL_Common | SlideShow rendering - keyframe fractions must be increasing |
![]() | 62921 | POI_Overall | Provide OOXMLLite alternative for Java 12+ |
![]() | 62625 | POI_Overall | Handle off-spec, variant REFERENCE_NAME record structure in VBAMacroReader |
![]() | 62624 | POI_Overall | Handle module name mapping in VBAMacroReader |
![]() | 62836 | SS_Common | Support TREND function |
![]() | 62859 | XWPF | Rare NPE while creating XWPFSDTContent |
![]() | 62373 | SS_Common | Support for FREQUENCY function |
![]() | 62831 | POI_Overall | WorkbookFactory.create support for subclass of File, eg from JFileChooser |
![]() | 62815 | XSSF | XLSB number extraction improvements |
![]() | 62373 | SS_Common | Support FREQUENCY function |
![]() | 62742 | POI_Overall | Add common-compress jar to bin zip/tgz |
![]() | 62747 | POI_Overall | Upgrade bouncycastle dependency to 1.60 |
![]() | 62736 | XWPF | Relations on XSLFPictureShape were removed unconditionally |
![]() | github-109 | XDDF | Define XDDF user model for text body, its paragraphs and text runs |
![]() | github-123 | XSSF | Import chart on drawing |
![]() | 62746 | XDDF | Support axIds in XDDF |
![]() | 60509 | XSSF | XSSFWorkbook.setSheetName() does not update references in charts |
![]() | 59625 | XWPF | Localisation (Internationalisation in other languages) when applied in charts corrupt the MS Word file |
Version 4.0.0 (2018-09-07)
Summary
- Removed support for Java 6 and 7 making Java 8 the minimum version supported
- New OOXML schema (1.4) necessary, because of incompatible XMLBeans loading not anymore through POIXMLTypeLoader
Changes
Type | Bug | Module | Description |
---|---|---|---|
![]() | 62649 | POIFS | Remove OPOIFS* (breaks backwards compatibility) |
![]() | 61589 | XSLF | Importing content does not copy hyperlink address |
![]() | 62587 | XSLF | repeated call to XSLFSheet.removeShape leads to java.lang.IllegalArgumentException: partName |
![]() | 62513 | OOXML | Don't try to parse embedded package relationships |
![]() | 59268 | OOXML | Work on providing an updated version of XMLBeans |
![]() | 62451 | HPSF | Document last printed in the year 27321 |
![]() | 60713 | SXSSF XSSF OPC | (S)XSSFWorkbook/POIXMLDocument.write(OutputStream) closes the OutputStream (breaks backwards compatibility) |
![]() | 62452 | OPC | Extract configuration while verifying XML signatures |
![]() | 62187 | OPC | Compiling with Java 10 fails with ClassCastException / use commons-compress (breaks backwards compatibility) |
![]() | 62355 | POI_Overall | Unsplit packages for Jigsaw / Java 9 compatibility (breaks backwards compatibility) |
![]() | 62041 | SL_Common | TestFonts fails on Mac |
![]() | 62051 | XSLF | Two shapes have the same shapeId within the same slide |
![]() | 61633 | XSLF | Zero width shapes aren't rendered |
![]() | 62037 | SL_Common | SlideNames should not be null but have a default as if accessed by VBA |
![]() | 62381 | SL_Common | Fix rendering of AutoShapes |
![]() | 59893 | POI_Overall | Forbid calls to InputStream.available |
![]() | 61905 | HSSF | HSSFWorkbook.setActiveCell() does not actually make the cell selected in Excel |
![]() | 61459 | HSLF | HSLFShape.getShapeName() returns name of shapeType and not the shape name |
![]() | 62319 | SL_Common | Decommission XSLF-/PowerPointExtractor (breaks backwards compatibility) |
![]() | 62092 | SL_Common | Text not extracted from grouped text shapes in HSLF |
![]() | 62159 | OPC | Support XML signature over windows certificate store |
![]() | 57369 | XDDF | Add support for major and minor units on chart axes |
![]() | 55954 | XWPF | Added methods to position table |
![]() | 61947 | POI_Overall | Remove deprecated classes (POI 4.0.0) |
![]() | 55954 | XWPF | Add functions to get, set, remove outer borders for tables |
![]() | github-72 | XDDF | Define XDDF user model for shape properties to be shared between XSLF, XSSF and XWPF |
![]() | 61543 | XSSF | Do not fail with "part already exists" when tables are created/removed (breaks backwards compatibility) |
![]() | 61550 | POI_Overall | Add more information to exception text and verify that it is thrown (breaks backwards compatibility) |
![]() | 61609 | POI_Overall | Add .gitattribute file and set lf for one sample-file (breaks backwards compatibility) |
![]() | 61797 | SL_Common | Embed Excel / Ole objects into powerpoint (breaks backwards compatibility) |
![]() | 61943 | SL_Common | narrow generics definition because of tighter java9 checks |
![]() | 61942 | OPC | Refactor PackagePartName handling and add getUnusedPartIndex method |
![]() | 61941 | POIFS | Move Ole marker generation to Ole10Native |
![]() | 61940 | POI_Overall | Replace ClassID statics with enum |
![]() | 61939 | OPC | Provide schema for AlternateContent - provide new ooxml-schemas-1.4.jar |
![]() | 61787 | HSSF | Change how deleted content is detected to not incorrectly see too much text as deleted, this was introduced with bug 58067 |
![]() | 61798 | HSSF | Fix usage of getLastCellNum() when calculating worksheet dimension during saving |
![]() | 61911 | HWPF | Avoid IndexOutOfBounds access when reading pictures |
![]() | 61765 | HSSF | Support third party tool generated files using WorkBook as their POIFS directory name |
![]() | 61881 | HSLF | Regression in ppt parsing: typeface can't be null or empty |
![]() | github-68 | XDDF XSLF XSSF XWPF | Share chart data implementation between XSLFChart, XSSFChart and XWPFChart through XDDF |
![]() | 61809 | HPSF | Infinite loop in SectionIDMap.get() and .put() |
![]() | 60887 | XSSF | Surface XSSF Header/Footer Attributes |
![]() | 61730 | SS_Common | CellRangeAddresses support iterating over their CellAddresses |
![]() | 61727 | SS_Common | CellRangeUtil merge cell ranges broken for certain orders of arguments |
![]() | 57517 | HSSF | Fix various situations that were handled incorrectly in HSSFOptimiser |
![]() | 61671 | XSLF | XSLFSlide does not contain isHidden and setHidden like HSLFSlide does |
![]() | 61630 | XSSF | Performance improvement to XSSFExportToXML |
![]() | 58068 | XSSF | Add a method to pass the actual Color to StylesTable.findFont() |
![]() | 61096 | POIFS | Add support for modules in VBAMacroReader |
![]() | 61033 | XSSF | Add XSSFWorkbook.setCellFormulaValidation() to control if formulas are validated during Cell.setCellFormula() |
![]() | 61148 | SXSSF | Fix calculating/setting formula value |
![]() | 61064 | SS_Common | Support behavior of function CEILING in newer versions of Microsoft Excel |
![]() | 61516 | SS_Common | Correctly handle references that end up outside the workbook when cells with formulas are copied |
![]() | 60737 | XSSF | Add endSheet() to XSSFEventBasedExcelExtractor |
![]() | 59747 | OPC | Exchange order of writing parts into Zip to allow some tools to handle files better |
![]() | github-69 | SS_Common | Support matrix functions |
![]() | 60499 | OPC | Deleting a picture that is used twice on a slide corrupt the slide |
![]() | 60279 | POI_Overall | Back-off to brute-force search for macro content if macro offset is incorrect |
![]() | 61528 | XSSF | Pivot table enhancements |
![]() | 61906 | XSSF | add API for working with RichStringText |
![]() | 61792 | SS_Common | Avoid iterating over chars (use codepoints instead) |
![]() | 62254 | SS_Common | Update OFFSET function to support optional values |
![]() | 62435 | XSSF | Rename getAllEmbedds method to getAllEmbeddedParts (getAllEmbedds is retained but deprecated) |
![]() | 62438 | POI_Overall | Replace org.apache.poi.openxml4j.util.Nullable with java.lang.Optional (breaks backwards compatibility) |
![]() | github-90 | XSSF | Change default DSIG signing algorithm to SHA256 |
![]() | github-107 | SS_Common | Support AREAS function |
![]() | github-110 | XWPF | Renames org.apache.poi.xwpf.usermodel.TextSegement to org.apache.poi.xwpf.usermodel.TextSegment (breaks backwards compatibility) |
![]() | github-114 | XWPF | Better support for Footnotes and Endnotes |