diff -pruN 3.2.0-3/.github/workflows/ci.yml 3.3.0-1/.github/workflows/ci.yml
--- 3.2.0-3/.github/workflows/ci.yml	2024-05-24 10:39:05.000000000 +0000
+++ 3.3.0-1/.github/workflows/ci.yml	2025-08-19 18:57:03.000000000 +0000
@@ -7,10 +7,11 @@ on:
 jobs:
   PHPUnit:
     name: PHPUnit (PHP ${{ matrix.php }})
-    runs-on: ubuntu-22.04
+    runs-on: ubuntu-24.04
     strategy:
       matrix:
         php:
+          - 8.4
           - 8.3
           - 8.2
           - 8.1
@@ -20,7 +21,7 @@ jobs:
           - 7.2
           - 7.1
     steps:
-      - uses: actions/checkout@v4
+      - uses: actions/checkout@v5
       - uses: shivammathur/setup-php@v2
         with:
           php-version: ${{ matrix.php }}
@@ -34,10 +35,11 @@ jobs:
 
   PHPStan:
     name: PHPStan (PHP ${{ matrix.php }})
-    runs-on: ubuntu-22.04
+    runs-on: ubuntu-24.04
     strategy:
       matrix:
         php:
+          - 8.4
           - 8.3
           - 8.2
           - 8.1
@@ -46,7 +48,7 @@ jobs:
           - 7.3
           - 7.2
     steps:
-      - uses: actions/checkout@v4
+      - uses: actions/checkout@v5
       - uses: shivammathur/setup-php@v2
         with:
           php-version: ${{ matrix.php }}
