Cut the bread in ½ inch (1.3cm) cubes and either let it sit uncovered on the counter for 3-4 days until it's dried out and no longer soft or toast it in the oven at 230°F (110°C) for 30-60 minutes (depending on how fresh the bread is). If you toast it in the oven, stir halfway through. Then remove from the oven and let cool for 15-20 minutes.
Spray a 9x13 inch (23x33cm) baking pan with oil or non-stick spray and set aside.
In a large skillet, heat the olive oil over medium-high heat and add the sausage meat. Crumble and stir as it cooks. Allow it to cook for 5-6 minutes until the pink is gone. Remove the sausage from the pan and transfer it to a plate. Keep the fat from the sausage in the pan.
Reduce the heat to medium, add the butter to the skillet, and melt. Then add the onions, celery, and apples and cook for about 5 minutes until soft and the onions are translucent. Add the garlic, sage, and thyme and cook for 1 minute. Then remove the skillet from the heat and set it aside.
In a large bowl, whisk together the eggs, salt, and pepper. While whisking, gradually add the chicken broth and continue whisking until it's well mixed. Set aside.
In another large bowl, toss the bread, sausages, onion mixture (including all of the butter), and cranberries. Pour the egg mixture over it and stir well until the bread is evenly moist.
Transfer the stuffing to the prepared pan, spread evenly, and gently press it into the pan. Cover with aluminum foil and chill in the fridge for at least 1 hour, preferably overnight.
Preheat the oven to 350°F (177°C) and bake the stuffing covered for 30 minutes. Then remove the foil, turn up the heat to 400°F (204°C), and bake for another 15-20 minutes until the tops are nicely browned.
Remove from the oven and let cool for 5-10 minutes. Then serve with your favorite dishes and enjoy.