Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package perl-DateTime-Format-Natural for
openSUSE:Factory checked in at 2026-01-23 17:34:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-DateTime-Format-Natural (Old)
and /work/SRC/openSUSE:Factory/.perl-DateTime-Format-Natural.new.1928
(New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-DateTime-Format-Natural"
Fri Jan 23 17:34:08 2026 rev:17 rq:1328819 version:1.240.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/perl-DateTime-Format-Natural/perl-DateTime-Format-Natural.changes
2026-01-13 21:35:01.329130377 +0100
+++
/work/SRC/openSUSE:Factory/.perl-DateTime-Format-Natural.new.1928/perl-DateTime-Format-Natural.changes
2026-01-23 17:34:28.293407411 +0100
@@ -1,0 +2,18 @@
+Mon Jan 19 05:52:40 UTC 2026 - Tina Müller <[email protected]>
+
+- updated to 1.240.0 (1.24)
+ see /usr/share/doc/packages/perl-DateTime-Format-Natural/Changes
+
+ 1.24 2026-01-18 <[email protected]>
+ - Merged development version to stable.
+ 1.23_03 2026-01-13 <[email protected]>
+ - Don't use _{set,get}_truncated() when no value is truncated.
+ - Use hash slices instead of passing values one by one.
+ 1.23_02 2026-01-12 <[email protected]>
+ - Support fractional seconds in iso8601 strings.
+ [github #27 - isla w]
+ 1.23_01 2026-01-09 <[email protected]>
+ - Support optional time zone information in iso8601 time strings.
+ [github #26 - isla w]
+
+-------------------------------------------------------------------
Old:
----
DateTime-Format-Natural-1.23.tar.gz
New:
----
DateTime-Format-Natural-1.24.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-DateTime-Format-Natural.spec ++++++
--- /var/tmp/diff_new_pack.YW82zl/_old 2026-01-23 17:34:28.845430161 +0100
+++ /var/tmp/diff_new_pack.YW82zl/_new 2026-01-23 17:34:28.849430326 +0100
@@ -18,10 +18,10 @@
%define cpan_name DateTime-Format-Natural
Name: perl-DateTime-Format-Natural
-Version: 1.230.0
+Version: 1.240.0
Release: 0
-# 1.23 -> normalize -> 1.230.0
-%define cpan_version 1.23
+# 1.24 -> normalize -> 1.240.0
+%define cpan_version 1.24
License: Artistic-1.0 OR GPL-1.0-or-later
Summary: Parse informal natural language date/time strings
URL: https://metacpan.org/release/%{cpan_name}
@@ -58,8 +58,8 @@
Provides: perl(DateTime::Format::Natural::Formatted) = 0.120.0
Provides: perl(DateTime::Format::Natural::Helpers) = 0.70.0
Provides: perl(DateTime::Format::Natural::Lang::Base) = 1.80.0
-Provides: perl(DateTime::Format::Natural::Lang::EN) = 1.730.0
-Provides: perl(DateTime::Format::Natural::Rewrite) = 0.90.0
+Provides: perl(DateTime::Format::Natural::Lang::EN) = 1.740.0
+Provides: perl(DateTime::Format::Natural::Rewrite) = 0.100.0
Provides: perl(DateTime::Format::Natural::Test) = 0.130.0
Provides: perl(DateTime::Format::Natural::Utils) = 0.80.0
Provides: perl(DateTime::Format::Natural::Wrappers) = 0.30.0
++++++ DateTime-Format-Natural-1.23.tar.gz ->
DateTime-Format-Natural-1.24.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/DateTime-Format-Natural-1.23/Changes
new/DateTime-Format-Natural-1.24/Changes
--- old/DateTime-Format-Natural-1.23/Changes 2026-01-04 21:58:02.000000000
+0100
+++ new/DateTime-Format-Natural-1.24/Changes 2026-01-18 22:20:31.000000000
+0100
@@ -1,5 +1,25 @@
Revision history for Perl extension DateTime::Format::Natural.
+1.24 2026-01-18 <[email protected]>
+
+ - Merged development version to stable.
+
+1.23_03 2026-01-13 <[email protected]>
+
+ - Don't use _{set,get}_truncated() when no value is truncated.
+
+ - Use hash slices instead of passing values one by one.
+
+1.23_02 2026-01-12 <[email protected]>
+
+ - Support fractional seconds in iso8601 strings.
+ [github #27 - isla w]
+
+1.23_01 2026-01-09 <[email protected]>
+
+ - Support optional time zone information in iso8601 time strings.
+ [github #26 - isla w]
+
1.23 2026-01-04 <[email protected]>
- Merged development version to stable.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/DateTime-Format-Natural-1.23/META.json
new/DateTime-Format-Natural-1.24/META.json
--- old/DateTime-Format-Natural-1.23/META.json 2026-01-04 21:58:02.000000000
+0100
+++ new/DateTime-Format-Natural-1.24/META.json 2026-01-18 22:20:31.000000000
+0100
@@ -54,7 +54,7 @@
"provides" : {
"DateTime::Format::Natural" : {
"file" : "lib/DateTime/Format/Natural.pm",
- "version" : "1.23"
+ "version" : "1.24"
},
"DateTime::Format::Natural::Calc" : {
"file" : "lib/DateTime/Format/Natural/Calc.pm",
@@ -94,11 +94,11 @@
},
"DateTime::Format::Natural::Lang::EN" : {
"file" : "lib/DateTime/Format/Natural/Lang/EN.pm",
- "version" : "1.73"
+ "version" : "1.74"
},
"DateTime::Format::Natural::Rewrite" : {
"file" : "lib/DateTime/Format/Natural/Rewrite.pm",
- "version" : "0.09"
+ "version" : "0.10"
},
"DateTime::Format::Natural::Test" : {
"file" : "lib/DateTime/Format/Natural/Test.pm",
@@ -122,6 +122,6 @@
"url" : "https://github.com/stsc/DateTime-Format-Natural"
}
},
- "version" : "1.23",
+ "version" : "1.24",
"x_serialization_backend" : "JSON::PP version 4.16"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/DateTime-Format-Natural-1.23/META.yml
new/DateTime-Format-Natural-1.24/META.yml
--- old/DateTime-Format-Natural-1.23/META.yml 2026-01-04 21:58:02.000000000
+0100
+++ new/DateTime-Format-Natural-1.24/META.yml 2026-01-18 22:20:31.000000000
+0100
@@ -22,7 +22,7 @@
provides:
DateTime::Format::Natural:
file: lib/DateTime/Format/Natural.pm
- version: '1.23'
+ version: '1.24'
DateTime::Format::Natural::Calc:
file: lib/DateTime/Format/Natural/Calc.pm
version: '1.46'
@@ -52,10 +52,10 @@
version: '1.08'
DateTime::Format::Natural::Lang::EN:
file: lib/DateTime/Format/Natural/Lang/EN.pm
- version: '1.73'
+ version: '1.74'
DateTime::Format::Natural::Rewrite:
file: lib/DateTime/Format/Natural/Rewrite.pm
- version: '0.09'
+ version: '0.10'
DateTime::Format::Natural::Test:
file: lib/DateTime/Format/Natural/Test.pm
version: '0.13'
@@ -84,5 +84,5 @@
resources:
license: http://dev.perl.org/licenses/
repository: https://github.com/stsc/DateTime-Format-Natural
-version: '1.23'
+version: '1.24'
x_serialization_backend: 'CPAN::Meta::YAML version 0.011'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/DateTime-Format-Natural-1.23/lib/DateTime/Format/Natural/Lang/EN.pm
new/DateTime-Format-Natural-1.24/lib/DateTime/Format/Natural/Lang/EN.pm
--- old/DateTime-Format-Natural-1.23/lib/DateTime/Format/Natural/Lang/EN.pm
2026-01-04 21:58:02.000000000 +0100
+++ new/DateTime-Format-Natural-1.24/lib/DateTime/Format/Natural/Lang/EN.pm
2026-01-18 22:20:31.000000000 +0100
@@ -14,7 +14,7 @@
use DateTime::Format::Natural::Helpers qw(%flag);
-our $VERSION = '1.73';
+our $VERSION = '1.74';
our (%init,
%timespan,
@@ -5146,6 +5146,12 @@
+2d
20111018000000
2016-06-19T12:12:11
+ 2016-06-19T12:12:11Z
+ 2016-06-19T12:12:11-05
+ 2016-06-19T12:12:11-0500
+ 2016-06-19T12:12:11-05:00
+ 2016-06-19T12:12:11+05:00
+ 2016-06-19T12:12+05:00
=head2 Aliases
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/DateTime-Format-Natural-1.23/lib/DateTime/Format/Natural/Rewrite.pm
new/DateTime-Format-Natural-1.24/lib/DateTime/Format/Natural/Rewrite.pm
--- old/DateTime-Format-Natural-1.23/lib/DateTime/Format/Natural/Rewrite.pm
2026-01-04 21:58:02.000000000 +0100
+++ new/DateTime-Format-Natural-1.24/lib/DateTime/Format/Natural/Rewrite.pm
2026-01-18 22:20:31.000000000 +0100
@@ -3,7 +3,7 @@
use strict;
use warnings;
-our $VERSION = '0.09';
+our $VERSION = '0.10';
sub _rewrite
{
@@ -21,7 +21,7 @@
my $self = shift;
my ($date_string) = @_;
- $$date_string =~ tr/,//d;
+ $$date_string =~ s/,(?!\d)//g;
$$date_string =~ s/\s+?(a\.?m\.?|p\.?m\.?)\b/$1/gi;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/DateTime-Format-Natural-1.23/lib/DateTime/Format/Natural.pm
new/DateTime-Format-Natural-1.24/lib/DateTime/Format/Natural.pm
--- old/DateTime-Format-Natural-1.23/lib/DateTime/Format/Natural.pm
2026-01-04 21:58:02.000000000 +0100
+++ new/DateTime-Format-Natural-1.24/lib/DateTime/Format/Natural.pm
2026-01-18 22:20:31.000000000 +0100
@@ -24,7 +24,7 @@
use DateTime::Format::Natural::Utils qw(trim);
-our $VERSION = '1.23';
+our $VERSION = '1.24';
validation_options(
on_fail => sub
@@ -218,17 +218,35 @@
$self->_advance_future('md');
}
}
- elsif ($date_string =~ /^(\d{4}(?:-\d{2}){0,2})T(\d{2}(?::\d{2}){0,2})$/) {
- my ($date, $time) = ($1, $2);
-
+ elsif ($date_string =~
/^(\d{4}(?:-\d{2}){0,2})T(\d{2}(?::\d{2}){0,2})(?:[.,](\d+))?(Z|[+-]\d{2}(?::?\d{2})?)?$/)
{
+ my ($date, $time, $fractional, $tz) = ($1, $2, $3, $4);
my %args;
+ if (defined $tz) {
+ if ($tz eq 'Z') {
+ $self->{datetime}->set_time_zone('UTC');
+ } elsif ($tz =~ /^([+-])(\d{2})$/) {
+ $tz = "$1$2:00";
+ } else {
+ $tz =~ s/^([+-])(\d{2}):?(\d{2})$/$1$2:$3/;
+ }
+ $self->{datetime}->set_time_zone($tz);
+ }
+
@args{qw(year month day)} = split /-/, $date;
$args{$_} ||= 01 foreach qw(month day);
@args{qw(hour minute second)} = split /:/, $time;
$args{$_} ||= 00 foreach qw(minute second);
+ if (defined $fractional) {
+ my $nanosecond = $fractional;
+ if (length($nanosecond) < 9) {
+ $nanosecond .= '0' x (9 - length($nanosecond));
+ }
+ $args{nanosecond} = int($nanosecond);
+ }
+
my $valid_date = $self->_check_date(map $args{$_}, qw(year month day));
my $valid_time = $self->_check_time(map $args{$_}, qw(hour minute
second));
@@ -240,9 +258,6 @@
}
$self->_set(%args);
-
- $self->{datetime}->truncate(to => 'second');
- $self->_set_truncated;
$self->_set_valid_exp;
}
elsif ($date_string =~ /^([+-]) (\d+?) ([a-zA-Z]+)$/x) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/DateTime-Format-Natural-1.23/t/09-parse_iso8601.t
new/DateTime-Format-Natural-1.24/t/09-parse_iso8601.t
--- old/DateTime-Format-Natural-1.23/t/09-parse_iso8601.t 2026-01-04
21:58:02.000000000 +0100
+++ new/DateTime-Format-Natural-1.24/t/09-parse_iso8601.t 2026-01-18
22:20:31.000000000 +0100
@@ -5,21 +5,45 @@
use DateTime::Format::Natural;
use DateTime::Format::Natural::Test qw(_result_string);
-use Test::More tests => 9;
+use Test::More tests => 65;
my @iso8601 = (
- { '2016T12' => '01.01.2016 12:00:00' },
- { '2016T12:12' => '01.01.2016 12:12:00' },
- { '2016T12:12:11' => '01.01.2016 12:12:11' },
- { '2016-06T12' => '01.06.2016 12:00:00' },
- { '2016-06T12:12' => '01.06.2016 12:12:00' },
- { '2016-06T12:12:11' => '01.06.2016 12:12:11' },
- { '2016-06-19T12' => '19.06.2016 12:00:00' },
- { '2016-06-19T12:12' => '19.06.2016 12:12:00' },
- { '2016-06-19T12:12:11' => '19.06.2016 12:12:11' },
+ { '2016T12' => { result => '01.01.2016 12:00:00', tz =>
'floating' } },
+ { '2016T12:12' => { result => '01.01.2016 12:12:00', tz =>
'floating' } },
+ { '2016T12:12:11' => { result => '01.01.2016 12:12:11', tz =>
'floating' } },
+ { '2016-06T12' => { result => '01.06.2016 12:00:00', tz =>
'floating' } },
+ { '2016-06T12:12' => { result => '01.06.2016 12:12:00', tz =>
'floating' } },
+ { '2016-06T12:12:11' => { result => '01.06.2016 12:12:11', tz =>
'floating' } },
+ { '2016-06-19T12' => { result => '19.06.2016 12:00:00', tz =>
'floating' } },
+ { '2016-06-19T12:12' => { result => '19.06.2016 12:12:00', tz =>
'floating' } },
+ { '2016-06-19T12:12:11' => { result => '19.06.2016 12:12:11', tz =>
'floating' } },
+ { '2016-06-19T12:12:11-0500' => { result => '19.06.2016 12:12:11', tz =>
'-0500' } },
+ { '2016-06-19T12:12:11+0500' => { result => '19.06.2016 12:12:11', tz =>
'+0500' } },
+ { '2016-06-19T12:12:11-05:00' => { result => '19.06.2016 12:12:11', tz =>
'-0500' } },
+ { '2016-06-19T12:12:11+05:00' => { result => '19.06.2016 12:12:11', tz =>
'+0500' } },
+ { '2016-06-19T12:12:11+05:30' => { result => '19.06.2016 12:12:11', tz =>
'+0530' } },
+ { '2016-06-19T12:12:11-05:30' => { result => '19.06.2016 12:12:11', tz =>
'-0530' } },
+ { '2016-06-19T12:12:11-05' => { result => '19.06.2016 12:12:11', tz =>
'-0500' } },
+ { '2016-06-19T12:12:11+05' => { result => '19.06.2016 12:12:11', tz =>
'+0500' } },
+ { '2016-06-19T12:12+05' => { result => '19.06.2016 12:12:00', tz =>
'+0500' } },
+ { '2016-06-19T12:12+00' => { result => '19.06.2016 12:12:00', tz =>
'UTC' } },
+ { '2016-06-19T12:12-00' => { result => '19.06.2016 12:12:00', tz =>
'UTC' } },
+ { '2016-06-19T12:12:11Z' => { result => '19.06.2016 12:12:11', tz =>
'UTC' } },
+ { '2016-06-19T12:12Z' => { result => '19.06.2016 12:12:00', tz =>
'UTC' } },
+);
+
+my @iso8601_fractional = (
+ { '2016-06-19T12:12:11.5' => { result => '19.06.2016 12:12:11',
tz => 'floating', ns => 500_000_000 } },
+ { '2016-06-19T12:12,5' => { result => '19.06.2016 12:12:00',
tz => 'floating', ns => 500_000_000 } },
+ { '2016-06-19T12:12:11.50000' => { result => '19.06.2016 12:12:11',
tz => 'floating', ns => 500_000_000 } },
+ { '2016-06-19T12:12:11,5' => { result => '19.06.2016 12:12:11',
tz => 'floating', ns => 500_000_000 } },
+ { '2016-06-19T12:12:11,5Z' => { result => '19.06.2016 12:12:11',
tz => 'UTC', ns => 500_000_000 } },
+ { '2016-06-19T12:12:11,5-5000' => { result => '19.06.2016 12:12:11',
tz => '-5000', ns => 500_000_000 } },
+ { '2016-06-19T12:12:11.1000000000' => { result => '19.06.2016 12:12:12',
tz => 'floating', ns => 0 } },
);
compare(\@iso8601);
+compare_fractional(\@iso8601_fractional);
sub compare
{
@@ -27,20 +51,48 @@
foreach my $href (@$aref) {
my $key = (keys %$href)[0];
- compare_strings($key, $href->{$key});
+ compare_strings($key, @{$href->{$key}}{qw(result tz)});
+ }
+}
+
+sub compare_fractional
+{
+ my $aref = shift;
+ foreach my $href (@$aref) {
+ my $key = (keys %$href)[0];
+ compare_with_fractional($key, @{$href->{$key}}{qw(result tz ns)});
}
}
sub compare_strings
{
- my ($string, $result) = @_;
+ my ($string, $result, $expected_tz) = @_;
+
+ my $parser = DateTime::Format::Natural->new;
+
+ my $dt = $parser->parse_datetime($string);
+
+ if ($parser->success) {
+ is(_result_string($dt), $result, $string);
+ is($dt->time_zone->name, $expected_tz, "$string - timezone");
+ }
+ else {
+ fail($string);
+ }
+}
+
+sub compare_with_fractional
+{
+ my ($string, $result, $expected_tz, $expected_ns) = @_;
my $parser = DateTime::Format::Natural->new;
my $dt = $parser->parse_datetime($string);
- if ($parser->success && $parser->_get_truncated) {
+ if ($parser->success) {
is(_result_string($dt), $result, $string);
+ is($dt->time_zone->name, $expected_tz, "$string - timezone");
+ is($dt->nanosecond, $expected_ns, "$string - nanoseconds");
}
else {
fail($string);
++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.YW82zl/_old 2026-01-23 17:34:29.069439393 +0100
+++ /var/tmp/diff_new_pack.YW82zl/_new 2026-01-23 17:34:29.077439723 +0100
@@ -1,6 +1,6 @@
-mtime: 1767592413
-commit: 62f54d502d699d80445cf295e6ed878008aeaf4758d4b379fbee77a9c0df652b
+mtime: 1768801961
+commit: e7030ca73f5fe81a2896b6978dda503b065c3342a04d03f29006eac539d545ee
url: https://src.opensuse.org/perl/perl-DateTime-Format-Natural.git
-revision: 62f54d502d699d80445cf295e6ed878008aeaf4758d4b379fbee77a9c0df652b
+revision: e7030ca73f5fe81a2896b6978dda503b065c3342a04d03f29006eac539d545ee
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-01-22 10:35:12.000000000 +0100
@@ -0,0 +1 @@
+.osc