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

Reply via email to