diff -pruN 3.6.0-2/Service/ServiceSubscriberTrait.php 3.6.1-1/Service/ServiceSubscriberTrait.php
--- 3.6.0-2/Service/ServiceSubscriberTrait.php	2025-05-01 12:12:53.000000000 +0000
+++ 3.6.1-1/Service/ServiceSubscriberTrait.php	2025-07-15 17:58:03.000000000 +0000
@@ -53,7 +53,7 @@ trait ServiceSubscriberTrait
                 throw new \LogicException(\sprintf('Cannot use "%s" on methods without a return type in "%s::%s()".', SubscribedService::class, $method->name, self::class));
             }
 
-            /* @var SubscribedService $attribute */
+            /** @var SubscribedService $attribute */
             $attribute = $attribute->newInstance();
             $attribute->key ??= self::class.'::'.$method->name;
             $attribute->type ??= $returnType instanceof \ReflectionNamedType ? $returnType->getName() : (string) $returnType;
diff -pruN 3.6.0-2/Translation/Test/TranslatorTest.php 3.6.1-1/Translation/Test/TranslatorTest.php
--- 3.6.0-2/Translation/Test/TranslatorTest.php	2025-05-01 12:12:53.000000000 +0000
+++ 3.6.1-1/Translation/Test/TranslatorTest.php	2025-07-15 17:58:03.000000000 +0000
@@ -14,6 +14,7 @@ namespace Symfony\Contracts\Translation\
 use PHPUnit\Framework\Attributes\DataProvider;
 use PHPUnit\Framework\Attributes\RequiresPhpExtension;
 use PHPUnit\Framework\TestCase;
+use Symfony\Component\Translation\TranslatableMessage;
 use Symfony\Contracts\Translation\TranslatorInterface;
 use Symfony\Contracts\Translation\TranslatorTrait;
 
@@ -124,10 +125,12 @@ class TranslatorTest extends TestCase
 
     public static function getTransTests()
     {
-        return [
-            ['Symfony is great!', 'Symfony is great!', []],
-            ['Symfony is awesome!', 'Symfony is %what%!', ['%what%' => 'awesome']],
-        ];
+        yield ['Symfony is great!', 'Symfony is great!', []];
+        yield ['Symfony is awesome!', 'Symfony is %what%!', ['%what%' => 'awesome']];
+
+        if (class_exists(TranslatableMessage::class)) {
+            yield ['He said "Symfony is awesome!".', 'He said "%what%".', ['%what%' => new TranslatableMessage('Symfony is %what%!', ['%what%' => 'awesome'])]];
+        }
     }
 
     public static function getTransChoiceTests()
diff -pruN 3.6.0-2/Translation/TranslatorTrait.php 3.6.1-1/Translation/TranslatorTrait.php
--- 3.6.0-2/Translation/TranslatorTrait.php	2025-05-01 12:12:53.000000000 +0000
+++ 3.6.1-1/Translation/TranslatorTrait.php	2025-07-15 17:58:03.000000000 +0000
@@ -41,6 +41,12 @@ trait TranslatorTrait
             return '';
         }
 
+        foreach ($parameters as $k => $v) {
+            if ($v instanceof TranslatableInterface) {
+                $parameters[$k] = $v->trans($this, $locale);
+            }
+        }
+
         if (!isset($parameters['%count%']) || !is_numeric($parameters['%count%'])) {
             return strtr($id, $parameters);
         }
diff -pruN 3.6.0-2/debian/changelog 3.6.1-1/debian/changelog
--- 3.6.0-2/debian/changelog	2025-10-21 12:02:48.000000000 +0000
+++ 3.6.1-1/debian/changelog	2025-11-10 12:27:11.000000000 +0000
@@ -1,3 +1,13 @@
+php-symfony-contracts (3.6.1-1) unstable; urgency=medium
+
+  [ Steven Renaux ]
+  * Fix ServiceMethodsSubscriberTrait for nullable service
+
+  [ Vincent Langlet ]
+  * [Translation] fix support of `TranslatableInterface` in `IdentityTranslator`
+
+ -- David Prévot <taffit@debian.org>  Mon, 10 Nov 2025 13:27:11 +0100
+
 php-symfony-contracts (3.6.0-2) unstable; urgency=medium
 
   * Upload to unstable now that Trixie has been released
