Place a large saucepan or Dutch-oven over low heat. Add in the milk, oil and granulated sugar until it starts to get warm but not boiling, you can use a candy thermometer, it should be 125 degrees F. If it overheats, let it cool until it reaches the right temperature.
Remove from the heat, and sprinkle the yeast over the warm milk. Then add 4 cups of flour on top of the yeast, making sure to cover the milk and yeast with the flour. Stir until well combined.
Cover and let it rise for 1 hour. Once it has raised for 1 hour, stir in a 1/2 cup flour, the baking powder, baking soda, and salt. Stir together then immediately roll out.
On a lightly floured surface roll the dough into a long rectangle. I like to make it as thin as possible.
In a small bowl combine the sugar and cinnamon. Drizzle the melted butter evenly over the dough, use your hands to spread.
Sprinkle the sugar mixture over the butter, once again used your fingers to spread it out. Top with chocolate chips and dried chopped cranberries.
Roll the dough tightly from long end, pinching edges closed when completely rolled.
Slice dough into 12 rolls, about 3/4-1 inch thick slices. Place into a buttered 9×13 pan, let them rise for 20-30 minutes.
Preheat the oven to 375 degrees F. Bake 20 minutes, remove from oven and allow to cool while you prepare the frosting.