Add the warm milk, sugar, and yeast to a stand mixer or a bowl if kneading by hand. Mix and let it sit for a few minutes until slightly foamy.
Add the egg, vanilla, flour, and salt. Mix and knead until a soft dough forms.
Add the softened butter and continue kneading until the dough becomes smooth and elastic, about 5 to 6 minutes.
Lightly oil a bowl, transfer the dough into it, cover, and let it rise in a warm place until doubled in size.
Transfer the dough to a lightly floured surface and roll it out to about 1 inch thick.
Cut into doughnut shapes using a doughnut cutter or any round object.
Gather any leftover dough, re-roll, and cut again until all the dough is used.
Lightly dust each cut doughnut in a small bowl of flour on both sides, then shake off the excess.
Place the doughnuts and doughnut holes on small squares of parchment paper.
Cover loosely and let the doughnuts rise again until puffy and doubled in size.
Heat oil in a deep pot or wok over medium heat.
Gently transfer the doughnuts into the oil and fry for about 2 to 3 minutes on each side, until golden brown.
Remove and transfer to a tray lined with paper towel to absorb excess oil.
Let cool slightly, then roll in granulated sugar or glaze.
