01 - Preheat oven to 350°F (175°C). Grease and line an 8-inch square baking pan with parchment paper.
02 - In a medium bowl, whisk together flour, baking powder, baking soda, and salt.
03 - In a large bowl, beat butter and sugar together with an electric mixer until light and fluffy, approximately 2–3 minutes.
04 - Add eggs one at a time, beating well after each addition. Mix in sour cream (or yogurt), milk, orange zest, orange juice, and vanilla until the mixture is smooth.
05 - Gradually add the dry ingredients to the wet mixture, blending until just combined.
06 - Gently fold in the cranberries and nuts, if using.
07 - Pour the batter into the prepared pan and smooth the top evenly.
08 - Bake for 32–36 minutes, or until a toothpick inserted into the center comes out clean or with a few moist crumbs.
09 - Allow the cake to cool in the pan for 10 minutes. Then, carefully lift it out onto a wire rack and let it cool completely.
10 - For the glaze, whisk powdered sugar with orange juice and zest until smooth and drippy. Drizzle generously over the cooled cake before slicing.