diff -pruN 1.15-2/CHANGES 1.16-1/CHANGES
--- 1.15-2/CHANGES	2020-10-17 00:41:13.000000000 +0000
+++ 1.16-1/CHANGES	2025-11-02 16:07:19.000000000 +0000
@@ -1,5 +1,17 @@
 Revision history for Perl extension Data::JavaScript.
 
+1.16  Sun Nov  2 10:19:35 EST 2025
+  - Debian patch for Perl 5.42 warning
+  - Fix unquoted period reported by jwrightrecs, which matches real num regexp
+  - Unquote numbers in scientific notation for brevity of output
+    (Maybe older JSON did not support them, and that's why they were wrapped?)
+  - Remove 404 issue tracker from YAML.
+    Wayback machine shows title only of three tickets circa 2010,
+    the first two of which are from MSTEMLE / manchicken
+    1. Update documentation
+    2. Add support for modern JavaScript data structures
+    3. single . as value isn't quoted - jwrightrecs
+
 1.15  Sun Oct 11 11:37:15 EDT 2020
   - Adding skip check to the perlcritic test to avoid cpan tester issues.
 
diff -pruN 1.15-2/META.json 1.16-1/META.json
--- 1.15-2/META.json	2020-10-17 00:41:40.000000000 +0000
+++ 1.16-1/META.json	2025-11-02 16:10:24.000000000 +0000
@@ -4,7 +4,7 @@
       "Michael Stemle, Jr. <mstemle@cpan.org>"
    ],
    "dynamic_config" : 1,
-   "generated_by" : "ExtUtils::MakeMaker version 7.44, CPAN::Meta::Converter version 2.150010",
+   "generated_by" : "ExtUtils::MakeMaker version 7.70, CPAN::Meta::Converter version 2.150010",
    "license" : [
       "perl_5"
    ],
@@ -59,10 +59,10 @@
          "web" : "https://github.com/manchicken/data-javascript"
       }
    },
-   "version" : "1.15",
+   "version" : "1.16",
    "x_contributors" : [
       "Jerrad Pierce <jpierce@cpan.org>",
       "Ariel Brosh <schop cpan.org>"
    ],
-   "x_serialization_backend" : "JSON::PP version 4.04"
+   "x_serialization_backend" : "JSON::PP version 4.16"
 }
diff -pruN 1.15-2/META.yml 1.16-1/META.yml
--- 1.15-2/META.yml	2020-10-17 00:41:40.000000000 +0000
+++ 1.16-1/META.yml	2025-11-02 16:10:19.000000000 +0000
@@ -14,7 +14,7 @@ build_requires:
 configure_requires:
   ExtUtils::MakeMaker: '0'
 dynamic_config: 1
-generated_by: 'ExtUtils::MakeMaker version 7.44, CPAN::Meta::Converter version 2.150010'
+generated_by: 'ExtUtils::MakeMaker version 7.70, CPAN::Meta::Converter version 2.150010'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -31,7 +31,7 @@ requires:
 resources:
   bugtracker: https://github.com/manchicken/data-javascript/issues
   repository: https://github.com/manchicken/data-javascript
-version: '1.15'
+version: '1.16'
 x_contributors:
   - 'Jerrad Pierce <jpierce@cpan.org>'
   - 'Ariel Brosh <schop cpan.org>'
diff -pruN 1.15-2/debian/changelog 1.16-1/debian/changelog
--- 1.15-2/debian/changelog	2025-09-03 18:08:51.000000000 +0000
+++ 1.16-1/debian/changelog	2025-11-02 19:44:15.000000000 +0000
@@ -1,3 +1,11 @@
+libdata-javascript-perl (1.16-1) unstable; urgency=medium
+
+  * Team upload.
+  * Import upstream version 1.16.
+  * Drop perl-5.42-precedence.patch, applied upstream.
+
+ -- gregor herrmann <gregoa@debian.org>  Sun, 02 Nov 2025 20:44:15 +0100
+
 libdata-javascript-perl (1.15-2) unstable; urgency=medium
 
   * Team upload.
