Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Csv Laravel Package

league/csv

View on GitHub
Deep Wiki
Context7
9.28.0

Added

  • EnumFormatter to format Enum for CSV serialization

Deprecated

  • None

Fixed

  • None

Remove

  • None

This is the last version supporting PHP8.1

9.27.1

Added

  • None

Deprecated

  • None

Fixed

  • AbstractCsv::download improved implementation see #569

Remove

  • None
9.27.0

Added

  • AbstractCsv::from and AbstractCsv::fromString to simplify instantiating Reader and Writer instance.
  • Stream::from and Stream::fromString to simplify internal instantiation of Stream instances.

Deprecated

  • AbstractCsv::createFromString use AbstractCsv::fromString instead
  • AbstractCsv::createFromStream use AbstractCsv::from instead
  • AbstractCsv::createFromFileObject use AbstractCsv::from instead
  • Stream::createFromResource use Stream::from instead
  • Stream::createFromString use Stream::fromString instead

Fixed

  • `None

Remove

  • None
9.26.0

Added

  • JsonFormat::NdJsonHeader and JsonFormat::NdJsonHeaderLess
  • JsonConverter conversion methods accept an optional $header parameter to handle the new JSON formats.
  • Writer::insertAll and converter classes convert methods now accept TabularData and TabularDataProvider implementing classes

Deprecated

  • None

Fixed

  • Adding an internal Warning class to fix warnings triggering in the codebase.
  • Fix chunkSize usage when NDJson is generated by the JsonConverter class.
  • NdJson/Jsonlines content-type is fixed to application/x-ndjson.

Remove

  • None
9.25.0

Added

  • JsonFormat Enum to allow exporting to JsonLines with the JsonConverter object.
  • TabularDataProvider interface to allow connecting to the package features without implementing all the methods.

Deprecated

  • None

Fixed

  • Fix test around equality, PHPUnit and closures #568
  • Added support for PHP8.5 in github actions
  • Ensure DOMDocument::createTextNode() receives a string #567 by serpentblade

Remove

  • None
9.24.1

Added

  • None

Deprecated

  • None

Fixed

  • Fix possible memory leaks with the Writer class #563 - thanks to pope-12

Remove

  • None
9.24.0

Added

  • TabularData::last and TabularData::lastAsObject

Deprecated

  • None

Fixed

  • Improved implementation for AbstractCsv::download method

Remove

  • None
9.23.0

Added

  • TypeCastingInfo to improve error message when type casting fails during denormalization #561

Deprecated

  • fetchColumnByOffset and fetchColumnByName use fetchColumn instead.

Fixed

  • Test suite around header testing using Xdebug functions #559

Remove

  • None
9.22.0

Added

  • Writer::necessaryEnclosure
  • TabularDataReader::selectAllExcept
  • Statement::selectAllExcept
  • ResultSet::from and ResultSet::tryFrom
  • RdbmsResult class to ease importing RDBMS result into the package classes
  • TabularData interface
  • Buffer class
  • XMLConverter::supportsHeader
  • XMLConverter::when
  • HTMLConverter::when
  • JsonConverter::when
  • CharsetConverter::appendOnReadTo, CharsetConverter::appendOnWriteTo, CharsetConverter::prependOnReadTo, CharsetConverter::prependOnWriteTo

Deprecated

  • Writer::relaxEnclosure use Writer::necessaryEnclosure
  • ResultSet::createFromTabularDataReader use ResultSet::from
  • ResultSet::createFromRecords use ResultSet::from
  • ResultSet::__construct is marked as being internal and deprecated before being made private use ResultSet::from
  • XMLConverter::convert use XMLConverter::import instead
  • XMLConverter::create use XMLConverter::__construct instead
  • HTMLConverter::create use HTMLConverter::__construct instead
  • Statement::create use Statement::__construct instead
  • FragmentFinder::create use FragmentFinder::__construct instead
  • CharsetConverter::appendTo, CharsetConverter::prependTo use the more strict methods added on the instance

Fixed

  • Comparison::CONTAINS must check the value is a string before calling str_compare #548 by cage-is
  • Fix testing to improve Debian integration #549 by David Prévot and tenzap
  • Bom::tryFromSequence and Bom::fromSequence supports the Reader and Writer classes.
  • XMLConverter::$formatter should not be public.
  • XMLConverter internal rewritten to take advantage of PHP8.4 new dom classes
  • HTMLConverter internal rewritten to take advantage of PHP8.4 new dom classes
  • XMLConverter::fieldElement now has a nullable field element to allow using headers names as cell names.

Removed

  • None
9.21.0

Added

  • TabularDataReader::map method.
  • StreamFilter class
  • CallbackStreamFilter class
  • AbstractCsv::appendStreamFilterOnRead
  • AbstractCsv::appendStreamFilterOnWrite
  • AbstractCsv::prependStreamFilterOnRead
  • AbstractCsv::prependStreamFilterOnWrite
  • Stream::getMode returns the underlying stream mode; internal codebase.

Deprecated

  • AbstractCsv::addStreamFilter use AbstractCsv::appendStreamFilterOnRead or AbstractCsv::appendStreamFilterOnWrite instead.

Fixed

  • Improve CharsetConverter and SwapDelimiter internal code.
  • Fix supportStreamFilterOnReadand supportStreamFilterOnWrite to expose the document real stream filter capabilities.

Removed

  • None
9.20.1

Added

  • None

Deprecated

  • None

Fixed

  • #554 Fix stream filte removal by crocodele
  • Fix Statement callback and closure signature

Removed

  • None
9.20.0

Added

  • XMLConverter::formatter
  • HTMLConverter::formatter
  • Writer::encloseNone
  • Writer::encloseNecessary
  • Writer::noEnclosure

Deprecated

  • None

Fixed

  • JsonConverter::formatter now accepts callable before only Closure where accepted.
  • The protected property Writer::$enclose_all is no longer a boolean but an integer

Removed

  • None
9.19.0

Added

  • JsonConverter::withPrettyPrint now accepts an optional $identSize parameter as its unique parameter.
  • Statement::when to enable conditionable query building.
  • Using PHP8.4 Deprecated attribute to signal deprecated public API methods and constants.

Deprecated

  • JsonConverter::indentSize

Fixed

  • Adding forgotten support for callable in the Query\Constraint namespace.
  • Fix HttpHeaders::forFileDownload to be inline with RFC2183 and HTTP field name and value best practices.

Remove

  • None
9.18.0

Added

  • League\Csv\JsonConverter::chunkSize
  • League\Csv\AbstractCsv::download

Deprecated

  • League\Csv\AbstractCsv::output use League\Csv\AbstractCsv::download instead
  • League\Csv\FragmentFinder and derived methods are marked as experimental as their results will be changed in the next major version.

Fixed

  • League\Csv\JsonConverter::download the filename is now nullable
  • League\Csv\XMLConverter::download the filename is now nullable
  • League\Csv\JsonConverter::save throws a TypeError exception if the $destination type is not supported.

Remove

  • None
9.17.0

Added

  • League\Csv\SwapDelimiter::apppendTo
  • League\Csv\SwapDelimiter::prependTo
  • League\Csv\CharsetConverter::apppendTo
  • League\Csv\CharsetConverter::prependTo
  • League\Csv\XMLConverter::download
  • League\Csv\JsonConverter
  • League\Csv\Constraint\Criteria::andNot
  • League\Csv\Constraint\Criteria::orNot
  • League\Csv\Constraint\Criteria::xorNot
  • League\Csv\Serializer\MapRecord attribute
  • adding the convertEmptyStringToNull options to MapCell and to MapRecord to improve string and null conversion
  • adding the trimFieldValueBeforeCasting options to MapCell and to MapRecord to improve string conversion
  • adding the trimElementValueBeforeCasting option to CasToArray to improve conversion during denormalization
  • adding the headerOffset option to CasToArray to improve conversion during denormalization. The optoon is only used with the CSV shape.

Deprecated

  • None

Fixed

  • Cast* methods accept more input type to improve Denormalization usage when Reader::addFormatter is used or when the collection contains data other than string and null.
  • Stream::getSize is added to the internal Stream class
  • Stream::getContents is added to the internal Stream class
  • MapIterator::toIterator is added to the internal class MapIterator class to convert any iterable into an Iterator.
  • Casting a CSV to an array it now will be a collection of array instead of a simple array.
  • Added the internal class HttpHeaders to improve file download throughout the codebase.

Removed

  • leage\csv-doctrine is no longer a sub-split of the main league/csv package.
9.16.0

Added

  • Bom enum
  • Stream::ftell
  • Statement::orderByAsc
  • Statement::orderByDesc
  • Statement::andWhere
  • Statement::whereNot
  • Statement::orWhere
  • Statement::xorWhere
  • Statement::andWhereColumn
  • Statement::whereNotColumn
  • Statement::orWhereColumn
  • Statement::xorWhereColumn
  • Statement::andWhereOffset
  • Statement::whereNotOffset
  • Statement::orWhereOffset
  • Statement::xorWhereOffset
  • Query feature to allow easier filtering, ordering and querying tabular data

Deprecated

  • ByteSequence Interface use the Bom enum instead
  • Info::fetchBOMSequence use Bom::tryFromSequence instead
  • League\Csv\Doctrine use the new League\Csv\Constraint feature instead
  • League\Csv\Statement::create arguments; The method should be used without any argument at all. All arguments will be removed in the next major version.

Fixed

  • Reader and ResultSet docblocks
  • internal code uses Bom enum instead of Info::fetchBOMSequence
  • the AbstractCsv BOM related properties are moved to being Bom instances instead of nullable string.
  • setOutpuBOM will only accept valid BOM sequences all other values except the empty string will throw a ValueError exception;
  • The package no longer requires the ext-mbstring extension to work. But you should have it install in your system in order to use the mbstring related stream filters.
  • Issue #524 fix issue with ResultSet::chunkBy not working as documented.

Removed

  • None
9.15.0

Added

  • Statement::select
  • TabularDataReader::getRecordsAsObject
  • TabularDataReader::chunkBy
  • TabularDataReader::mapHeader

Deprecated

  • TabularDataReader::getObjects use TabularDataReader::getRecordsAsObject instead

Fixed

  • Reader::select and ResultSet::select now internally use Statement::select
  • Statement should not throw when LimitIterator is used in combinaison with ArrayIterator.
  • Statement internal codebase improvement.
  • Using the $header argument on Statement::process is no longer deprecated. E_USER_DEPRECATED is no longer triggered.
  • BOM stripping no longer depends on the mbstring extension
  • TabularDataReader::fetchColumn is no longer deprecated

Removed

  • None
9.14.0

Added

  • League\Csv\TabularDataReader::nthAsObject equivalent to nth but returns an object or null
  • League\Csv\TabularDataReader::firstAsObject equivalent to first but returns an object or null
  • League\Csv\Serializer\Denormalizer::types list all the registered types

Deprecated

  • None

Fixed

  • None

Removed

  • None
9.13.0

Added

  • League\Csv\SwapDelimiter stream filter to allow working with multibyte CSV delimiter
  • League\Csv\Serializer\AfterMapping to work around the limitation of not using the class constructor during denormalization.
  • League\Csv\Serializer\Denormalizer to allow registering type alias to improve callback usage.
  • League\Csv\Serializer\MapCell has a new property ignore to allow ignoring a property or a method during denormalization.

Deprecated

  • None

Fixed

  • None

Removed

  • None
9.12.0

Added

  • TabulatDataReader::value
  • TabulatDataReader::select
  • TabulatDataReader::getObjects
  • TabulatDataReader::matching
  • TabulatDataReader::matchingFirst
  • TabulatDataReader::matchingFirstOrFail
  • ResultSet::fromRecords
  • Stream::setMaxLineLen
  • Stream::getMaxLineLen
  • League\Csv\Serializer\Denormalizer to allow denormalizing records into objects #508
  • League\Csv\FragmentFinder to implement RFC7111

Deprecated

  • Using the $header argument on Statement::process is deprecated and will be removed in the next version. Use TabularDataReader::getRecords on the returned value instead. It's usage will trigger a E_USER_DEPRECATED call.

Fixed

  • The optional $header argument for TabularDataReader;;getRecords becomes a full mapper between the records column offset and the column names #498
  • ResultSet constructor now allows the records to be an array.
  • The internal Stream object will throw a RuntimeException if the rewind action fails
  • if calls to fseek fails (returns -1 ) a RuntimeException will be thrown.
  • Stream can iterate and return the full line respecting SplFielObject flags. Previously it only returned the CSV records.
  • MapIterator::fromIterable to instantiate a MapIterator object from any iterable structure.

Removed

  • None
9.11.0

Added

  • EscapeFormula::unescapeRecord does the opposite of EscapeFormula::escapeRecord
  • TabularReader::each
  • TabularReader::exists
  • TabularReader::reduce
  • TabularReader::filter
  • TabularReader::slice
  • TabularReader::sorted
  • Reader::addFormatter

All the methods from the TabularReader interface are implemented on the Reader and the ResultSet objects.

Deprecated

  • EscapeFormula::__invoke use EscapeFormula::__escapeRecord instead

Fixed

  • None

Removed

  • None
9.10.0

Added

  • Writer::forceEnclosure and Writer::relaxEnclosure to control the presence of enclosure in the generated CSV
  • Writer::getEndOfLine and Writer::setEndOfLine

Deprecated

  • EncloseField stream filter in favor of the new Writer::forceEnclosure method.
  • Writer::getNewline and Writer::setNewline in favor of Writer::getEndOfLine and Writer::setEndOfLine

Fixed

  • Stream::fwrite to allow writing to a file in a normalized way. Internal use.
  • Documentation Fixed removing unreleased documented feature by [@nclavaud](https://github.com/nclavaud)

Removed

  • None
9.9.0

Added

  • TabularDataWriter interface to represent how to write to a tabular data document.
  • TabularDataReader::first to replace TabularDataReader::fetchOne
  • TabularDataReader::nth to replace TabularDataReader::fetchOne
  • CharsetConverter::addBOMSkippingTo to improve BOM skipping see bug #483

Deprecated

  • TabularDataReader::fetchOne

Fixed

  • Stream::createFromResource

  • Stream::__construct is 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](https://github.com/astepin)

  • Marked class constants explicitly as public by [@astepin](https://github.com/astepin)

  • Minimal support version PHP8.1.2

  • Fix Docblock and method signature using PHP8 feature (Union Type)

  • Fix Internal codebase around seek usage and `#75917 requires PHP8.1.2

  • Remove internal usage of deprecated methods

