01 - Combine warm milk, sugar, and yeast in a large bowl. Let stand for 5 minutes until foamy and activated.
02 - Add flour, salt, melted butter, and egg to the yeast mixture. Knead by hand or with a stand mixer for 8–10 minutes until smooth and elastic.
03 - Place dough in a greased bowl, cover with plastic wrap, and let rise in a warm place for 1 hour until doubled in size.
04 - Heat butter and olive oil in a large skillet over medium-low heat. Add onions, salt, and pepper. Cook, stirring often, for 25–30 minutes until golden and deeply caramelized.
05 - Stir in thyme and balsamic vinegar, cook for 2 more minutes. Remove from heat and let cool completely.
06 - In a bowl, combine cooled caramelized onions, Gruyere cheese, and Parmesan cheese. Mix until evenly distributed.
07 - Punch down the risen dough. On a lightly floured surface, roll out into a 12x18-inch rectangle.
08 - Evenly spread the onion-cheese filling over the dough, leaving a 1-inch border around the edges.
09 - Starting from the long side, tightly roll up the dough into a log. Pinch the seam firmly to seal.
10 - Transfer to a parchment-lined baking sheet and form into a ring, pinching the ends together securely.
11 - Using kitchen scissors or a sharp knife, cut slits two-thirds of the way through the dough at 2-inch intervals around the ring. Gently turn each section slightly outward to expose the filling.
12 - Cover loosely with plastic wrap and let rise for 30–40 minutes until puffy.
13 - Preheat oven to 350°F.
14 - Brush the wreath generously with beaten egg. Sprinkle with poppy or sesame seeds if desired.
15 - Bake for 30–35 minutes until deeply golden brown and cooked through. The internal temperature should reach 190°F.
16 - Let cool slightly on the baking sheet. Garnish with fresh thyme sprigs if using.
17 - Serve warm or at room temperature. Pull apart individual sections to serve.