Cut 1 ½ cups cranberries in half unless they are the size of a blueberry or smaller, then thaw if frozen (they’re easier to cut while still frozen).
Arrange a rack in the middle of the oven and heat the oven to 350°F. Coat a 9x5-inch loaf pan with cooking spray or butter.
Place 4 tablespoons unsalted butter in a medium microwave-safe bowl and microwave until melted. (Alternatively, melt on the stovetop and transfer to a medium bowl.)
Place 1 cup granulated sugar in a large bowl. Finely grate the zest of 1 medium orange (1 ½ packed teaspoons) into the bowl and rub it into the sugar until fragrant and moistened. Add 2 cups all-purpose flour, 1 ½ teaspoons baking powder, 1 teaspoon kosher salt, and ½ teaspoon baking soda. Whisk to combine and break up any lumps.
Juice the zested orange. Add ¼ cup of the juice (juice the second orange if needed) to the melted butter. Add ¾ cup milk, 1 large egg, and 1 teaspoon vanilla extract and whisk until combined (the mixture may look curdled). Scrape into the flour mixture and stir with a spoon or rubber spatula until just combined. Add the cranberries and fold until evenly distributed. Scrape the batter into the loaf pan, push it into the corners, and smooth the top.
Bake until a toothpick inserted into the center comes out clean, 45 to 55 minutes. Place the pan on a wire rack to cool for 15 minutes. Run a thin knife around the edges to loosen the bread, then flip out onto the rack and let cool completely, about 1 hour.
If making the glaze, sift ¾ cup powdered sugar into a small bowl. Add 1 ½ tablespoons of the reserved juice and whisk until smooth. The glaze should have a consistency like glue. If it’s too thick, whisk in more juice (or you can use milk) ½ teaspoon at a time. Drizzle over the bread and let sit until the glaze sets, about 15 minutes.