add yeast, sugar, and warm milk to a large bowl after a quick stir let sit for about 5 minutes until the yeast starts to foam up slightly.
add eggs and soft butter and mix using the dough hook on your stand mixer. butter will be a bit chunky at this stage but that's ok.
add flour and salt and continue mixing, on a slow speed still using the dough hook for about 7-10 minutes. the dough should be sticky but smooth. it won't come off the sides of the bowl.
add dough to an oiled bowl and cover with plastic wrap. place in the fridge for at least 2 hours but ideally over night. You want the butter to harden up and the dough to double in size.
on a lightly floured surface divide the dough in half for easier use. roll the dough out to about ½ inch thickness and cut into desired shapes.
place on individual pieces of parchment paper (one for each donut) cover and let rise for 1 hour
mix all ingredients of glaze together and add milk to the desired consistency.
heat oil in pot or deep fryer to 350°f
carefully drop donut with parchment paper into oil and cook on each side for 1 minute (about 20 seconds for donut holes) time varies for size of donut
remove the donuts from the oil using a slotted spoon and allow the oil to drain off and cool down before adding the donut to the glaze. dip on both sides of the set on a rack to set.