All Versions
56
Latest Version
Avg Release Cycle
88 days
Latest Release
236 days ago

Changelog History
Page 2

  • v9.2.0 Changes

    March 08, 2019

    โž• Added

    • ๐Ÿ‘Œ Supports for PHP7.4 empty string for the escape character.
    • ๐Ÿ‘Œ Supports for empty string for the escape character with a polyfill for PHP7.4- versions.
    • ๐Ÿ‘€ AbstractCSV::getPathname see #321 thanks @tomkyle

    ๐Ÿ—„ Deprecated

    • League\Csv\RFC4180Field use AbstractCSV::setEscape method with an empty string instead.

    ๐Ÿ›  Fixed

    AbstractCSV::__construct correctly initializes properties

    0๏ธโƒฃ AbstractCSV::createFromString named constructor default argument is now the empty string

    AbstractCSV::setEscape now accepts the empty string like fputcsv and fgetcsv

    ๐Ÿ›  Writer::insertOne fixes throwing exception when record can not be inserted

    โš  XMLConverter convert to string the record value to avoid PHP warning on null value

    0๏ธโƒฃ Internal Stream::createFromString named constructor default argument is now the empty string

    Internal Stream::fwrite improved

    โš  Internal Stream::__destruct no longer emit warning on invalid stream filter removal.

    ๐Ÿ‘€ Internal Stream::seek returns 0 if the seeked position 0 is valid see #321 thanks @HaozhouChen

    Reader:getHeader when the record is an empty line.

    โœ‚ Removed

    • Nothing
  • v9.1.4 Changes

    May 01, 2018

    โž• Added

    • Nothing

    ๐Ÿ—„ Deprecated

    • Nothing

    ๐Ÿ›  Fixed

    Writer::setFlushThreshold should accept 1 as an argument #289

    CharsetConverter::convert should not try to convert numeric value #287

    โœ‚ Removed

    • Nothing
  • v9.1.3 Changes

    March 12, 2018

    โž• Added

    • Nothing

    ๐Ÿ—„ Deprecated

    • Nothing

    ๐Ÿ›  Fixed

    • Writer::insertOne allow empty array to be added to the CSV (allow inserting empty row)
    • โœ‚ Removed all return type from named constructor see #285
    • โž• Added PHPStan for static code analysis

    โœ‚ Removed

    • Nothing
  • v9.1.2 Changes

    February 05, 2018

    โž• Added

    • Nothing

    ๐Ÿ—„ Deprecated

    • Nothing

    ๐Ÿ›  Fixed

    • is_iterable polyfill for PHP7.0
    • ๐Ÿ‘ป Reader::getHeader no longer throws exception because of a bug in PHP7.2+ issue #279

    โœ‚ Removed

    • Nothing
  • v9.1.1 Changes

    November 28, 2017

    โž• Added

    • Nothing

    ๐Ÿ—„ Deprecated

    • Nothing

    ๐Ÿ›  Fixed

    issue with error_get_last usage when using a modified PHP error handler see #254 - fixed by @csiszarattila

    โœ‚ Removed seekable word from Stream exception messages.

    โœ‚ Removed

    • Nothing
  • v9.1.0 Changes

    October 20, 2017

    โž• Added

    • ๐Ÿ‘Œ Support for non seekable stream. When seekable feature are required an exceptions will be thrown.
    • League\Csv\EncloseField to force enclosure insertion on every field. #269
    • League\Csv\EscapeFormula a League CSV formatter to prevent CSV Formula Injection in Spreadsheet programs.
    • League\Csv\RFC4180Field::addTo accept an option $replace_whitespace argument to improve RFC4180 compliance.
    • League\Csv\Abstract::getContent to replace League\Csv\Abstract:: __toString. The __ toString method may trigger a Fatal Error with non seekable stream, instead you are recommended to used the new getContent method which will trigger an exception instead.

    ๐Ÿ—„ Deprecated

    • League\Csv\Abstract:: __toString use League\Csv\Abstract::getContent instead. the __ toString triggers a Fatal Error when used on a non-seekable CSV document. use the getContent method instead which will trigger an exception instead.

    ๐Ÿ›  Fixed

    • ๐Ÿ› Bug fixes headers from AbstractCsv::output according to RFC6266 #250
    • ๐Ÿ‘‰ Make sure the internal source still exists before closing it #251
    • ๐Ÿ‘€ Make sure the Reader::createFromPath default open mode is r see #258 and #266

    โœ‚ Removed

    • Nothing
  • v9.0.1 Changes

    August 21, 2017

    โž• Added

    • Nothing

    ๐Ÿ—„ Deprecated

    • Nothing

    ๐Ÿ›  Fixed

    • ๐Ÿ‘€ CSV controls not applied when calling Writer::insertOne see issue #244

    โœ‚ Removed

    • Nothing
  • v9.0.0 Changes

    August 18, 2017

    โž• Added

    • ๐Ÿ‘Œ Improved CSV Records selection
      • League\Csv\Reader::getRecords to access all CSV records
      • League\Csv\Statement provides a constraint builder to select CSV records.
      • League\Csv\ResultSet represents the result set of the selected CSV records.
      • League\Csv\delimiter_detect function to detect CSV delimiter character
    • ๐Ÿ‘Œ Improved CSV document header selection.
      • League\Csv\Reader::getHeader
      • League\Csv\Reader::getHeaderOffset
      • League\Csv\Reader::setHeaderOffset
    • ๐Ÿ‘Œ Improved CSV Records conversion
      • League\Csv\CharsetConverter converts CSV records charset.
      • League\Csv\XMLConverter converts CSV records into DOMDocument
      • League\Csv\HTMLConverter converts CSV records into HTML table.
    • ๐Ÿ‘Œ Improved Exception handling
      • League\Csv\Exception the default exception
      • League\Csv\CannotInsertRecord
    • ๐Ÿ‘Œ Improved CSV document output
      • League\Csv\AbstractCsv::chunk method to output the CSV document in chunk
      • League\Csv\bom_match function to detect BOM sequence in a given string
      • League\Csv\ByteSequence interface to decoupled BOM sequence from CSV documents
    • ๐Ÿ‘Œ Improved CSV records column count consistency on insertion
      • League\Csv\ColumnConsistency
    • ๐Ÿ‘Œ Improved CSV document flush mechanism on insertion
      • League\Csv\Writer::setFlushThreshold
      • League\Csv\Writer::getFlushThreshold
    • ๐Ÿ‘Œ Improve RFC4180 compliance
      • League\Csv\RFC4180Field to format field according to RFC4180 rules

    ๐Ÿ—„ Deprecated

    • Nothing

    ๐Ÿ›  Fixed

    • ๐Ÿ‘Œ Improved CSV record insertion

      • League\Csv\Writer::insertOne only accepts an array and returns a integer
      • League\Csv\Writer::insertAll only accepts an iterable of array and returns an integer
    • Normalized CSV offset returned value

      • League\Csv\Reader::fetchColumn always returns the CSV document original offset.

    โœ‚ Removed

    • examples directory
    • ๐Ÿ‘ PHP5 support
    • ๐Ÿšš The following method is removed because The BOM API is simplified:
      • League\Csv\AbstractCsv::stripBOM
    • ๐Ÿšš All conversion methods are removed in favor of the conversion classes:
      • League\Csv\Writer::jsonSerialize
      • League\Csv\AbstractCsv::toHTML
      • League\Csv\AbstractCsv::toXML
      • League\Csv\AbstractCsv::setInputEncoding
      • League\Csv\AbstractCsv::getInputEncoding
    • ๐Ÿšš The following methods are removed because the PHP stream filter API is simplified:
      • League\Csv\AbstractCsv::isActiveStreamFilter
      • League\Csv\AbstractCsv::setStreamFilterMode
      • League\Csv\AbstractCsv::appendStreamFilter
      • League\Csv\AbstractCsv::prependStreamFilter
      • League\Csv\AbstractCsv::removeStreamFilter
      • League\Csv\AbstractCsv::clearStreamFilters
    • ๐Ÿšš The following methods are removed because switching between connections is no longer possible:
      • League\Csv\AbstractCsv::newReader
      • League\Csv\AbstractCsv::newWriter
      • League\Csv\Reader::getNewline
      • League\Csv\Reader::setNewline
    • ๐Ÿšš The Exception mechanism is improved thus the following class is removed:
      • League\Csv\Exception\InvalidRowException;
    • ๐Ÿšš The CSV records filtering methods are removed in favor of the League\Csv\Statement class:
      • League\Csv\AbstractCsv::addFilter,
      • League\Csv\AbstractCsv::addSortBy,
      • League\Csv\AbstractCsv::setOffset,
      • League\Csv\AbstractCsv::setLimit;
    • CSV records selecting API methods is simplified:
      • League\Csv\Reader::each
      • League\Csv\Reader::fetch
      • League\Csv\Reader::fetchAll
      • League\Csv\Reader::fetchAssoc
      • League\Csv\Reader::fetchPairsWithoutDuplicates
    • ๐Ÿšš Formatting and validating CSV records on insertion is simplified, the following methods are removed:
      • League\Csv\Writer::hasFormatter
      • League\Csv\Writer::removeFormatter
      • League\Csv\Writer::clearFormatters
      • League\Csv\Writer::hasValidator
      • League\Csv\Writer::removeValidator
      • League\Csv\Writer::clearValidators
      • League\Csv\Writer::getIterator
    • ๐Ÿ“ฆ The following Formatters and Validators classes are removed from the package:
      • League\Csv\Plugin\SkipNullValuesFormatter
      • League\Csv\Plugin\ForbiddenNullValuesValidator
      • League\Csv\Plugin\ColumnConsistencyValidator replace by League\Csv\ColumnConsistency
    • League\Csv\Writer no longers implements the IteratorAggregate interface
    • League\Csv\AbstractCsv::fetchDelimitersOccurrence is removed replace by League\Csv\delimiter_detect function
  • v8.2.3 Changes

    February 06, 2018

    โž• Added

    • None

    ๐Ÿ—„ Deprecated

    • None

    ๐Ÿ›  Fixed

    • ๐Ÿ‘ป Reader::fetchAssoc no longer throws exception because of a bug in PHP7.2+ issue #279

    โœ‚ Removed

    • None
  • v8.2.2 Changes

    July 12, 2017

    โž• Added

    • None

    ๐Ÿ—„ Deprecated

    • None

    ๐Ÿ›  Fixed

    • Writer::insertOne was silently failing when inserting record in a CSV document in non-writing mode.
    • ๐Ÿ› bug fix docblock

    โœ‚ Removed

    • None