Removed

  • Stream::fwrite The class is already marked as internal so BC break does not apply on it.
  • Stream::fgets The 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 $eol argument
9.8.0

Added

  • Added PHP7.4 typed properties where applicable
  • TabularDataReader::fetchColumnByName to replace TabularDataReader::fetchColumn
  • TabularDataReader::fetchColumnByOffset to replace TabularDataReader::fetchColumn

Deprecated

  • TabularDataReader::fetchColumn use TabularDataReader::fetchColumnByOffset or TabularDataReader::fetchColumnByName instead

Fixed

  • AbstractCsv constructor 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 EmptyEscapeParser Polyfill used in Reader class
  • Remove PHP7.4 polyfill features in Writer class
9.7.4

Added

  • None

Deprecated

  • None

Fixed

Removed

  • None
9.7.3

Added

  • None

Deprecated

  • None

Fixed

  • Update PHPStan requirement for development
  • Improve Documentation generation thanks to pdelre
  • PHP8.1 compliance: using ReturnTypeWillChange to avoid emitting a unnecessary deprecation notice. thanks to cedric-anne

Removed

  • None
9.7.2

Added

  • None

Deprecated

  • None

Fixed

  • Update dependencies requirement for development
  • PHP8.1 compliance: replace FILTER_SANITIZE_STRING by FILTER_UNSAFE_RAW
  • PHP8.1 compliance: remove duplicated public properties declaration
  • PHP8.1 compliance: add support for fputcsv $eol argument

