PhpSpreadsheet/CHANGELOG.md

11 KiB
Raw Blame History

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

[Unreleased]

Added

  • Support workbook view attributes for Xlsx format - #523

Fixed

  • Xlsx reader crashed when reading a file with workbook protection - #553
  • Cell formats with escaped spaces were causing incorrect date formatting - #557
  • Could not open CSV file containing HTML fragment - ##564

[1.3.1] - 2018-06-12

Fixed

  • Ranges across Z and AA columns incorrectly threw an exception - #545

[1.3.0] - 2018-06-10

Added

  • Support to read Xlsm templates with form elements, macros, printer settings, protected elements and back compatibility drawing, and save result without losing important elements of document - #435
  • Expose sheet title maximum length as Worksheet::SHEET_TITLE_MAXIMUM_LENGTH - #482
  • Allow escape character to be set in CSV reader #492

Fixed

  • Subtotal 9 in a group that has other subtotals 9 exclude the totals of the other subtotals in the range - #332
  • Helper\Html support UTF-8 HTML input - #444
  • Xlsx loaded an extra empty comment for each real comment - #375
  • Xlsx reader do not read rows and columns filtered out in readFilter at all - #370
  • Make newer Excel versions properly recalculate formulas on document open - #456
  • Coordinate::extractAllCellReferencesInRange() throws an exception for an invalid range #519
  • Fixed parsing of conditionals in COUNTIF functions - #526
  • Corruption errors for saved Xlsx docs with frozen panes - #532

[1.2.1] - 2018-04-10

Fixed

  • Plain text and richtext mixed in same cell can be read - #442

[1.2.0] - 2018-03-04

Added

  • HTML writer creates a generator meta tag - #312
  • Support invalid zoom value in XLSX format - #350
  • Support for _xlfn. prefixed functions and ISFORMULA, MODE.SNGL, STDEV.S, STDEV.P - #390

Fixed

  • Avoid potentially unsupported PSR-16 cache keys - #354
  • Check for MIME type to know if CSV reader can read a file - #167
  • Use proper € symbol for currency format - #379
  • Read printing area correctly when skipping some sheets - #371
  • Avoid incorrectly overwriting calculated value type - #394
  • Select correct cell when calling freezePane - #389
  • setStrikethrough() did not set the font - #403

[1.1.0] - 2018-01-28

Added

  • Support for PHP 7.2
  • Support cell comments in HTML writer and reader - #308
  • Option to stop at a conditional styling, if it matches (only XLSX format) - #292
  • Support for line width for data series when rendering Xlsx - #329

Fixed

  • Better auto-detection of CSV separators - #305
  • Support for shape style ending with ; - #304
  • Freeze Panes takes wrong coordinates for XLSX - #322
  • COLUMNS and ROWS functions crashed in some cases - #336
  • Support XML file without styles - #331
  • Cell coordinates which are already a range cause an exception #319

[1.0.0] - 2017-12-25

Added

  • Support to write merged cells in ODS format - #287
  • Able to set the topLeftCell in freeze panes - #261
  • Support DateTimeImmutable as cell value
  • Support migration of prefixed classes

Fixed

  • Can read very small HTML files - #194
  • Written DataValidation was corrupted - #290
  • Date format compatible with both LibreOffice and Excel - #298

BREAKING CHANGE

  • Constant TYPE_DOUGHTNUTCHART is now TYPE_DOUGHNUTCHART.

[1.0.0-beta2] - 2017-11-26

Added

  • Support for chart fill color - @CrazyBite #158
  • Support for read Hyperlink for xml - @GreatHumorist #223
  • Support for cell value validation according to data validation rules - @SailorMax #257
  • Support for custom implementation, or configuration, of PDF libraries - @SailorMax #266

Changed

  • Merge data-validations to reduce written worksheet size - @billblume #131
  • Throws exception if a XML file is invalid - @GreatHumorist #222
  • Upgrade to mPDF 7.0+ - #144

Fixed

  • Control characters in cell values are automatically escaped - #212
  • Prevent color changing when copy/pasting xls files written by PhpSpreadsheet to another file - @al-lala #218
  • Add cell reference automatic when there is no cell reference('r' attribute) in Xlsx file. - @GreatHumorist #225 Refer to issue#201
  • Reader\Xlsx::getFromZipArchive() function return false if the zip entry could not be located. - @anton-harvey #268

BREAKING CHANGE

  • Extracted coordinate method to dedicate class migration guide.
  • Column indexes are based on 1, see the migration guide.
  • Standardization of array keys used for style, see the migration guide.
  • Easier usage of PDF writers, and other custom readers and writers, see the migration guide.
  • Easier usage of chart renderers, see the migration guide.
  • Rename a few more classes to keep them in their related namespaces:
    • CalcEngine => Calculation\Engine
    • PhpSpreadsheet\Calculation => PhpSpreadsheet\Calculation\Calculation
    • PhpSpreadsheet\Cell => PhpSpreadsheet\Cell\Cell
    • PhpSpreadsheet\Chart => PhpSpreadsheet\Chart\Chart
    • PhpSpreadsheet\RichText => PhpSpreadsheet\RichText\RichText
    • PhpSpreadsheet\Style => PhpSpreadsheet\Style\Style
    • PhpSpreadsheet\Worksheet => PhpSpreadsheet\Worksheet\Worksheet

[1.0.0-beta] - 2017-08-17

Added

  • Initial implementation of SUMIFS() function
  • Additional codepages
  • MemoryDrawing not working in HTML writer #808
  • CSV Reader can auto-detect the separator used in file #141
  • HTML Reader supports some basic inline styles #180

Changed

  • Start following SemVer properly.

Fixed

  • Fix to getCell() method when cell reference includes a worksheet reference - @MarkBaker
  • Ignore inlineStr type if formula element exists - @ncrypthic #570
  • Excel 2007 Reader freezes because of conditional formatting - @rentalhost #575
  • Readers will now parse files containing worksheet titles over 31 characters #176

General

  • Whitespace after toRichTextObject() - @MarkBaker #554
  • Optimize vlookup() sort - @umpirsky #548
  • c:max and c:min elements shall NOT be inside c:orientation elements - @vitalyrepin #869
  • Implement actual timezone adjustment into PHPExcel_Shared_Date::PHPToExcel - @sim642 #489

BREAKING CHANGE

  • Introduction of namespaces for all classes, eg: PHPExcel_Calculation_Functions becomes PhpOffice\PhpSpreadsheet\Calculation\Functions
  • Some classes were renamed for clarity and/or consistency:

For a comprehensive list of all class changes, and a semi-automated migration path, read the migration guide.

  • Dropped PHPExcel_Calculation_Functions::VERSION(). Composer or git should be used to know the version.
  • Dropped PHPExcel_Settings::setPdfRenderer() and PHPExcel_Settings::setPdfRenderer(). Composer should be used to autoload PDF libs.
  • Dropped support for HHVM

Previous versions of PHPExcel

The changelog for the project when it was called PHPExcel is still available.