In a large mixing bowl of a stand mixer dissolve the yeast in the warm water. Add the warm milk, sugar and eggs. Add the dough hook attachment, and stir in the flour and salt. Scrape the bottom and sides of the bowl occasionally with a rubber spatula.
Cut the butter into small pieces and incorporate into the dough. Scrape the bowl a few times. Beat the dough until it becomes smooth, about 5-7 minutes.
Turn the dough out onto a floured work surface and knead for 5-6 minutes, making a smooth dough. This dough is going to be sticky when you turn it out.
After kneading, shape into a round ball and place back into the greased mixing bowl. Cover loosely with plastic wrap and drape with a clean kitchen towel. Place in a warm area and let rise until doubled in size, about 1 to 1 ½ hours.
Turn the dough out onto a lightly floured work surface and knead the dough for a few minutes. Turn back into the greased bowl (spray with cooking spray again if needed) and let rise until doubled, about 1 hour.
Whisk together your icing. Cover with plastic wrap and set aside. You want it to be fairly thin.
Line a baking sheet with parchment paper and set aside.
Turn the dough out onto a lightly floured surface, and use a rolling pin to roll out the dough to about ½-inch thickness. Lightly flour a donut cutter and use it to cut out the donuts, then place them onto the prepared baking sheet. Let the doughnuts rise for 1 hour or until doubled in size.*
Line a baking sheet with several layers of paper towels and set aside. In a large heavy-duty pot, add about 3-inches of canola oil. Heat to a temperature of 375 degrees F. Drop about 4 donuts into the oil, making sure not to overcrowd the pot. Cook for 1 to 2 minutes on each side, or until lightly golden brown. Remove the donuts from the oil and allow to drain on the paper towels.
Let cool slightly before dipping only the tops in the icing. Let drip dry on a cooling rack, placed on a parchment lined half sheet pan. Once the icing is set, enjoy!