01 - Combine warm milk, sugar, and yeast in a large bowl. Let stand for 5 minutes until foamy. Add flour, salt, melted butter, and egg. Knead by hand or with a 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.
02 - 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. Stir in thyme and balsamic vinegar, cook for 2 more minutes. Remove from heat and let cool.
03 - In a bowl, combine caramelized onions, Gruyere, and Parmesan.
04 - 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. Starting from the long side, tightly roll up the dough into a log. Pinch the seam to seal. Transfer to a parchment-lined baking sheet and form into a ring, pinching the ends together.
05 - 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.
06 - Cover loosely with plastic wrap and let rise for 30–40 minutes.
07 - Preheat oven to 350°F. Brush the wreath with beaten egg. Sprinkle with poppy or sesame seeds if desired.
08 - Bake for 30–35 minutes until golden brown and cooked through. Cool slightly. Garnish with fresh thyme if using.
09 - Serve warm or at room temperature.