ParseCSV 1.2.0 ----------------------------------- Date: 07-Jan-2020 Breaking changes: none New features: - Compatible with PHP 7.4. Thanks to @andreybolonin @morrislaptop @martijnengler and @fjf2002. - unparse() now also understands $use_mb_convert_encoding. - Verbal condition operators are now allowed to contain upper case letters, for example: $csv->conditions = 'rating IS GREATER THAN 4'; Bug fixes: - All filter condition operators containing "is" or "equals" were broken. Code quality: - Improved test coverage. ----------------------------------- ParseCSV 1.1.1 ----------------------------------- Date: 2-Feb-2019 Breaking changes: none New features: none Bug fixes: - Function load_data: check length of input, prevents E_NOTICE if too long. - Fixed bugs in unparse(). Code quality: - Improved test coverage. ----------------------------------- ParseCSV 1.1.0 ----------------------------------- Date: 9-Aug-2018 Breaking changes: - Ignore entirely empty lines at the end of files See https://github.com/parsecsv/parsecsv-for-php/pull/142 - Dropped support for PHP 5.4. Now, you need at leas PHP 5.5. - Fixed parse()'s return value: return true only if $data is useful. New features: - Added support for Laravel-style collections via the new getCollection() function - see https://github.com/parsecsv/parsecsv-for-php/pull/134 - New function getTotalDataRowCount() - useful if $limit is set - see pull request #122. - Added requires to keep Composer-free environments working. Bug fixes: - Better support for streams. See https://github.com/parsecsv/parsecsv-for-php/pull/147 - Fixed output() with custom header. See https://github.com/parsecsv/parsecsv-for-php/issues/132 - Fixed bug on _validate_fields_for_unparse() if titles property is used instead of fields parameter for changing the titles for unparsing. - Fixed bug in unparse() that caused incorrect column order (Issue #41). Code quality: - Improved test coverage. ----------------------------------- ParseCSV 1.0.0 ----------------------------------- Date: 3-March-2018 - Renamed class from parseCSV to Csv and added name- space "ParseCsv" for PSR compliance. - Added support for MS Excel's "sep=" to detect the delimiter (Issue #60). - Added data type detection - function getDatatypes() guesses the type of each column. - MIME: output() sends correct MIME type to browser if the separator is a tab char (Issue #79). - Added support for mb_convert_encoding() instead of iconv() - see issue #109. - A number of minor bug fixes - see GitHub issues. - Added many more unit tests. ----------------------------------- parseCSV 0.4.3 beta ----------------------------------- Date: 1-July-2008 - Issue #4. Added an option for setting sorting type behavior when sorting data. Simply set $csv->sort_type to "regular", "numeric", or "string". - Issue #6. Raw loaded file data is now cleared from file_data property when it has been successfully parsed to keep parseCSV's memory footprint to a minimum. Specifically handy when using multiple instances of parseCSV to process large files. ----------------------------------- parseCSV 0.4.2 beta ----------------------------------- Date: 31-May-2008 - IMPORTANT! If you're using the output(), method please note that the first parameter has been completely removed as it was technically just useless. Instead, the second parameter (filename) doubles as its replacement. Simply put, if filename is not set or null, the output() method will not output a downloadable file. Please update your existing code when using 0.4.2 and later :) - Small fix to the headers sent by the output() method. - Added a download example using the output() method to the examples folder. ----------------------------------- parseCSV 0.4.1 beta ----------------------------------- Date: 29-May-2008 - Fixed a small bug in how the output() method handles input data. ----------------------------------- parseCSV 0.4 beta ----------------------------------- Date: 11-Apr-2008 - Error reporting for files/data which is corrupt or has formatting errors like using double quotes in a field without enclosing quotes. Or not escaping double quotes with a second one. - parse() method does not require input anymore if the "$object->file" property has been set. I'm calling this a beta release due to the heavy modifications to the core parsing logic required for error reporting to work. I have tested the new code quite extensively, I'm fairly confident that it still parses exactly as it always has. The second reason I'm calling it a beta release is cause I'm sure the error reporting code will need more refinements and tweaks to detect more types of errors, as it's only picking two types or syntax errors right now. However, it seems these two are the most common errors that you would be likely to come across. ----------------------------------- parseCSV 0.3.2 ----------------------------------- Date: 1-Apr-2008 This is primarily a bug-fix release for a critical bug which was brought to my attention. - Fixed a critical bug in conditions parsing which would generate corrupt matching patterns causing the condition(s) to not work at all in some situations. - Fixed a small code error which would cause PHP to generate a invalid offset notice when zero length values were fed into the unparse() method to generate CSV data from an array. Notice: If you have been using the "parsecsv-stable" branch as an external in any of your projects, please use the "stable/parsecsv" branch from this point on as I will eventually remove the former due to it's stupid naming. ----------------------------------- parseCSV 0.3.1 ----------------------------------- Date: 1-Sep-2007 - Small change to default output settings to conform with RFC 4180 (http://rfc.net/rfc4180.html). Only the LF (line feed) character was used by default to separate rows, rather than CRLF (carriage return & line feed). ----------------------------------- parseCSV 0.3.0 ----------------------------------- Date: 9-Aug-2007 - Changed to the MIT license. - Added offset and limit options. - Added SQL-like conditions for quickly filtering out entries. Documentation on the condition syntax is forthcoming. - Small parsing modification to comply with some recent changes to the specifications outlined on Wikipedia's Comma-separated values article. - Minor changes and optimizations, and a few spelling corrections. Oops :) - Included more complex code examples in the parseCSV download. ----------------------------------- parseCSV 0.2.1 ----------------------------------- Date: 8-Aug-2007 - Fixed stupid code which caused auto function to not work in some situations. ----------------------------------- parseCSV 0.2.0 beta ----------------------------------- Date: 2-Jan-2007 - Added auto() function to automatically detect delimiter character. Useful for user upload in case delimiter is comma (,), tab, or semi-colon (;). Some versions of MS Excel for Windows use semi-colons instead of commas when saving to CSV files. It uses a process of elimination to eliminate characters that can not be the delimiter, so it should work on all CSV-structured files almost no matter what the delimiter is. - Generally updated some of the core workings to increase performance, and offer better support for large (1MB and up) files. - Added code examples to header comment. ----------------------------------- parseCSV 0.1.6 beta ----------------------------------- Date: 22-Dec-2006 - Updated output() function. ----------------------------------- parseCSV 0.1.5 beta ----------------------------------- Date: 22-Dec-2006 - Added output() function for easy output to browser, for downloading features for example. ----------------------------------- parseCSV 0.1.4 beta ----------------------------------- Date: 17-Dec-2006 - Minor changes and fixes ----------------------------------- parseCSV 0.1.3 beta ----------------------------------- Date: 17-Dec-2006 - Added GPL v2.0 license. ----------------------------------- parseCSV 0.1.2 beta ----------------------------------- Date: 17-Dec-2006 - Added encoding() function for easier character encoding configuration. ----------------------------------- parseCSV 0.1.1 beta ----------------------------------- Date: 24-Nov-2006 - Added support for a PHP die command on first line of csv files if they have a .php extension to protect secure data from being displayed directly to the browser. ----------------------------------- parseCSV 0.1 beta ----------------------------------- Date: 23-Nov-2006 - Initial release -----------------------------------