Releases: thephpleague/csv
Releases · thephpleague/csv
version 9.10.0
Added
Writer::forceEnclosureandWriter::relaxEnclosureto control the presence of enclosure in the generated CSVWriter::getEndOfLineandWriter::setEndOfLine
Deprecated
EncloseFieldstream filter in favor of the newWriter::forceEnclosuremethod.Writer::getNewlineandWriter::setNewlinein favor ofWriter::getEndOfLineandWriter::setEndOfLine
Fixed
Stream::fwriteto allow writing to a file in a normalized way. Internal use.- Documentation Fixed removing unreleased documented feature by @nclavaud
Removed
- None
version 9.9.0
Added
TabularDataWriterinterface to represent how to write to a tabular data document.TabularDataReader::firstto replaceTabularDataReader::fetchOneTabularDataReader::nthto replaceTabularDataReader::fetchOneCharsetConverter::addBOMSkippingToto improve BOM skipping see bug #483
Deprecated
TabularDataReader::fetchOne
Fixed
-
Stream::createFromResource -
Stream::__constructis made private. The class is already marked as internal so BC break does not apply on it. -
Using PHP8 feature to rewrite internal codebase
-
Replaced simple comparisons with strict comparison operator where types are obvious in internal codebase by @astepin
-
Marked class constants explicitly as public by @astepin
-
Minimal support version PHP8.1.2
-
Fix Docblock and method signature using PHP8 feature (Union Type)
-
Fix Internal codebase around
seekusage and `#75917 requires PHP8.1.2 -
Remove internal usage of deprecated methods
Removed
Stream::fwriteThe class is already marked as internal so BC break does not apply on it.Stream::fgetsThe class is already marked as internal so BC break does not apply on it.- Drop support for PHP7 and PHP8.0
- Polyfill to enable using fputcsv
$eolargument
version 9.8.0
Added
- Added PHP7.4 typed properties where applicable
TabularDataReader::fetchColumnByNameto replaceTabularDataReader::fetchColumnTabularDataReader::fetchColumnByOffsetto replaceTabularDataReader::fetchColumn
Deprecated
TabularDataReader::fetchColumnuseTabularDataReader::fetchColumnByOffsetorTabularDataReader::fetchColumnByNameinstead
Fixed
AbstractCsvconstructor is marked final via docblock.
The method should never be extended or changed in child classes to avoid unexpected behaviour
Removed
- PHP7.3 support
- Remove internal
EmptyEscapeParserPolyfill used inReaderclass - Remove PHP7.4 polyfill features in
Writerclass
version 9.7.4
Added
- None
Deprecated
- None
Fixed
- Bug fix
EscapeFormulato follow OWASP latest recommendation PR #452
thanks to @robertfausk and @Lehmub
Removed
- None
version 9.7.3
Added
- None
Deprecated
- None
Fixed
- Update PHPStan requirement for development
- Improve Documentation generation thanks to pdelre
- PHP8.1 compliance: using
ReturnTypeWillChangeto avoid emitting a unnecessary deprecation notice. thanks to cedric-anne
Removed
- None
version 9.7.2
Added
- None
Deprecated
- None
Fixed
- Update dependencies requirement for development
- PHP8.1 compliance: replace
FILTER_SANITIZE_STRINGbyFILTER_UNSAFE_RAW - PHP8.1 compliance: remove duplicated public properties declaration
- PHP8.1 compliance: add support for fputcsv
$eolargument
Removed
- None
version 9.7.1
version 9.7.0
Added
League\Csv\SyntaxError::duplicateColumnNamesto expose column name duplicates during header usageLeague\Csv\UnableToProcessCsvas the new Exception Marker InterfaceLeague\Csv\UnavailableStreamas the new ExceptionLeague\Csv\Info::getDelimiterStatsto replace the namespace functiondelimiter_detectLeague\Csv\Info::fetchBOMSequenceto replace the namespace functionbom_matchLeague\Csv\AbstractCsv::toStringto replaceLeague\Csv\AbstractCsv::getContentandLeague\Csv\AbstractCsv::__toStringLeague\Csv\XMLConverter::createto replaceLeague\Csv\XMLConverter::__constructLeague\Csv\HTMLConverter::createto replaceLeague\Csv\HTMLConverter::__constructLeague\Csv\AbstractCsv::supportsStreamFilterOnReadandLeague\Csv\AbstractCsv::supportsStreamFilterOnWriteto replaceLeague\Csv\AbstractCsv::supportsStreamFilterandLeague\Csv\AbstractCsv::getStreamFilterMode
Deprecated
League\Csv\delimiter_detectuseLeague\Csv\Info::getDelimiterStatsLeague\Csv\bom_matchuseLeague\Csv\Info::fetchBOMSequenceLeague\Csv\AbstractCsv::getContentuseLeague\Csv\AbstractCsv::toStringLeague\Csv\AbstractCsv::getStreamFilterModeuseLeague\Csv\AbstractCsv::supportsStreamFilterOnReadorLeague\Csv\AbstractCsv::supportsStreamFilterOnWriteLeague\Csv\AbstractCsv::supportsStreamFilteruseLeague\Csv\AbstractCsv::supportsStreamFilterOnReadorLeague\Csv\AbstractCsv::supportsStreamFilterOnWrite- Calling exceptions constructor, use named constructors instead.
League\Csv\XMLConverter::__constructuseLeague\Csv\XMLConverter::createLeague\Csv\HTMLConverter::__constructuseLeague\Csv\HTMLConverter::create
Fixed
- Move tests into the
srcdirectory - Fixed encoder method resolver implementation
- all classes marked as
@internalare now final League\Csv\AbstractCsv::STREAM_FILTER_MODEconstant replacesLeague\Csv\AbstractCsv::$stream_filter_mode
Removed
- Support for PHP7.2
League\Csv\AbstractCsv::$stream_filter_mode