Dough: In a bowl mix together the warm milk, yeast and 1 tablespoon of the sugar and sit until it begins to foam (about 4 to 7 minutes).
Add the flour, salt and remaining sugar into a standing mixer with the hook attachment and mix until combined.
Beat in 1 egg at a time until it is combined and then pour in the milk and yeast mixture until it is completely mixed together (2 to 3 minutes).
Next, add in the butter on medium speed until is completely mixed in (3 to 4 minutes).
Once the dough has been formed add it to a bowl and cover it in plastic and let it rest for 1 hour until it has doubled in size.
Filling: While the dough is resting add the cranberries, water and sugar to a pot and cook on medium heat until the water has been absorbed and the cranberries have been popped. Finish by whisking in the brown sugar, cinnamon, chopped walnuts and butter and cool.
When the dough is finished rising add it to a clean surface that has been dusted with flour and roll it out to a ¼ inch thick square.
Evenly spread out the cranberry mixture all over the dough and starting at the end closest to you roll the dough up and seal the end together by pinching it.
Next, cut off 1 inch from each end and slice 12 slices.
Add each slice to a buttered 13x9 baking pan 1/2 inch apart from each other.
Cover the pan in plastic and let it rise for another hour.
After the rolls are done rising, bake them in the oven at 400° for 20-25 minutes or until golden brown. Let them cool for 5 minutes before serving.
Icing: While the rolls are cooling mix together the milk, cream cheese and powdered sugar in a medium sized bowl until combined and evenly spread it on the cinnamon rolls and serve.