If using bread that isn't already stale, preheat oven to 300 degrees F and spread the bread cubes onto a baking sheet. Bake for 8 minutes to help dry them out. If you have time to plan ahead, you can cut the bread into cubes a day in advance and let them dry out so they are stale, which will help them absorb the liquid better.
Increase the oven temperature to 350 degrees F. Spray a 9x13-inch baking dish with cooking spray.
Break up and brown the sausage in a large skillet, about 5-7 minutes. Transfer to a plate and set aside.
Melt the butter in the same pan. Add the onions, celery, and apples. Saute for about 5 minutes until softened. Add garlic during the last 30 seconds.
Combine the bread cubes in a large bowl with the cooked sausage, onions, celery, apples, garlic, dried cranberries, parsley, rosemary, salt, and pepper.
Beat the eggs in small bowl, then add them to the bread mixture along with the chicken broth, gently tossing everything together to evenly moisten the stuffing mixture.
Transfer the stuffing to the prepared pan, then bake for 50-60 minutes until golden brown and hot all the way through. If it starts browning too much on top, cover with a piece of foil.