Path to this page:
Subject: CVS commit: pkgsrc/textproc/p5-Text-CSV_XS
From: Havard Eidnes
Date: 2008-07-27 18:45:06
Message id: 20080727164506.D39EB175D0@cvs.netbsd.org
Log Message:
Update from version 0.23 to 0.52. Changes:
2008-06-28 0.52 - H.Merijn Brand <h.m.brand@xs4all.nl>
* Using undef for hash keys is a bad plan
* Fix, tests, and documentation for column_names ()
2008-06-17 0.51 - H.Merijn Brand <h.m.brand@xs4all.nl>
* Allow UTF8 even without binary => 1
* Fixed a few pod typo's
* Lifted the max of 255 for bind_columns
2008-06-04 0.50 - H.Merijn Brand <h.m.brand@xs4all.nl>
* Skip a few tests in automated testing, as they confuse
reports. This is important for the automated sites that
mark modules as fail if it is not an obvious full PASS
* 0.46 caused the last still open RT bug to be closed!
* Tested on 5.11.0, 5.10.0, 5.8.8, 5.6.2, and 5.005_04,
Strawberry and Cygwin
2008-06-04 0.46 - H.Merijn Brand <h.m.brand@xs4all.nl>
* In examples add die on failed close calls
* Use Test::MinimumVersion (not distributed)
* Added option -F to examples/csv2xls
* More source code cleanup
* Nailed the UTF8 issues for parsing
* Nailed the UTF8 issues for combining
2008-04-23 0.45 - H.Merijn Brand <h.m.brand@xs4all.nl>
* Forgot to pack examples/parser-xs.pl
2008-04-23 0.44 - H.Merijn Brand <h.m.brand@xs4all.nl>
* Fixed the error position returned as third arg in error_diag ()
* Made examples/csv-check use this even more vebose
* Removed double-double quote from TODO
* Added examples/parse-xs.pl (attempt to fix bad CSV)
2008-04-21 0.43 - H.Merijn Brand <h.m.brand@xs4all.nl>
* parse errors try to remember failing position
* used valgrind to test for leaks (devel-only)
* used Test::Valgrind as alternative leak check (devel-only)
* improve documentation for error 2023
* nailed the loose quotes in quoted fields
2008-04-16 0.42 - H.Merijn Brand <h.m.brand@xs4all.nl>
* Generate META.yml myself. I won't use Build.PL
* Array-refs now accept scalars with magic:
$csv->print (*STDOUT, $sth->{NAME_lc});
* More/better examples
* Added t/76_magic.t
2008-04-11 0.41 - H.Merijn Brand <h.m.brand@xs4all.nl>
* error_diag () subclassable
* typo in bind_columns () docs
* examples/csv2xls now uses getline ()
* better test for getline in t/75_hashref.t (makamata)
* document return value of getline () with bind_columns ()
* add perl version prereq to META.yml
2008-04-07 0.40 - H.Merijn Brand <h.m.brand@xs4all.nl>
* Implemented getline_hr () and column_names () RT 34474
(suggestions accepted from Mark Stosberg)
* Corrected misspelled variable names in XS
* Functions are now =head2 type doc entries (Mark Stosberg)
* Make SetDiag() available to the perl level, so errors can
be centralized and consistent
* Integrate the non-XS errors into XS
* Add t/75_hashref.t
* Testcase for error 2023 (Michael P Randall)
* Completely refactored the XS part of parse/getline, which
is now up to 6% faster. YMMV
* Completed bind_columns. On straight fetches now up to three
times as fast as normal fetches (both using getline ())
2008-03-11 0.37 - H.Merijn Brand <h.m.brand@xs4all.nl>
* Copied GIT repo to public mirror
* Fix leak / make meta info available to getline () + tests
2008-03-06 0.36 - H.Merijn Brand <h.m.brand@xs4all.nl>
* Updated ppport.h
* auto-load IO::Handle when needed
* Tested with all available perl builds, including a fresh
threaded 5.11 (blead)
2008-03-01 0.35 (Valloire) - H.Merijn Brand <h.m.brand@xs4all.nl>
* use warnings/$^W = 1
* Tested on 5.10.0, 5.8.8, 5.6.2, and 5.005_04, Strawberry and Cygwin
* Diagnostics for failed new ()
* New 'blank_is_undef' option
* Updated docs
* Extended the DIAGNOSTICS a bit
* Updated TODO
* Fixed allow_whitespace issue, revealed by blank_is_undef
* Re-enabled some tests
* Fixed parse error that passed for q{1, "bar",2} with escape_char +
* Reversed an erroneous test result in the funny combo section
* Extended diagnostics tests
* Extended XS coverage
* Removed error 2033
2008-01-04 0.34 - H.Merijn Brand <h.m.brand@xs4all.nl>
* No change, but 0.33 was shipped with an old META.yml
2008-01-02 0.33 - H.Merijn Brand <h.m.brand@xs4all.nl>
* Text-CSV_XS now under git
* Upped copyright to 2008
* Added all prereq's to Makefile.PL
* Tested under perl 5.10
2007-10-24 0.32 - H.Merijn Brand <h.m.brand@xs4all.nl>
* Added $csv->error_diag () to SYNOPSIS
* Added need for diag when new () fails to TODO
* Fixed a sneaked-in defined or in examples/csv2xls
* Plugged a 32byte memory leak in the cache code (valgrind++)
* Some perlcritic level1 changes
2007-07-23 0.31 - H.Merijn Brand <h.m.brand@xs4all.nl>
* Removed prototypes in examples/csv2xls
* Improved usage for examples/csv2xls (GetOpt::Long now does --help/-?)
* Extended examples/csv2xls to deal with Unicode (-u)
* Serious bug in Text::CSV_XS::NV () type setting, causing the
resulting field to be truncated to IV
2007-06-21 0.30 - H.Merijn Brand <h.m.brand@xs4all.nl>
* ,\rx, is definitely an error without binary (used to HANG!)
* Fixed bug in attribute caching for undefined eol
* Cleaned up some code after -W*** warnings
* Added verbatim.
* More test to cover the really dark corners and edge cases
* Even more typo fixes in the docs
* Added error_diag ()
* Added t/80_diag.t - Will not be mirrored by Text::CSV_PP
* Added DIAGNOSTICS section to pod - Will grow
* Small pod niot (abeltje)
* Doc fix in TODO (Miller Hall)
2007-06-08 0.29 - H.Merijn Brand <h.m.brand@xs4all.nl>
* Removed an unused 'use Data::Dumper'
* Added $csv->eof () RT 27424
* Two typo's in the doc's (Amsterdam.pm)
* Modified examples/speed.pl to better show the diffs between versions
* Cache attribute settings and regain speed of 0.23! and beyond
Relative overall speeds (YMMV, use examples/speed.pl to check),
the 1.0x versions are from Text::CSV_PP.
0.23 0.25 0.26 0.27 0.28 0.29 1.00 1.02 1.05
==== ==== ==== ==== ==== ==== ==== ==== ====
combine 1 62 61 61 60 58 100 14 14 14
combine 10 41 41 41 42 42 100 6 6 6
combine 100 35 35 36 36 36 100 5 5 5
parse 1 100 92 87 90 81 96 19 19 17
parse 10 95 100 86 97 94 94 15 16 14
parse 100 90 95 84 94 92 100 16 16 14
print io 93 89 91 91 95 100 0 0 6
getline io 90 92 84 87 89 100 0 0 13
---- ---- ---- ---- ---- ---- ---- ---- ----
average 75 75 71 74 73 98 9 9 11
* Removed prototypes
* Added a SPECIFICATION section to the pod
* Safe caching of eol, and a warning in the docs
* Rewrote t/20_file.t do do actual file IO instead of IO_Scalar fake
* Small optimization for parse (juerd)
* Added make target test_speed
* Merged the items from CAVEAT to SPECIFICATION
* Updated the TODO and Release Plan sections
* Speed up internals by using references instead of copies (juerd)
* Reworked error_input, which also had an undetected internal error
* Added IO tests for lexical IO handles and perlio IO to/from scalars
2007-06-03 0.28 - H.Merijn Brand <h.m.brand@xs4all.nl>
* IMPORTANT CHANGE: new () returns undef if it gets unsupported
attributes. Until now, new ({ esc_char => "\\" }) was just
silently ignored. Rejecting it and failing is better than
continuing with false assumptions.
* Added allow_loose_quotes (see doc)
* Added t/65_allow.t
* Added allow_loose_escapes (see doc) RT 15076
* More code cleanup in XS
* Added allow_whitespace (see doc)
2007-05-31 0.27 - H.Merijn Brand <h.m.brand@xs4all.nl>
* checked with perlcritic (still works under 5.00504)
so 3-arg open cannot be used (except in the docs)
* 3-arg open in docs too
* Added a lot to the TODO list
* Some more info on using escape character (jZed)
* Mention Text::CSV_PP in README
* Added t/45_eol.t, eol tests
* Added a section about embedded newlines in the pod
* Allow \r as eol ($/) for parsing
* More docs for eol
* More eol = \r fixes, tfrayner's test case added to t/45_eol.t
2007-05-15 0.26 - H.Merijn Brand <h.m.brand@xs4all.nl>
* Add $csv->allow_undef (1) suggestion in TODO
Still have to find the best spot to document
the difference between empty string and undef
* Spell-checked the pod and fixed some typo's
* Added t/70_rt.t
- Regression for RT 24386: \t doesn't work (WFM)
- Regression and fix for RT 21530: getline () return at eof
This one still passes under perl 5.00504
- Regression for RT 18703: Fails to use quote_char of '~'
* Added t/55_combi.t for most combinations of always_quote,
sep_char, quote_char, and escape_char
* Added docs about sep_char not allowed to be either quote_char
or escape_char
* Both combine () and parse () now return FALSE id sep_char is
equal to either quote_char or escape_char. Done in XS, as it
was a slowdown of 10% when done in perl.
2007-05-07 0.25 - H.Merijn Brand <h.m.brand@xs4all.nl>
* Merijn got the maintainership
- code reformat and code cleanup
- renamed internal (Encode, Decode) to (Combine, Parse) to
prevent misinterpretation with upcoming Unicode changes
and possible name clashes
- added pod check (and fixed pod)
- added pod coverage and small additions to the pod.
More to do in this area
- renamed test to fixate the sequence
- Added t/50_utf8.t
- tests now use Test::More
. Makefile.PL requires Test::More
- checked proclaimed version compatibility
. 5.9.x-64int works @31159
. 5.8.x-64int-dor works @31162
. 5.8.0-dor works
. 5.6.2 works
. 5.005.04 works
. 5.004.05 fails
- 5.005 is now prerequisite
- Added missing info in docs for new ()
- Added meta_info () method and docs
- Added keep_meta_info in new ()
- Added t/15_flags.t
- Added test_cover make target
- Added test for error_input ()
- Added tests for fields () and meta_info () before parse ()
- Added tests for ->types () as method
- Added tests for deleting types (coverage now over 99%)
- Added is_quoted (), is_binary () and tests
- Added COPYRIGHT section to pod
- Added the parse example from the pod to test.pl
- Added accessor methods for internals: quote_char () et all
- Added tests for the new accessor methods
- Added always_quote to the missing places in the doc and in new ()
- Changed the tests to use the accessors instead of the hash keys
except for the ->{types} and ->{_types}
- Moved test.pl to examples/speed.pl
Files: