Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package perl-Text-CSV_XS for
openSUSE:Factory checked in at 2026-05-13 20:59:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Text-CSV_XS (Old)
and /work/SRC/openSUSE:Factory/.perl-Text-CSV_XS.new.1966 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Text-CSV_XS"
Wed May 13 20:59:00 2026 rev:60 rq:1352899 version:1.620.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Text-CSV_XS/perl-Text-CSV_XS.changes
2025-08-27 21:33:20.927344992 +0200
+++
/work/SRC/openSUSE:Factory/.perl-Text-CSV_XS.new.1966/perl-Text-CSV_XS.changes
2026-05-13 20:59:06.856587069 +0200
@@ -1,0 +2,12 @@
+Thu Apr 30 07:42:45 UTC 2026 - Tina Müller <[email protected]>
+
+- updated to 1.620.0 (1.62)
+ see /usr/share/doc/packages/perl-Text-CSV_XS/ChangeLog
+
+ 1.62 - 2026-04-29, H.Merijn Brand
+ * It is 2026
+ * Fix possible stack corruption (thanks leont) (issue 65)
+ Fixes CVE-2026-7111
+ bsc#1263690
+
+-------------------------------------------------------------------
Old:
----
Text-CSV_XS-1.61.tgz
New:
----
Text-CSV_XS-1.62.tgz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Text-CSV_XS.spec ++++++
--- /var/tmp/diff_new_pack.mB50K9/_old 2026-05-13 20:59:07.548615602 +0200
+++ /var/tmp/diff_new_pack.mB50K9/_new 2026-05-13 20:59:07.552615767 +0200
@@ -1,7 +1,7 @@
#
# spec file for package perl-Text-CSV_XS
#
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,10 +18,10 @@
%define cpan_name Text-CSV_XS
Name: perl-Text-CSV_XS
-Version: 1.610.0
+Version: 1.620.0
Release: 0
-# 1.61 -> normalize -> 1.610.0
-%define cpan_version 1.61
+# 1.62 -> normalize -> 1.620.0
+%define cpan_version 1.62
License: Artistic-1.0 OR GPL-1.0-or-later
Summary: Comma-Separated Values manipulation routines
URL: https://metacpan.org/release/%{cpan_name}
@@ -32,7 +32,7 @@
BuildRequires: perl-macros
Provides: perl(Text::CSV_XS) = %{version}
%undefine __perllib_provides
-Recommends: perl(Encode) >= 3.21
+Recommends: perl(Encode) >= 3.22
%{perl_requires}
%description
++++++ Text-CSV_XS-1.61.tgz -> Text-CSV_XS-1.62.tgz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Text-CSV_XS-1.61/CSV_XS.pm
new/Text-CSV_XS-1.62/CSV_XS.pm
--- old/Text-CSV_XS-1.61/CSV_XS.pm 2025-07-10 19:02:16.000000000 +0200
+++ new/Text-CSV_XS-1.62/CSV_XS.pm 2026-04-26 16:24:14.000000000 +0200
@@ -1,6 +1,6 @@
package Text::CSV_XS;
-# Copyright (c) 2007-2025 H.Merijn Brand. All rights reserved.
+# Copyright (c) 2007-2026 H.Merijn Brand. All rights reserved.
# Copyright (c) 1998-2001 Jochen Wiedmann. All rights reserved.
# Copyright (c) 1997 Alan Citterman. All rights reserved.
#
@@ -23,7 +23,7 @@
use Carp;
use vars qw( $VERSION @ISA @EXPORT_OK %EXPORT_TAGS );
-$VERSION = "1.61";
+$VERSION = "1.62";
@ISA = qw( Exporter );
XSLoader::load ("Text::CSV_XS", $VERSION);
@@ -187,7 +187,7 @@
my $proto = shift;
my $class = ref $proto || $proto or return;
@_ > 0 && ref $_[0] ne "HASH" and return;
- my $attr = shift || {};
+ my $attr = shift || +{};
my %attr = map {
my $k = m/^[a-zA-Z]\w+$/ ? lc $_ : $_;
exists $attr_alias{$k} and $k = $attr_alias{$k};
@@ -1100,7 +1100,7 @@
sub print_hr {
my ($self, $io, $hr) = @_;
$self->{'_COLUMN_NAMES'} or croak ($self->SetDiag (3009));
- ref $hr eq "HASH" or croak ($self->SetDiag (3010));
+ ref $hr eq "HASH" or croak ($self->SetDiag (3010));
$self->print ($io, [ map { $hr->{$_} } $self->column_names () ]);
} # print_hr
@@ -1208,7 +1208,16 @@
my $csv_usage = q{usage: my $aoa = csv (in => $file);};
sub _csv_attr {
- my %attr = (@_ == 1 && ref $_[0] eq "HASH" ? %{$_[0]} : @_) or croak ();
+ my %attr;
+ if (@_ == 1 && ref $_[0] eq "HASH") {
+ %attr = %{$_[0]};
+ }
+ elsif (scalar @_ % 2) {
+ croak (Text::CSV_XS->SetDiag (1502));
+ }
+ else {
+ %attr = @_;
+ }
$attr{'binary'} = 1;
$attr{'strict_eol'} = 1;
@@ -5332,7 +5341,7 @@
=head1 COPYRIGHT AND LICENSE
- Copyright (C) 2007-2025 H.Merijn Brand. All rights reserved.
+ Copyright (C) 2007-2026 H.Merijn Brand. All rights reserved.
Copyright (C) 1998-2001 Jochen Wiedmann. All rights reserved.
Copyright (C) 1997 Alan Citterman. All rights reserved.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Text-CSV_XS-1.61/CSV_XS.xs
new/Text-CSV_XS-1.62/CSV_XS.xs
--- old/Text-CSV_XS-1.61/CSV_XS.xs 2025-07-10 19:02:08.000000000 +0200
+++ new/Text-CSV_XS-1.62/CSV_XS.xs 2026-04-28 14:57:08.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (c) 2007-2025 H.Merijn Brand. All rights reserved.
+/* Copyright (c) 2007-2026 H.Merijn Brand. All rights reserved.
* Copyright (c) 1998-2001 Jochen Wiedmann. All rights reserved.
* This program is free software; you can redistribute it and/or
* modify it under the same terms as Perl itself.
@@ -122,6 +122,12 @@
croak ("self is not a hash ref"); \
hv = (HV *)SvRV (self)
+#define undef &PL_sv_undef
+#define PUT_RETURN(x) \
+ SPAGAIN; \
+ ST (0) = x; \
+ XSRETURN (1)
+
/* Keep in sync with .pm! */
#define CACHE_ID_quote_char 0
#define CACHE_ID_escape_char 1
@@ -2603,7 +2609,7 @@
Perl_load_module (aTHX_ PERL_LOADMOD_NOIMPORT, newSVpvs ("IO::Handle"),
NULL, NULL, NULL);
void
-SetDiag (SV *self, int xse, ...)
+SetDiag (SV *self, int xse, SV *line = undef)
PPCODE:
HV *hv;
@@ -2619,8 +2625,8 @@
ST (0) = sv_2mortal (SvDiag (xse));
}
- if (xse && items > 2 && SvPOK (ST (2))) {
- sv_setpvn (ST (0), SvPVX (ST (2)), SvCUR (ST (2)));
+ if (xse && SvPOK (line)) {
+ sv_setpvn (ST (0), SvPVX (line), SvCUR (line));
SvIOK_on (ST (0));
}
@@ -2665,13 +2671,14 @@
HV *hv;
AV *av;
AV *avf;
+ int r;
CSV_XS_SELF;
av = (AV *)SvRV (fields);
avf = (AV *)SvRV (fflags);
- ST (0) = xsParse (self, hv, av, avf, src, 0) ? &PL_sv_yes : &PL_sv_no;
- XSRETURN (1);
+ r = xsParse (self, hv, av, avf, src, 0);
+ PUT_RETURN (r ? &PL_sv_yes : &PL_sv_no);
/* XS Parse */
void
@@ -2680,6 +2687,7 @@
PPCODE:
HV *hv;
AV *av;
+ int r;
CSV_XS_SELF;
if (fields == &PL_sv_undef)
@@ -2691,8 +2699,8 @@
av = (AV *)SvRV (fields);
}
- ST (0) = xsCombine (self, hv, av, io, 1) ? &PL_sv_yes : &PL_sv_no;
- XSRETURN (1);
+ r = xsCombine (self, hv, av, io, 1);
+ PUT_RETURN (r ? &PL_sv_yes : &PL_sv_no);
/* XS print */
void
@@ -2702,30 +2710,26 @@
HV *hv;
AV *av;
AV *avf;
+ int r;
CSV_XS_SELF;
av = newAV ();
avf = newAV ();
- ST (0) = xsParse (self, hv, av, avf, io, 1)
- ? sv_2mortal (newRV_noinc ((SV *)av))
- : &PL_sv_undef;
- XSRETURN (1);
+ r = xsParse (self, hv, av, avf, io, 1);
+ PUT_RETURN (r ? sv_2mortal (newRV_noinc ((SV *)av)) : undef);
/* XS getline */
void
-getline_all (SV *self, SV *io, ...)
+getline_all (SV *self, SV *io, SV *offset = undef, SV *length = undef)
PPCODE:
HV *hv;
- SV *offset, *length;
+ SV *rv;
CSV_XS_SELF;
- offset = items > 2 ? ST (2) : &PL_sv_undef;
- length = items > 3 ? ST (3) : &PL_sv_undef;
-
- ST (0) = xsParse_all (self, hv, io, offset, length);
- XSRETURN (1);
+ rv = xsParse_all (self, hv, io, offset, length);
+ PUT_RETURN (rv);
/* XS getline_all */
void
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Text-CSV_XS-1.61/ChangeLog
new/Text-CSV_XS-1.62/ChangeLog
--- old/Text-CSV_XS-1.61/ChangeLog 2025-07-26 15:43:19.000000000 +0200
+++ new/Text-CSV_XS-1.62/ChangeLog 2026-04-29 09:29:21.000000000 +0200
@@ -1,3 +1,8 @@
+1.62 - 2026-04-29, H.Merijn Brand
+ * It is 2026
+ * Fix possible stack corruption (thanks leont) (issue 65)
+ Fixes CVE-2026-7111
+
1.61 - 2025-07-26, H.Merijn Brand
* Add love letter to CSV from xan project with reference
* Bugtracker to github (long overdue) (issue 63)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Text-CSV_XS-1.61/META.json
new/Text-CSV_XS-1.62/META.json
--- old/Text-CSV_XS-1.61/META.json 2025-07-26 16:50:05.000000000 +0200
+++ new/Text-CSV_XS-1.62/META.json 2026-04-29 10:18:27.000000000 +0200
@@ -1,70 +1,70 @@
{
- "prereqs" : {
- "build" : {
- "requires" : {
- "Config" : "0"
+ "abstract" : "Comma-Separated Values manipulation routines",
+ "generated_by" : "Author",
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : 2
+ },
+ "provides" : {
+ "Text::CSV_XS" : {
+ "version" : "1.62",
+ "file" : "CSV_XS.pm"
+ }
+ },
+ "dynamic_config" : 1,
+ "name" : "Text-CSV_XS",
+ "version" : "1.62",
+ "release_status" : "stable",
+ "resources" : {
+ "x_IRC" : "irc://irc.perl.org/#csv",
+ "homepage" : "https://metacpan.org/pod/Text::CSV_XS",
+ "license" : [
+ "http://dev.perl.org/licenses/"
+ ],
+ "bugtracker" : {
+ "web" : "https://github.com/Tux/Text-CSV_XS/issues"
+ },
+ "repository" : {
+ "url" : "https://github.com/Tux/Text-CSV_XS",
+ "web" : "https://github.com/Tux/Text-CSV_XS",
+ "type" : "git"
}
},
+ "prereqs" : {
+ "test" : {
+ "requires" : {
+ "Tie::Scalar" : "0",
+ "Test::More" : "0"
+ }
+ },
"runtime" : {
+ "recommends" : {
+ "Encode" : "3.22"
+ },
"requires" : {
+ "IO::Handle" : "0",
"perl" : "5.006001",
- "XSLoader" : "0",
- "IO::Handle" : "0"
+ "XSLoader" : "0"
+ }
},
- "recommends" : {
- "Encode" : "3.21"
- }
- },
"configure" : {
"requires" : {
"ExtUtils::MakeMaker" : "0"
- },
+ },
"recommends" : {
- "ExtUtils::MakeMaker" : "7.76"
- }
- },
- "test" : {
+ "ExtUtils::MakeMaker" : "7.78"
+ }
+ },
+ "build" : {
"requires" : {
- "Test::More" : "0",
- "Tie::Scalar" : "0"
+ "Config" : "0"
+ }
}
- }
- },
+ },
"author" : [
"H.Merijn Brand <[email protected]>"
- ],
- "provides" : {
- "Text::CSV_XS" : {
- "file" : "CSV_XS.pm",
- "version" : "1.61"
- }
- },
- "abstract" : "Comma-Separated Values manipulation routines",
- "resources" : {
- "homepage" : "https://metacpan.org/pod/Text::CSV_XS",
- "repository" : {
- "type" : "git",
- "url" : "https://github.com/Tux/Text-CSV_XS",
- "web" : "https://github.com/Tux/Text-CSV_XS"
- },
- "bugtracker" : {
- "web" : "https://github.com/Tux/Text-CSV_XS/issues"
- },
- "x_IRC" : "irc://irc.perl.org/#csv",
- "license" : [
- "http://dev.perl.org/licenses/"
- ]
- },
- "version" : "1.61",
- "dynamic_config" : 1,
- "meta-spec" : {
- "version" : 2,
- "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec"
- },
- "generated_by" : "Author",
- "name" : "Text-CSV_XS",
+ ],
"license" : [
"perl_5"
- ],
- "release_status" : "stable"
-}
+ ]
+ }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Text-CSV_XS-1.61/META.yml
new/Text-CSV_XS-1.62/META.yml
--- old/Text-CSV_XS-1.61/META.yml 2025-07-26 16:50:05.000000000 +0200
+++ new/Text-CSV_XS-1.62/META.yml 2026-04-29 10:18:27.000000000 +0200
@@ -1,34 +1,34 @@
----
+---
abstract: Comma-Separated Values manipulation routines
-author:
+author:
- H.Merijn Brand <[email protected]>
-build_requires:
+build_requires:
Config: 0
-configure_requires:
+configure_requires:
ExtUtils::MakeMaker: 0
dynamic_config: 1
-generated_by: Author, CPAN::Meta::Converter version 2.150010
+generated_by: Author, CPAN::Meta::Converter version 2.150013
license: perl
-meta-spec:
+meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
version: '1.4'
name: Text-CSV_XS
-provides:
- Text::CSV_XS:
+provides:
+ Text::CSV_XS:
file: CSV_XS.pm
- version: '1.61'
-recommends:
- Encode: '3.21'
-requires:
+ version: '1.62'
+recommends:
+ Encode: '3.22'
+requires:
IO::Handle: 0
Test::More: 0
Tie::Scalar: 0
XSLoader: 0
perl: '5.006001'
-resources:
+resources:
IRC: irc://irc.perl.org/#csv
bugtracker: https://github.com/Tux/Text-CSV_XS/issues
homepage: https://metacpan.org/pod/Text::CSV_XS
license: http://dev.perl.org/licenses/
repository: https://github.com/Tux/Text-CSV_XS
-version: '1.61'
+version: '1.62'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Text-CSV_XS-1.61/Makefile.PL
new/Text-CSV_XS-1.62/Makefile.PL
--- old/Text-CSV_XS-1.61/Makefile.PL 2025-01-20 17:02:13.000000000 +0100
+++ new/Text-CSV_XS-1.62/Makefile.PL 2026-04-29 10:17:14.000000000 +0200
@@ -1,6 +1,6 @@
#!/usr/bin/perl
-# Copyright PROCURA B.V. (c) 2006-2025 H.Merijn Brand
+# Copyright PROCURA B.V. (c) 2006-2026 H.Merijn Brand
require 5.006001; # <- also see postamble at the bottom for META.yml
use strict;
@@ -113,14 +113,19 @@
' -@env TEST_FILES="xt/*.t" make -e test_dynamic',
''
: "";
- my $no_inc = join " " => map { "-ignore $_" } grep { -s $_ }
- map { "$_/CORE/inline.h" } @INC;
+ my %no_inc =
+ map { $_ => 1 }
+ map { s{^(.*/)inline.h$}{-ignore_re $1.*}; $_ }
+ grep { -s $_ }
+ map { "$_/CORE/inline.h" }
+ @INC;
+ my $no_inc = join " " => "-ignore doc/make-doc.pl", sort keys %no_inc;
join "\n" =>
'cover $make_sep test_cover:',
' ccache -C',
' -@rm -f *.gc??',
- ' cover -test',
- " cover -report html_basic $no_inc",
+ ' env AUTOMATED_TESTING=1 cover -test -jobs 17',
+ " cover -report html $no_inc",
'',
'leakrun:',
' env HARNESS_PERL=sandbox/leakperl make test',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Text-CSV_XS-1.61/README new/Text-CSV_XS-1.62/README
--- old/Text-CSV_XS-1.61/README 2025-01-03 12:43:14.000000000 +0100
+++ new/Text-CSV_XS-1.62/README 2026-01-25 13:04:15.000000000 +0100
@@ -19,7 +19,7 @@
That process is described in the documentation.
Copying:
- Copyright (c) 2007-2025 H.Merijn Brand. All rights reserved.
+ Copyright (c) 2007-2026 H.Merijn Brand. All rights reserved.
Copyright (c) 1998-2001 Jochen Wiedmann. All rights reserved.
Portions Copyright (c) 1997 Alan Citterman. All rights reserved.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Text-CSV_XS-1.61/cpanfile
new/Text-CSV_XS-1.62/cpanfile
--- old/Text-CSV_XS-1.61/cpanfile 2025-07-26 16:50:04.000000000 +0200
+++ new/Text-CSV_XS-1.62/cpanfile 2026-04-29 10:18:17.000000000 +0200
@@ -1,12 +1,12 @@
requires "IO::Handle";
requires "XSLoader";
-recommends "Encode" => "3.21";
+recommends "Encode" => "3.22";
on "configure" => sub {
requires "ExtUtils::MakeMaker";
- recommends "ExtUtils::MakeMaker" => "7.76";
+ recommends "ExtUtils::MakeMaker" => "7.78";
};
on "build" => sub {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Text-CSV_XS-1.61/examples/csv-check
new/Text-CSV_XS-1.62/examples/csv-check
--- old/Text-CSV_XS-1.61/examples/csv-check 2025-01-03 12:47:09.000000000
+0100
+++ new/Text-CSV_XS-1.62/examples/csv-check 2026-01-25 13:03:02.000000000
+0100
@@ -1,7 +1,7 @@
#!/pro/bin/perl
# csv-check: Check validity of CSV file and report
-# (m)'20 [21 May 2020] Copyright H.M.Brand 2007-2025
+# (m)'20 [21 May 2020] Copyright H.M.Brand 2007-2026
# This code requires the defined-or feature and PerlIO
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Text-CSV_XS-1.61/examples/csv2xls
new/Text-CSV_XS-1.62/examples/csv2xls
--- old/Text-CSV_XS-1.61/examples/csv2xls 2025-01-03 12:41:53.000000000
+0100
+++ new/Text-CSV_XS-1.62/examples/csv2xls 2026-01-25 13:02:54.000000000
+0100
@@ -1,7 +1,7 @@
#!/pro/bin/perl
# csv2xls: Convert csv to xls
-# (m)'23 [14 Nov 2023] Copyright H.M.Brand 2007-2025
+# (m)'23 [14 Nov 2023] Copyright H.M.Brand 2007-2026
use 5.012000;
use warnings;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Text-CSV_XS-1.61/examples/csv2xlsx
new/Text-CSV_XS-1.62/examples/csv2xlsx
--- old/Text-CSV_XS-1.61/examples/csv2xlsx 2025-01-03 12:41:56.000000000
+0100
+++ new/Text-CSV_XS-1.62/examples/csv2xlsx 2026-01-25 13:02:56.000000000
+0100
@@ -1,7 +1,7 @@
#!/pro/bin/perl
# csv2xlsx: Convert csv to xlsx
-# (m)'23 Copyright H.M.Brand 2007-2025
+# (m)'23 Copyright H.M.Brand 2007-2026
use 5.014000;
use warnings;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Text-CSV_XS-1.61/examples/csvdiff
new/Text-CSV_XS-1.62/examples/csvdiff
--- old/Text-CSV_XS-1.61/examples/csvdiff 2025-01-03 12:41:58.000000000
+0100
+++ new/Text-CSV_XS-1.62/examples/csvdiff 2026-01-25 13:03:06.000000000
+0100
@@ -4,9 +4,9 @@
use warnings;
# csvdiff: Show differences between CSV files
-# (m)'23 [05 Aug 2023] Copyright H.M.Brand 2009-2025
+# (m)'25 [13 Nov 2025] Copyright H.M.Brand 2009-2026
-our $VERSION = "1.03 - 20230805";
+our $VERSION = "1.04 - 20251113";
sub usage {
my $err = shift and select STDERR;
@@ -43,6 +43,7 @@
if ($opt_o) {
open STDOUT, ">", $opt_o or die "$opt_o: $!\n";
}
+$| = 1;
use HTML::Entities;
use Term::ANSIColor qw(:constants);
@@ -143,7 +144,7 @@
}
my $x = 0;
-while ($i[0] <= $n[0] || $i[1] <= $n[1]) {
+ROW: while ($i[0] <= $n[0] || $i[1] <= $n[1]) {
my @r0 = @{$f[0][$i[0]]};
my @r1 = @{$f[1][$i[1]]};
@@ -162,8 +163,12 @@
$opt_b and s/[\r\n\s]+/ /g for @v0, @v1;
$opt_w and s/[\r\n\s]+//g for @v0, @v1;
- { local $" = "\xFF";
- "@v0" eq "@v1" and $i[0]++, $i[1]++, next;
+ { local $" = "\x{ff}";
+ if ("@v0" eq "@v1") {
+ $i[0]++;
+ $i[1]++;
+ next ROW;
+ }
}
foreach my $c (1 .. $#h0) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Text-CSV_XS-1.61/examples/parser-xs.pl
new/Text-CSV_XS-1.62/examples/parser-xs.pl
--- old/Text-CSV_XS-1.61/examples/parser-xs.pl 2025-01-03 12:42:02.000000000
+0100
+++ new/Text-CSV_XS-1.62/examples/parser-xs.pl 2026-01-25 13:03:16.000000000
+0100
@@ -3,7 +3,7 @@
# This script can be used as a base to parse unreliable CSV streams
# Modify to your own needs
#
-# (m)'08 [23 Apr 2008] Copyright H.M.Brand 2008-2025
+# (m)'08 [23 Apr 2008] Copyright H.M.Brand 2008-2026
use strict;
use warnings;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Text-CSV_XS-1.61/examples/rewrite.pl
new/Text-CSV_XS-1.62/examples/rewrite.pl
--- old/Text-CSV_XS-1.61/examples/rewrite.pl 2025-01-03 12:42:04.000000000
+0100
+++ new/Text-CSV_XS-1.62/examples/rewrite.pl 2026-01-25 13:03:19.000000000
+0100
@@ -4,7 +4,7 @@
use warnings;
# rewrite.pl: Convert csv to csv
-# (m)'17 [20 Sep 2017] Copyright H.M.Brand 2014-2025
+# (m)'17 [20 Sep 2017] Copyright H.M.Brand 2014-2026
our $VERSION = "0.05 - 20170920";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Text-CSV_XS-1.61/examples/speed.pl
new/Text-CSV_XS-1.62/examples/speed.pl
--- old/Text-CSV_XS-1.61/examples/speed.pl 2025-01-03 12:42:07.000000000
+0100
+++ new/Text-CSV_XS-1.62/examples/speed.pl 2026-01-25 13:03:21.000000000
+0100
@@ -1,7 +1,7 @@
#!/usr/bin/perl -w
# speed.pl: compare different versions of Text-CSV* modules
-# (m)'08 [07 Apr 2008] Copyright H.M.Brand 2007-2025
+# (m)'08 [07 Apr 2008] Copyright H.M.Brand 2007-2026
require 5.006001;
use strict;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Text-CSV_XS-1.61/ppport.h
new/Text-CSV_XS-1.62/ppport.h
--- old/Text-CSV_XS-1.61/ppport.h 2025-07-26 15:42:30.000000000 +0200
+++ new/Text-CSV_XS-1.62/ppport.h 2026-04-26 16:36:05.000000000 +0200
@@ -6,7 +6,7 @@
ppport.h -- Perl/Pollution/Portability Version 3.73
- Automatically created by Devel::PPPort running under perl 5.042000.
+ Automatically created by Devel::PPPort running under perl 5.042002.
Do NOT edit this file directly! -- Edit PPPort_pm.PL and the
includes in parts/inc/ instead.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Text-CSV_XS-1.61/t/67_emptrow.t
new/Text-CSV_XS-1.62/t/67_emptrow.t
--- old/Text-CSV_XS-1.61/t/67_emptrow.t 2023-12-12 14:27:29.000000000 +0100
+++ new/Text-CSV_XS-1.62/t/67_emptrow.t 2026-04-26 15:47:10.000000000 +0200
@@ -10,7 +10,7 @@
plan skip_all => "This test unit requires perl-5.8.1 or higher";
}
else {
- plan tests => 56;
+ plan tests => 58;
}
use_ok "Text::CSV_XS", ("csv");
@@ -39,6 +39,13 @@
is ($csv->skip_empty_rows ("error"), "error", "error");
is ($csv->skip_empty_rows ("ERROR"), "error", "ERROR");
+{ is (eval {
+ $csv->skip_empty_rows ("schedule");
+ }, undef, "schedule");
+ my @ed = $csv->error_diag;
+ is ($ed[0], 1500, "Unsupported parameter");
+ }
+
sub cba { [ 3, 42, undef, 3 ] }
sub cbh { { a => 3, b => 42, c => undef, d => 3 } }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Text-CSV_XS-1.61/t/90_csv.t
new/Text-CSV_XS-1.62/t/90_csv.t
--- old/Text-CSV_XS-1.61/t/90_csv.t 2025-01-03 12:33:22.000000000 +0100
+++ new/Text-CSV_XS-1.62/t/90_csv.t 2026-04-26 16:26:38.000000000 +0200
@@ -5,7 +5,7 @@
use Config;
#use Test::More "no_plan";
- use Test::More tests => 127;
+ use Test::More tests => 128;
BEGIN {
use_ok "Text::CSV_XS", ("csv");
@@ -340,6 +340,12 @@
is_deeply (csv (in => $tfn, csv => $csv), $expect, "csv from attribute");
}
+{ my @e;
+ local $SIG{__DIE__} = sub { push @e => @_ };
+ eval { csv ("in"); };
+ like ($@, qr{^PRM - The value attribute is passed without the key
attribute}, "Key without value");
+ }
+
{ local *STDOUT;
my $ofn = "_STDOUT.csv";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Text-CSV_XS-1.61/t/91_csv_cb.t
new/Text-CSV_XS-1.62/t/91_csv_cb.t
--- old/Text-CSV_XS-1.61/t/91_csv_cb.t 2024-10-18 11:41:01.000000000 +0200
+++ new/Text-CSV_XS-1.62/t/91_csv_cb.t 2025-11-03 09:45:29.000000000 +0100
@@ -4,7 +4,7 @@
use warnings;
#use Test::More "no_plan";
- use Test::More tests => 82;
+ use Test::More tests => 83;
BEGIN {
use_ok "Text::CSV_XS", ("csv");
@@ -66,7 +66,10 @@
], "AOA with filter on col 1 and 2");
is_deeply (csv (in => $tfn, filter => { foo => sub { $_ > 1 }}), [
{ foo => 2, bar => "a b", baz => "" },
- ], "AOH with filter on column name");
+ ], "AOH with filter on column name last line matches");
+is_deeply (csv (in => $tfn, filter => { foo => sub { $_ < 2 }}), [
+ { foo => 1, bar => 2, baz => 3 },
+ ], "AOH with filter on column name last line does not match");
SKIP: {
$] < 5.008001 and skip "No HOH/xx support in $]", 3;
++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.mB50K9/_old 2026-05-13 20:59:07.812626487 +0200
+++ /var/tmp/diff_new_pack.mB50K9/_new 2026-05-13 20:59:07.828627147 +0200
@@ -1,6 +1,6 @@
-mtime: 1755090290
-commit: 3c6f1900b25f50eb52fbf63e040865343d0042e00ecb1496d3b90e1e74c40e49
-url: https://src.opensuse.org/perl/perl-Text-CSV_XS.git
-revision: 3c6f1900b25f50eb52fbf63e040865343d0042e00ecb1496d3b90e1e74c40e49
+mtime: 1778617511
+commit: 859adc7b3357aeb070716362051c8ad374c5b9a339931c207448d0e6f169530a
+url: https://src.opensuse.org/perl/perl-Text-CSV_XS
+revision: 859adc7b3357aeb070716362051c8ad374c5b9a339931c207448d0e6f169530a
projectscmsync: https://src.opensuse.org/perl/_ObsPrj
++++++ build.specials.obscpio ++++++
++++++ build.specials.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore 1970-01-01 01:00:00.000000000 +0100
+++ new/.gitignore 2026-05-12 22:25:11.000000000 +0200
@@ -0,0 +1 @@
+.osc