Added
- Support for
Closurein constant expressions during Record Mapping. AbstractCsv::fromStreamto instantiate aReaderor aWriterinstance from a stream or aSplFileObjectobjectAbstractCsv::fromPathto instantiate aReaderor aWriterinstance from a path as a string or aSplFileInfoobject- Support for
SortDirectionenum from PHP 8.6+ - #580 by okorneliuk - Record inference feature
- Added missing
Buffer::valuemethod
Deprecated
- None
Fixed
- Reduce the runtime and peak memory usage of
JsonConverterpretty printing. SwapDelimiter::prependTonow prepends the stream filter instead of appending it.Writer::forceEnclosurenow doubles embedded enclosures when the escape character is the empty string.EscapeFormularound-trip now preserves fields starting with the escape character- BOM handling is re-written to fix #586
- CSV Header during CSV download.
- Remove
ArrayIterator::uasortusage because the method is deprecated in PHP8.6. - Use
STREAM_FILTER_WRITEinprependStreamFilterOnWritemethod - #577 by zigzagdev - Initialize
$callbackproperty to null to prevent uninitialized property - #576 by zigzagdev - Fix EscapeFormula round-trip - #583 by binggao1230
- Leave an empty field untouched in EscapeFormula::escapeField - #593 by lenamonj
- Fix
TimeFieldseparator - #592 by lenamonj - Fix
Buffer::nthandBuffer::nthASObject#594 by dualfroz - Fix
FragmentFinder::findFirstcrashing see issue #596 - Fix
FragmentFinderignoring row and column ranges whose start and end are the same, likerow=4-4- #599 by ybai08 - Fix
FragmentFinderignoring positions written with leading zeros, likerow=05-07, which RFC 7111 allows - #600 by ybai08 - Fix
CharsetConverterdecodingUTF-16andUTF-32input with the wrong byte order after the first chunk when the stream starts with a little-endian BOM - #602 by wleeaf - Fix
Readerreturning an extra empty record at the end of anSplFileObjectdocument when empty records are included - #603 by wleeaf - Fix the
NOT BETWEENandNOT_BETWEENcomparison operators being resolved toBETWEEN- #604 by wleeaf - Fix query constraints and orderings throwing an
ArgumentCountErrorwhen the column value is resolved through an object__callmethod - #605 by youdie006 TabularData::valuenow supports negative column offset. Beforenullwas always returned; nownullis only returned if the column offset does not exist.
Remove
- Support for PHP8.1