Preheat oven to 350 degrees.
Spread cubed bread out on a baking sheet. Bake for about 5 minutes or until the bread is lightly toasted. Scoop the toasted bread into a large bowl and set aside.
In a sauce pan, heat the olive oil over medium heat. Saute the onion for about 5 minutes or until translucent. Add in the sage and thyme and cook for another 2 minutes.
In the bowl with the cubed bread, add the onion mixture, diced apples and cranberries. Mix well. Pour in the chicken broth and mix until the bread is moistened. Add in salt to taste.
Pour the mixture into a large baking dish. Chop the butter into small cubes and distribute evenly over the stuffing. Cover with foil.
Bake for about 30 minutes. Remove the foil and cook for another 15 minutes.