Releases: thephpleague/csv
version 9.6.0
Added
- More return types and type parameters as supported in PHP7.2+
League\Csv\Statement::createnamed constructor to ease constraint builder instantiationLeague\Csv\Statementcan now also processLeague\Csv\ResultSetinstances.League\Csv\TabularDataReaderinterface to represent how to read tabular dataLeague\Csv\ResultSet::getRecordshas an optional$headersecond argument to make the method works likeLeague\Csv\Reader::getRecordsLeague\Csv\ResultSet::createFromTabularDataReadercreate a new instance fromLeague\Csv\TabularDataReaderimplementing class.
Deprecated
- Nothing
Fixed
League\Csv\Readerno longer uses__callto implementfetchOne,fetchPairsandfetchColumnmethods.
Removed
- Internal polyfill for
is_iterable - Internal polyfill for
is_nullable_int - Support for PHP7.0 and PHP7.1
version 9.5.0
Added
- Improve package exception throwing by adding new exceptions classes that extends
theLeague\Csv\Exceptionexception marker class #360, #361
feature proposed and developed by Darren MillerLeague\Csv\UnavailableFeatureLeague\Csv\InvalidArgumentLeague\Csv\SyntaxError
Deprecated
- Nothing
Fixed
- bug fix
bom_matchfunction see issue #363 resolved based on PR from Jerry Martinez - bug fix
delemiter_detectfunction see issue #366
Removed
- Nothing
version 9.4.1
version 9.4.0
Added
-
Adding support for controlling empty record presence in
Reader::getRecordsreturn value.Reader::includeEmptyRecordsReader::skipEmptyRecordsReader::isEmptyRecordsIncluded
-
Adding support for controlling Input BOM usage in the library:
AbstractCsv::skipInputBOMAbstractCsv::includeInputBOMAbstractCsv::isInputBOMIncluded
Deprecated
- Nothing
Fixed
EmptyEscapeParser::parseno longer auto skip empty records
Removed
- Nothing
version 9.3.0
Added
XMLConverter::importsee #348 thanks @kusabi- Support for
thead,tfootandtbodyinHTMLConverter::convertvia the addition of
protected methodsHTMLConverter::addHTMLAttributesandHTMLConverter::appendHeaderSection#348 thanks @kusabi
Deprecated
- Nothing
Fixed
- Internal improvement in
Readerdockblock thanks @ghobaty. - Improve strict comparison when using
preg_match. - Improve CSV control in
Stream.
Removed
- Nothing
version 9.2.1
Added
- Nothing
Fixed
AbstractCSV::chunksee #325 remove CSV flags from the Stream class to avoid infinite loop.- Internal improve
HTMLConverter.
Deprecated
- Nothing
Removed
- Nothing
version 9.2.0
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::getPathnamesee #321 thanks @tomkyle
Deprecated
League\Csv\RFC4180FielduseAbstractCSV::setEscapemethod with an empty string instead.
Fixed
-
AbstractCSV::__constructcorrectly initializes properties -
AbstractCSV::createFromStringnamed constructor default argument is now the empty string -
AbstractCSV::setEscapenow accepts the empty string likefputcsvandfgetcsv -
Writer::insertOnefixes throwing exception when record can not be inserted -
XMLConverterconvert to string the record value to avoid PHP warning onnullvalue -
Internal
Stream::createFromStringnamed constructor default argument is now the empty string -
Internal
Stream::fwriteimproved -
Internal
Stream::__destructno longer emit warning on invalid stream filter removal. -
Internal
Stream::seekreturns0if the seeked position0is valid see #321 thanks @HaozhouChen -
Reader:getHeaderwhen the record is an empty line.
Removed
- Nothing
version 9.1.4
version 9.1.3
Added
- Nothing
Deprecated
- Nothing
Fixed
Writer::insertOneallow 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
version 8.2.3
Added
- None
Deprecated
- None
Fixed
Reader::fetchAssocno longer throws exception because of a bug in PHP7.2+ issue #279
Removed
- None