Releases: thephpleague/csv
version 9.6.1
version 9.6.0
Added
- More return types and type parameters as supported in PHP7.2+
League\Csv\Statement::create
named constructor to ease constraint builder instantiationLeague\Csv\Statement
can now also processLeague\Csv\ResultSet
instances.League\Csv\TabularDataReader
interface to represent how to read tabular dataLeague\Csv\ResultSet::getRecords
has an optional$header
second argument to make the method works likeLeague\Csv\Reader::getRecords
League\Csv\ResultSet::createFromTabularDataReader
create a new instance fromLeague\Csv\TabularDataReader
implementing class.
Deprecated
- Nothing
Fixed
League\Csv\Reader
no longer uses__call
to implementfetchOne
,fetchPairs
andfetchColumn
methods.
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\Exception
exception marker class #360, #361
feature proposed and developed by Darren MillerLeague\Csv\UnavailableFeature
League\Csv\InvalidArgument
League\Csv\SyntaxError
Deprecated
- Nothing
Fixed
- bug fix
bom_match
function see issue #363 resolved based on PR from Jerry Martinez - bug fix
delemiter_detect
function see issue #366
Removed
- Nothing
version 9.4.1
version 9.4.0
Added
-
Adding support for controlling empty record presence in
Reader::getRecords
return value.Reader::includeEmptyRecords
Reader::skipEmptyRecords
Reader::isEmptyRecordsIncluded
-
Adding support for controlling Input BOM usage in the library:
AbstractCsv::skipInputBOM
AbstractCsv::includeInputBOM
AbstractCsv::isInputBOMIncluded
Deprecated
- Nothing
Fixed
EmptyEscapeParser::parse
no longer auto skip empty records
Removed
- Nothing
version 9.3.0
Added
XMLConverter::import
see #348 thanks @kusabi- Support for
thead
,tfoot
andtbody
inHTMLConverter::convert
via the addition of
protected methodsHTMLConverter::addHTMLAttributes
andHTMLConverter::appendHeaderSection
#348 thanks @kusabi
Deprecated
- Nothing
Fixed
- Internal improvement in
Reader
dockblock thanks @ghobaty. - Improve strict comparison when using
preg_match
. - Improve CSV control in
Stream
.
Removed
- Nothing
version 9.2.1
Added
- Nothing
Fixed
AbstractCSV::chunk
see #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::getPathname
see #321 thanks @tomkyle
Deprecated
League\Csv\RFC4180Field
useAbstractCSV::setEscape
method with an empty string instead.
Fixed
-
AbstractCSV::__construct
correctly initializes properties -
AbstractCSV::createFromString
named constructor default argument is now the empty string -
AbstractCSV::setEscape
now accepts the empty string likefputcsv
andfgetcsv
-
Writer::insertOne
fixes throwing exception when record can not be inserted -
XMLConverter
convert to string the record value to avoid PHP warning onnull
value -
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
returns0
if the seeked position0
is valid see #321 thanks @HaozhouChen -
Reader:getHeader
when the record is an empty line.
Removed
- Nothing
version 9.1.4
version 9.1.3
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