diff -pruN 1.15-2/debian/patches/perl-5.42-precedence.patch 1.16-1/debian/patches/perl-5.42-precedence.patch
--- 1.15-2/debian/patches/perl-5.42-precedence.patch	2025-09-03 18:08:51.000000000 +0000
+++ 1.16-1/debian/patches/perl-5.42-precedence.patch	1970-01-01 00:00:00.000000000 +0000
@@ -1,20 +0,0 @@
-Description: Fix warning with perl 5.42
- Possible precedence problem between ! and numeric lt (<) at /build/libdata-javascript-perl-1.15/blib/lib/Data/JavaScript.pm line 25.
-Origin: vendor
-Bug-Debian: https://bugs.debian.org/1113873
-Author: gregor herrmann <gregoa@debian.org>
-Last-Update: 2025-09-03
-Forwarded: https://rt.cpan.org/Ticket/Display.html?id=169509
-Bug: https://rt.cpan.org/Ticket/Display.html?id=169509
-
---- a/lib/Data/JavaScript.pm
-+++ b/lib/Data/JavaScript.pm
-@@ -22,7 +22,7 @@
- # This is a context variable which holds on to configs.
- my %opt = ( JS => $JSCOMPAT_DEFAULT_VERSION );  # TODO: This is super out-dated.
- 
--if ( !$] < $MIN_ENCODE_REQUIRE_BREAKPOINT ) { require Encode; }
-+if ( $] >= $MIN_ENCODE_REQUIRE_BREAKPOINT ) { require Encode; }
- 
- sub import {
-   my ( $package, @args ) = @_;
diff -pruN 1.15-2/debian/patches/series 1.16-1/debian/patches/series
--- 1.15-2/debian/patches/series	2025-09-03 18:08:51.000000000 +0000
+++ 1.16-1/debian/patches/series	1970-01-01 00:00:00.000000000 +0000
@@ -1 +0,0 @@
-perl-5.42-precedence.patch
diff -pruN 1.15-2/lib/Data/JavaScript.pm 1.16-1/lib/Data/JavaScript.pm
--- 1.15-2/lib/Data/JavaScript.pm	2020-10-17 00:41:03.000000000 +0000
+++ 1.16-1/lib/Data/JavaScript.pm	2025-11-02 16:04:37.000000000 +0000
@@ -4,7 +4,7 @@ use Modern::Perl;
 use Readonly;
 use Scalar::Util 'reftype';
 
-our $VERSION = q/1.15/;
+our $VERSION = '1.16';
 
 # Exporter
 Readonly our @EXPORT      => qw(jsdump hjsdump);
@@ -22,7 +22,7 @@ Readonly my $JSCOMPAT_UNDEFINED_MISSING
 # This is a context variable which holds on to configs.
 my %opt = ( JS => $JSCOMPAT_DEFAULT_VERSION );  # TODO: This is super out-dated.
 
-if ( !$] < $MIN_ENCODE_REQUIRE_BREAKPOINT ) { require Encode; }
+if ( $] >= $MIN_ENCODE_REQUIRE_BREAKPOINT ) { require Encode; }
 
 sub import {
   my ( $package, @args ) = @_;
@@ -156,27 +156,25 @@ sub __jsdump {
 
   if ( not $ref ) {
     if ( not defined $elem ) {
-      return qq/$sym = @{[defined($undef) ? $undef : $opt{UNDEF}]};/;
+      return qq($sym = @{[defined($undef) ? $undef : $opt{UNDEF}]};);
     }
 
     #Translated from $Regexp::Common::RE{num}{real}
-    if ( $elem =~ /^[+-]?(?:(?=\d|[.])\d*(?:[.]\d{0,})?)$/xsm ) {
+    if ( $elem ne '.' &&
+	 $elem =~ /^[+-]?(?:(?=\d|[.])\d*(?:[.]\d{0,})?)(?:[eE][+-]?\d+)?$/xsm ) {
 
-      #                                                      (?:[eE][+-]?\d+)?
-      if ( $elem =~ /^0\d+$/xsm ) {
-        return qq/$sym = "$elem";/;
-      }
-      return qq/$sym = $elem;/;
+      if( $elem =~ /^0\d+$/xsm ){
+        return qq($sym = "$elem";) }
+      return qq($sym = $elem;);
     }
 
     #Fall-back to quoted string
-    return qq/$sym = "/ . __quotemeta($elem) . q/";/;
+    return qq($sym = ") . __quotemeta($elem) . '";';
   }
 
   #Circular references
-  if ( $dict->{$elem} ) {
-    return qq/$sym = $dict->{$elem};/;
-  }
+  if( $dict->{$elem} ){
+    return qq($sym = $dict->{$elem};) }
   $dict->{$elem} = $sym;
 
   #isa over ref in case we're given objects
diff -pruN 1.15-2/t/4-escape.t 1.16-1/t/4-escape.t
--- 1.15-2/t/4-escape.t	2020-07-05 19:27:13.000000000 +0000
+++ 1.16-1/t/4-escape.t	2025-11-02 15:47:58.000000000 +0000
@@ -15,7 +15,7 @@ is join( q//, jsdump( 'ixi', $NEGATIVE_O
 
 is join( q//, jsdump( 'pi', $PI ) ), 'var pi = 3.14159;', 'Pi';
 
-is join( q//, jsdump( 'c', '3E8' ) ), 'var c = "3E8";', 'Scientific notation';
+is join( q//, jsdump( 'c', '3E8' ) ), 'var c = 3E8;', 'Scientific notation';
 
 is join( q//, jsdump( 'zipcode', '02139' ) ),
   'var zipcode = "02139";',
