Skip to content

Releases: PHPOffice/PhpSpreadsheet

1.11.0

02 Mar 13:10
c2a205e
Compare
Choose a tag to compare

Added

  • Added support for the BASE function
  • Added support for the ARABIC function
  • Conditionals - Extend Support for (NOT)CONTAINSBLANKS #1278

Fixed

  • Handle Error in Formula Processing Better for Xls #1267
  • Handle ConditionalStyle NumberFormat When Reading Xlsx File #1296
  • Fix Xlsx Writer's handling of decimal commas #1282
  • Fix for issue by removing test code mistakenly left in #1328
  • Fix for Xls writer wrong selected cells and active sheet #1256
  • Fix active cell when freeze pane is used #1323
  • Fix XLSX file loading with autofilter containing '$' #1326
  • PHPDoc - Use @return $this for fluent methods #1362

1.10.1

01 Dec 23:15
1648dc9
Compare
Choose a tag to compare

Changed

  • PHP 7.4 compatibility

Fixed

  • FLOOR() function accept negative number and negative significance #1245
  • Correct column style even when using rowspan #1249
  • Do not confuse defined names and cell refs #1263
  • XLSX reader/writer keep decimal for floats with a zero decimal part #1262
  • ODS writer prevent invalid numeric value if locale decimal separator is comma #1268
  • Xlsx writer actually writes plotVisOnly and dispBlanksAs from chart properties #1266

1.10.0

18 Nov 11:34
f734783
Compare
Choose a tag to compare

Changed

  • Change license from LGPL 2.1 to MIT #140

Added

  • Implementation of IFNA() logical function
  • Support "showZeros" worksheet option to change how Excel shows and handles "null" values returned from a calculation
  • Allow HTML Reader to accept HTML as a string into an existing spreadsheet #1212

Fixed

  • IF implementation properly handles the value #N/A #1165
  • Formula Parser: Wrong line count for stuff like "MyOtherSheet!A:D" #1215
  • Call garbage collector after removing a column to prevent stale cached values
  • Trying to remove a column that doesn't exist deletes the latest column
  • Keep big integer as integer instead of lossely casting to float #874
  • Fix branch pruning handling of non boolean conditions #1167
  • Fix ODS Reader when no DC namespace are defined #1182
  • Fixed Functions->ifCondition for allowing <> and empty condition #1206
  • Validate XIRR inputs and return correct error values #1120
  • Allow to read xlsx files with exotic workbook names like "workbook2.xml" #1183

1.9.0

17 Aug 22:26
8dea03e
Compare
Choose a tag to compare

Changed

  • Drop support for PHP 5.6 and 7.0, according to our policy

Added

  • When <br> appears in a table cell, set the cell to wrap #1071 and #1070
  • Add MAXIFS, MINIFS, COUNTIFS and Remove MINIF, MAXIF #1056
  • HLookup needs an ordered list even if range_lookup is set to false #1055 and #1076
  • Improve performance of IF function calls via ranch pruning to avoid resolution of every branches #844
  • MATCH function supports *?~ Excel functionality, when match_type=0 #1116
  • Allow HTML Reader to accept HTML as a string #1136

Fixed

  • Fix to AVERAGEIF() function when called with a third argument
  • Eliminate duplicate fill none style entries #1066
  • Fix number format masks containing literal (non-decimal point) dots #1079
  • Fix number format masks containing named colours that were being misinterpreted as date formats; and add support for masks that fully replace the value with a full text string #1009
  • Stricter-typed comparison testing in COUNTIF() and COUNTIFS() evaluation #1046
  • COUPNUM should not return zero when settlement is in the last period #1020 and #1021
  • Fix handling of named ranges referencing sheets with spaces or "!" in their title
  • Cover getSheetByName() with tests for name with quote and spaces #739
  • Best effort to support invalid colspan values in HTML reader - #878
  • Fixes incorrect rows deletion #868
  • MATCH function fix (value search by type, stop search when match_type=-1 and unordered element encountered) #1116
  • Fix getCalculatedValue() error with more than two INDIRECT #1115
  • Writer\Html did not hide columns #985

1.8.2

27 Jul 04:31
Compare
Choose a tag to compare

Fixed

  • Uncaught error when opening ods file and properties aren't defined - #1047
  • Xlsx Reader Cell datavalidations bug - #1052

1.8.1

27 Jul 04:31
Compare
Choose a tag to compare

Fixed

  • Allow nullable theme for Xlsx Style Reader class - #1043

1.8.0

27 Jul 04:30
0e6238c
Compare
Choose a tag to compare

Security Fix (CVE-2019-12331)

  • Detect double-encoded xml in the Security scanner, and reject as suspicious.

  • This change also broadens the scope of the libxml_disable_entity_loader setting when reading XML-based formats, so that it is enabled while the xml is being parsed and not simply while it is loaded.
    On some versions of PHP, this can cause problems because it is not thread-safe, and can affect other PHP scripts running on the same server. This flag is set to true when instantiating a loader, and back to its original setting when the Reader is no longer in scope, or manually unset.

  • Provide a check to identify whether libxml_disable_entity_loader is thread-safe or not.

    XmlScanner::threadSafeLibxmlDisableEntityLoaderAvailability()

  • Provide an option to disable the libxml_disable_entity_loader call through settings. This is not recommended as it reduces the security of the XML-based readers, and should only be used if you understand the consequences and have no other choice.

Added

  • Added support for the SWITCH function - #963 and #983
  • Add accounting number format style #974

Fixed

  • Whitelist tsv extension when opening CSV files #429
  • Fix a SUMIF warning with some versions of PHP when having different length of arrays provided as input #873
  • Fix incorrectly handled backslash-escaped space characters in number format

1.7.0

26 May 02:52
84e09df
Compare
Choose a tag to compare

Added

  • Added support for inline styles in Html reader (borders, alignment, width, height)
  • QuotedText cells no longer treated as formulae if the content begins with a =
  • Clean handling for DDE in formulae

Fixed

  • Fix handling for escaped enclosures and new lines in CSV Separator Inference
  • Fix MATCH an error was appearing when comparing strings against 0 (always true)
  • Fix wrong calculation of highest column with specified row #700
  • Fix VLOOKUP
  • Fix return type hint

1.6.0

02 Jan 04:46
bf00f0c
Compare
Choose a tag to compare

Added

  • Refactored Matrix Functions to use external Matrix library
  • Possibility to specify custom colors of values for pie and donut charts - #768

Fixed

  • Improve XLSX parsing speed if no readFilter is applied - #772
  • Fix column names if read filter calls in XLSX reader skip columns - #777
  • Fix LOOKUP function which was breaking on edge cases - #796
  • Fix VLOOKUP with exact matches - #809
  • Support COUNTIFS multiple arguments - #830
  • Change libxml_disable_entity_loader() as shortly as possible - #819
  • Improved memory usage and performance when loading large spreadsheets - #822
  • Improved performance when loading large spreadsheets - #825
  • Improved performance when loading large spreadsheets - #824
  • Fix color from CSS when reading from HTML - #831
  • Fix infinite loop when reading invalid ODS files - #832
  • Fix time format for duration is incorrect - #666
  • Fix iconv unsupported //IGNORE//TRANSLIT on IBM i - #791

Changed

  • master is the new default branch, develop does not exist anymore

1.5.2

02 Jan 04:46
Compare
Choose a tag to compare

Security

  • Improvements to the design of the XML Security Scanner - #771