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. Place in a greased bowl, cover, and let rise in a warm place for 1 hour until doubled in size.
03 - Heat butter and olive oil in a large skillet over medium-low heat. Add sliced onions, salt, and pepper. Cook, stirring often, for 25–30 minutes until golden and deeply caramelized. Stir in thyme and balsamic vinegar, cook for 2 more minutes. Remove from heat and let cool completely.
04 - Combine cooled caramelized onions, grated Gruyere, and grated Parmesan in a bowl. Mix thoroughly until evenly distributed.
05 - Punch down the risen dough. On a lightly floured surface, roll out into a 12x18-inch rectangle. Evenly spread the onion-cheese filling over the dough, leaving a 1-inch border around the edges.
06 - Starting from the long side, tightly roll the dough into a log. Pinch the seam to seal securely. Transfer to a parchment-lined baking sheet and form into a ring, pinching the ends together to create a continuous circle.
07 - 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.
08 - Cover loosely with plastic wrap and let rise for 30–40 minutes until puffy and slightly expanded.
09 - Preheat oven to 350°F. Brush the entire wreath generously with beaten egg. Sprinkle with poppy or sesame seeds if desired.
10 - Bake for 30–35 minutes until golden brown and cooked through. The internal temperature should reach 190°F. Cool on the baking sheet for 10 minutes. Garnish with fresh thyme sprigs if using. Serve warm or at room temperature.