diff -pruN 3.2.0-3/composer.json 3.3.0-1/composer.json
--- 3.2.0-3/composer.json	2024-05-24 10:39:05.000000000 +0000
+++ 3.3.0-1/composer.json	2025-08-19 18:57:03.000000000 +0000
@@ -28,7 +28,7 @@
         "php": ">=7.1.0"
     },
     "require-dev": {
-        "phpstan/phpstan": "1.10.39 || 1.4.10",
+        "phpstan/phpstan": "1.12.28 || 1.4.10",
         "phpunit/phpunit": "^9.6 || ^7.5"
     },
     "autoload": {
diff -pruN 3.2.0-3/debian/changelog 3.3.0-1/debian/changelog
--- 3.2.0-3/debian/changelog	2024-12-17 10:34:52.000000000 +0000
+++ 3.3.0-1/debian/changelog	2025-08-26 06:58:44.000000000 +0000
@@ -1,3 +1,15 @@
+php-react-promise (3.3.0-1) unstable; urgency=medium
+
+  [ Theodore Brown ]
+  * Fix inconsistent switch case syntax
+
+  [ David Prévot ]
+  * Drop patch not needed anymore
+  * Removed Rules-Requires-Root.
+  * Update Standards-Version to 4.7.2
+
+ -- David Prévot <taffit@debian.org>  Tue, 26 Aug 2025 08:58:44 +0200
+
 php-react-promise (3.2.0-3) unstable; urgency=medium
 
   * Drop test failing with PHP 8.4 (Closes: #1089781)
diff -pruN 3.2.0-3/debian/control 3.3.0-1/debian/control
--- 3.2.0-3/debian/control	2024-12-17 10:34:35.000000000 +0000
+++ 3.3.0-1/debian/control	2025-08-26 06:57:39.000000000 +0000
@@ -5,8 +5,7 @@ Maintainer: Debian PHP PEAR Maintainers
 Uploaders: David Prévot <taffit@debian.org>
 Build-Depends: debhelper-compat (= 13), dh-sequence-phpcomposer, phpab, phpunit
 Homepage: https://reactphp.org/promise/
-Standards-Version: 4.7.0
-Rules-Requires-Root: no
+Standards-Version: 4.7.2
 Vcs-Git: https://salsa.debian.org/php-team/pear/php-react-promise.git
 Vcs-Browser: https://salsa.debian.org/php-team/pear/php-react-promise
 
diff -pruN 3.2.0-3/debian/patches/0002-Drop-test-failing-with-PHP-8.4.patch 3.3.0-1/debian/patches/0002-Drop-test-failing-with-PHP-8.4.patch
--- 3.2.0-3/debian/patches/0002-Drop-test-failing-with-PHP-8.4.patch	2024-12-17 10:34:40.000000000 +0000
+++ 3.3.0-1/debian/patches/0002-Drop-test-failing-with-PHP-8.4.patch	1970-01-01 00:00:00.000000000 +0000
@@ -1,21 +0,0 @@
-From: =?utf-8?q?David_Pr=C3=A9vot?= <taffit@debian.org>
-Date: Tue, 17 Dec 2024 11:31:30 +0100
-Subject: Drop test failing with PHP 8.4
-
-Bug-Debian: https://bugs.debian.org/1089781
----
- ...lerThatTriggersDefaultHandlerShouldTerminateProgramForUnhandled.phpt | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/tests/FunctionSetRejectionHandlerThatTriggersDefaultHandlerShouldTerminateProgramForUnhandled.phpt b/tests/FunctionSetRejectionHandlerThatTriggersDefaultHandlerShouldTerminateProgramForUnhandled.phpt
-index 14b5c7c..abf2bb5 100644
---- a/tests/FunctionSetRejectionHandlerThatTriggersDefaultHandlerShouldTerminateProgramForUnhandled.phpt
-+++ b/tests/FunctionSetRejectionHandlerThatTriggersDefaultHandlerShouldTerminateProgramForUnhandled.phpt
-@@ -1,5 +1,7 @@
- --TEST--
- The callback given to set_rejection_handler() may trigger a fatal error for unhandled rejection
-+--SKIPIF--
-+<?php if (PHP_VERSION_ID >= 80400) die("Skipped: PHP 8.3 at most."); ?>
- --INI--
- # suppress legacy PHPUnit 7 warning for Xdebug 3
- xdebug.default_enable=
diff -pruN 3.2.0-3/debian/patches/series 3.3.0-1/debian/patches/series
--- 3.2.0-3/debian/patches/series	2024-12-17 10:34:40.000000000 +0000
+++ 3.3.0-1/debian/patches/series	2025-08-26 06:58:44.000000000 +0000
@@ -1,2 +1 @@
 0001-Don-t-expect-src-in-test-output.patch
-0002-Drop-test-failing-with-PHP-8.4.patch
diff -pruN 3.2.0-3/debian/tests/control 3.3.0-1/debian/tests/control
--- 3.2.0-3/debian/tests/control	2024-06-10 05:09:07.000000000 +0000
+++ 3.3.0-1/debian/tests/control	2025-08-26 06:57:39.000000000 +0000
@@ -1,3 +1,3 @@
 Test-Command: mkdir -p vendor && phpabtpl --require react/promise > debian/autoload.tests.php.tpl && phpab --output vendor/autoload.php --template debian/autoload.tests.php.tpl tests && phpunit
-Restrictions: rw-build-tree, allow-stderr
+Restrictions: allow-stderr, rw-build-tree
 Depends: phpab, phpunit, pkg-php-tools, @
diff -pruN 3.2.0-3/src/Internal/FulfilledPromise.php 3.3.0-1/src/Internal/FulfilledPromise.php
--- 3.2.0-3/src/Internal/FulfilledPromise.php	2024-05-24 10:39:05.000000000 +0000
+++ 3.3.0-1/src/Internal/FulfilledPromise.php	2025-08-19 18:57:03.000000000 +0000
@@ -59,6 +59,7 @@ final class FulfilledPromise implements
     public function finally(callable $onFulfilledOrRejected): PromiseInterface
     {
         return $this->then(function ($value) use ($onFulfilledOrRejected): PromiseInterface {
+            /** @var T $value */
             return resolve($onFulfilledOrRejected())->then(function () use ($value) {
                 return $value;
             });
diff -pruN 3.2.0-3/src/Promise.php 3.3.0-1/src/Promise.php
--- 3.2.0-3/src/Promise.php	2024-05-24 10:39:05.000000000 +0000
+++ 3.3.0-1/src/Promise.php	2025-08-19 18:57:03.000000000 +0000
@@ -97,6 +97,7 @@ final class Promise implements PromiseIn
     public function finally(callable $onFulfilledOrRejected): PromiseInterface
     {
         return $this->then(static function ($value) use ($onFulfilledOrRejected): PromiseInterface {
+            /** @var T $value */
             return resolve($onFulfilledOrRejected())->then(function () use ($value) {
                 return $value;
             });
diff -pruN 3.2.0-3/src/functions.php 3.3.0-1/src/functions.php
--- 3.2.0-3/src/functions.php	2024-05-24 10:39:05.000000000 +0000
+++ 3.3.0-1/src/functions.php	2025-08-19 18:57:03.000000000 +0000
@@ -297,7 +297,7 @@ function _checkTypehint(callable $callba
             break;
         case $type instanceof \ReflectionIntersectionType:
             $isTypeUnion = false;
-        case $type instanceof \ReflectionUnionType;
+        case $type instanceof \ReflectionUnionType:
             $types = $type->getTypes();
             break;
         default:
diff -pruN 3.2.0-3/tests/FunctionSetRejectionHandlerThatTriggersDefaultHandlerShouldTerminateProgramForUnhandled.phpt 3.3.0-1/tests/FunctionSetRejectionHandlerThatTriggersDefaultHandlerShouldTerminateProgramForUnhandled.phpt
--- 3.2.0-3/tests/FunctionSetRejectionHandlerThatTriggersDefaultHandlerShouldTerminateProgramForUnhandled.phpt	2024-05-24 10:39:05.000000000 +0000
+++ 3.3.0-1/tests/FunctionSetRejectionHandlerThatTriggersDefaultHandlerShouldTerminateProgramForUnhandled.phpt	2025-08-19 18:57:03.000000000 +0000
@@ -1,5 +1,7 @@
 --TEST--
 The callback given to set_rejection_handler() may trigger a fatal error for unhandled rejection
+--SKIPIF--
+<?php if (PHP_VERSION_ID >= 80400) die("Skipped: PHP < 8.4 only."); ?>
 --INI--
 # suppress legacy PHPUnit 7 warning for Xdebug 3
 xdebug.default_enable=