Removed

  • None
9.7.1

Added

  • None

Deprecated

  • None

Fixed

Removed

  • None
9.7.0

Added

  • League\Csv\SyntaxError::duplicateColumnNames to expose column name duplicates during header usage
  • League\Csv\UnableToProcessCsv as the new Exception Marker Interface
  • League\Csv\UnavailableStream as the new Exception
  • League\Csv\Info::getDelimiterStats to replace the namespace function delimiter_detect
  • League\Csv\Info::fetchBOMSequence to replace the namespace function bom_match
  • League\Csv\AbstractCsv::toString to replace League\Csv\AbstractCsv::getContent and League\Csv\AbstractCsv::__toString
  • League\Csv\XMLConverter::create to replace League\Csv\XMLConverter::__construct
  • League\Csv\HTMLConverter::create to replace League\Csv\HTMLConverter::__construct
  • League\Csv\AbstractCsv::supportsStreamFilterOnRead and League\Csv\AbstractCsv::supportsStreamFilterOnWrite to replace League\Csv\AbstractCsv::supportsStreamFilter and League\Csv\AbstractCsv::getStreamFilterMode

Deprecated

  • League\Csv\delimiter_detect use League\Csv\Info::getDelimiterStats
  • League\Csv\bom_match use League\Csv\Info::fetchBOMSequence
  • League\Csv\AbstractCsv::getContent use League\Csv\AbstractCsv::toString
  • League\Csv\AbstractCsv::getStreamFilterMode use League\Csv\AbstractCsv::supportsStreamFilterOnRead or League\Csv\AbstractCsv::supportsStreamFilterOnWrite
  • League\Csv\AbstractCsv::supportsStreamFilter use League\Csv\AbstractCsv::supportsStreamFilterOnRead or League\Csv\AbstractCsv::supportsStreamFilterOnWrite
  • Calling exceptions constructor, use named constructors instead.
  • League\Csv\XMLConverter::__construct use League\Csv\XMLConverter::create
  • League\Csv\HTMLConverter::__construct use League\Csv\HTMLConverter::create

Fixed

  • Move tests into the src directory
  • Fixed encoder method resolver implementation
  • all classes marked as [@internal](https://github.com/internal) are now final
  • League\Csv\AbstractCsv::STREAM_FILTER_MODE constant replaces League\Csv\AbstractCsv::$stream_filter_mode

Removed

  • Support for PHP7.2
  • League\Csv\AbstractCsv::$stream_filter_mode
9.6.2

Added

  • Using Github actions as development tools.

Deprecated

  • None

Fixed

Removed

  • Removing Travis and Scrutinizr as development tools
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
milesj/emojibase
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport