diff -pruN 0.13-1/Changes 0.14-1/Changes
--- 0.13-1/Changes	2024-10-21 17:26:11.000000000 +0000
+++ 0.14-1/Changes	2025-07-11 16:07:04.000000000 +0000
@@ -1,5 +1,11 @@
 Revision history for Future-XS
 
+0.14    2025-07-11
+        [CHANGES]
+         * Make sure to bump refcount of self before calling Future_cancel()
+         * Improved handling of selfstr in debug warnings; include label and
+           constructed-at messages
+
 0.13    2024-10-21
         [CHANGES]
          * Implement the 'also' API for convergent Futures of Future v0.51
diff -pruN 0.13-1/LICENSE 0.14-1/LICENSE
--- 0.13-1/LICENSE	2024-10-21 17:26:11.000000000 +0000
+++ 0.14-1/LICENSE	2025-07-11 16:07:04.000000000 +0000
@@ -1,4 +1,4 @@
-This software is copyright (c) 2024 by Paul Evans <leonerd@leonerd.org.uk>.
+This software is copyright (c) 2025 by Paul Evans <leonerd@leonerd.org.uk>.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -12,7 +12,7 @@ b) the "Artistic License"
 
 --- The GNU General Public License, Version 1, February 1989 ---
 
-This software is Copyright (c) 2024 by Paul Evans <leonerd@leonerd.org.uk>.
+This software is Copyright (c) 2025 by Paul Evans <leonerd@leonerd.org.uk>.
 
 This is free software, licensed under:
 
@@ -272,7 +272,7 @@ That's all there is to it!
 
 --- The Perl Artistic License 1.0 ---
 
-This software is Copyright (c) 2024 by Paul Evans <leonerd@leonerd.org.uk>.
+This software is Copyright (c) 2025 by Paul Evans <leonerd@leonerd.org.uk>.
 
 This is free software, licensed under:
 
diff -pruN 0.13-1/META.json 0.14-1/META.json
--- 0.13-1/META.json	2024-10-21 17:26:11.000000000 +0000
+++ 0.14-1/META.json	2025-07-11 16:07:04.000000000 +0000
@@ -39,7 +39,7 @@
    "provides" : {
       "Future::XS" : {
          "file" : "lib/Future/XS.pm",
-         "version" : "0.13"
+         "version" : "0.14"
       }
    },
    "release_status" : "stable",
@@ -48,6 +48,6 @@
          "http://dev.perl.org/licenses/"
       ]
    },
-   "version" : "0.13",
+   "version" : "0.14",
    "x_serialization_backend" : "JSON::PP version 4.16"
 }
diff -pruN 0.13-1/META.yml 0.14-1/META.yml
--- 0.13-1/META.yml	2024-10-21 17:26:11.000000000 +0000
+++ 0.14-1/META.yml	2025-07-11 16:07:04.000000000 +0000
@@ -17,11 +17,11 @@ name: Future-XS
 provides:
   Future::XS:
     file: lib/Future/XS.pm
-    version: '0.13'
+    version: '0.14'
 requires:
   Future: 0.48_001
   perl: '5.024'
 resources:
   license: http://dev.perl.org/licenses/
-version: '0.13'
+version: '0.14'
 x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -pruN 0.13-1/debian/changelog 0.14-1/debian/changelog
--- 0.13-1/debian/changelog	2024-10-26 15:09:51.000000000 +0000
+++ 0.14-1/debian/changelog	2025-09-22 19:21:09.000000000 +0000
@@ -1,3 +1,14 @@
+libfuture-xs-perl (0.14-1) unstable; urgency=medium
+
+  * Import upstream version 0.14.
+  * Update years of upstream and packaging copyright.
+  * Declare compliance with Debian Policy 4.7.2.
+  * Remove «Rules-Requires-Root: no», which is the current default.
+  * Drop unneeded version constraints from (build) dependencies.
+  * Remove «Priority: optional», which is the current default.
+
+ -- gregor herrmann <gregoa@debian.org>  Mon, 22 Sep 2025 21:21:09 +0200
+
 libfuture-xs-perl (0.13-1) unstable; urgency=medium
 
   * Import upstream version 0.13.
diff -pruN 0.13-1/debian/control 0.14-1/debian/control
--- 0.13-1/debian/control	2024-10-26 15:09:51.000000000 +0000
+++ 0.14-1/debian/control	2025-09-22 19:21:09.000000000 +0000
@@ -1,30 +1,32 @@
 Source: libfuture-xs-perl
+Standards-Version: 4.7.2
 Maintainer: Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>
-Uploaders: gregor herrmann <gregoa@debian.org>
+Uploaders:
+ gregor herrmann <gregoa@debian.org>,
 Section: perl
 Testsuite: autopkgtest-pkg-perl
-Priority: optional
-Build-Depends: debhelper-compat (= 13),
-               libdevel-mat-dumper-perl (>= 0.44),
-               libextutils-cbuilder-perl,
-               libfuture-perl (>= 0.49) <!nocheck>,
-               libmodule-build-perl,
-               libtest2-suite-perl <!nocheck>,
-               perl-xs-dev,
-               perl:native
-Standards-Version: 4.7.0
+Build-Depends:
+ debhelper-compat (= 13),
+ libdevel-mat-dumper-perl,
+ libextutils-cbuilder-perl,
+ libfuture-perl <!nocheck>,
+ libmodule-build-perl,
+ libtest2-suite-perl <!nocheck>,
+ perl-xs-dev,
+ perl:native,
 Vcs-Browser: https://salsa.debian.org/perl-team/modules/packages/libfuture-xs-perl
 Vcs-Git: https://salsa.debian.org/perl-team/modules/packages/libfuture-xs-perl.git
 Homepage: https://metacpan.org/release/Future-XS
-Rules-Requires-Root: no
 
 Package: libfuture-xs-perl
 Architecture: any
-Depends: ${misc:Depends},
-         ${perl:Depends},
-         ${shlibs:Depends},
-         libfuture-perl (>= 0.49)
-Enhances: libfuture-perl
+Depends:
+ ${misc:Depends},
+ ${perl:Depends},
+ ${shlibs:Depends},
+ libfuture-perl,
+Enhances:
+ libfuture-perl,
 Description: experimental XS implementation of Future
  Future::XS provides an XS-based implementation of the Future class. It is
  currently experimental and shipped in its own distribution for testing
diff -pruN 0.13-1/debian/copyright 0.14-1/debian/copyright
--- 0.13-1/debian/copyright	2024-10-26 15:09:51.000000000 +0000
+++ 0.14-1/debian/copyright	2025-09-22 19:21:09.000000000 +0000
@@ -4,11 +4,11 @@ Upstream-Contact: Paul Evans <leonerd@le
 Upstream-Name: Future-XS
 
 Files: *
-Copyright: 2022-2024, Paul Evans <leonerd@leonerd.org.uk>
+Copyright: 2022-2025, Paul Evans <leonerd@leonerd.org.uk>
 License: Artistic or GPL-1+
 
 Files: debian/*
-Copyright: 2023-2024, gregor herrmann <gregoa@debian.org>
+Copyright: 2023-2025, gregor herrmann <gregoa@debian.org>
 License: Artistic or GPL-1+
 
 License: Artistic
diff -pruN 0.13-1/lib/Future/XS.pm 0.14-1/lib/Future/XS.pm
--- 0.13-1/lib/Future/XS.pm	2024-10-21 17:26:11.000000000 +0000
+++ 0.14-1/lib/Future/XS.pm	2025-07-11 16:07:04.000000000 +0000
@@ -3,7 +3,7 @@
 #
 #  (C) Paul Evans, 2022-2024 -- leonerd@leonerd.org.uk
 
-package Future::XS 0.13;
+package Future::XS 0.14;
 
 use v5.14;
 use warnings;
diff -pruN 0.13-1/lib/Future/XS.xs 0.14-1/lib/Future/XS.xs
--- 0.13-1/lib/Future/XS.xs	2024-10-21 17:26:11.000000000 +0000
+++ 0.14-1/lib/Future/XS.xs	2025-07-11 16:07:04.000000000 +0000
@@ -239,8 +239,8 @@ SV *
 cancel(SV *self)
   CODE:
     CHECK_INSTANCE(self);
-    future_cancel(self);
     RETVAL = SvREFCNT_inc(self);
+    future_cancel(self);
   OUTPUT:
     RETVAL
 
diff -pruN 0.13-1/src/future.c 0.14-1/src/future.c
--- 0.13-1/src/future.c	2024-10-21 17:26:11.000000000 +0000
+++ 0.14-1/src/future.c	2025-07-11 16:07:04.000000000 +0000
@@ -266,6 +266,19 @@ static void S_destroy_callbacks(pTHX_ st
   }
 }
 
+#define future_mortal_selfstr(f)  Future_mortal_selfstr(aTHX_ f)
+static SV *Future_mortal_selfstr(pTHX_ SV *f)
+{
+  struct FutureXS *self = get_future(f);
+
+  SV *ret = newSVpvf("%" SVf, SVfARG(f));
+  if(self->label)
+    sv_catpvf(ret, " (\"%" SVf "\")", SVfARG(self->label));
+  if(future_debug)
+    sv_catpvf(ret, " (%" SVf ")", SVfARG(self->constructed_at));
+  return sv_2mortal(ret);
+}
+
 void Future_destroy(pTHX_ SV *f)
 {
 #ifdef DEBUGGING
@@ -290,13 +303,13 @@ void Future_destroy(pTHX_ SV *f)
   if(future_debug &&
     (!self->ready || (self->failure && !self->reported))) {
     if(!self->ready)
-      warn("%" SVf " was %" SVf " and was lost near %s line %d before it was ready\n",
-          SVfARG(f), SVfARG(self->constructed_at),
+      warn("%" SVf " was lost near %s line %d before it was ready\n",
+          SVfARG(future_mortal_selfstr(f)),
           CopFILE(PL_curcop), CopLINE(PL_curcop));
     else {
       SV *failure = AvARRAY(self->failure)[0];
-      warn("%" SVf " was %" SVf " and was lost near %s line %d with an unreported failure of: %" SVf "\n",
-          SVfARG(f), SVfARG(self->constructed_at),
+      warn("%" SVf " was lost near %s line %d with an unreported failure of: %" SVf "\n",
+          SVfARG(future_mortal_selfstr(f)),
           CopFILE(PL_curcop), CopLINE(PL_curcop),
           SVfARG(failure));
     }
@@ -549,12 +562,8 @@ static void S_invoke_callback(pTHX_ stru
     SV *fseq  = cb->seq.f;
 
     if(!SvOK(fseq)) {
-      if(self->constructed_at)
-        warn("%" SVf " (%" SVf ") lost a sequence Future",
-            SVfARG(selfsv), SVfARG(self->constructed_at));
-      else
-        warn("%" SVf " lost a sequence Future",
-            SVfARG(selfsv));
+      warn("%" SVf " lost a sequence Future",
+          SVfARG(future_mortal_selfstr(selfsv)));
       return;
     }
 
@@ -1076,7 +1085,7 @@ AV *Future_get_result_av(pTHX_ SV *f, bo
 
   if(self->cancelled)
     croak("%" SVf " was cancelled",
-        SVfARG(f));
+        SVfARG(future_mortal_selfstr(f)));
 
   if(!self->result)
     self->result = newAV();
