Tear or slice bread into 1/4" cubes and place bread on baking sheets and bake at 200º for 20 minutes.
Preheat oven to 350º and butter a large baking dish.
In a large skillet over medium heat, melt butter. Add onion and celery and cook until soft and fragrant, 8 minutes. Stir in garlic, parsley, sage, thyme, and rosemary and cook until fragrant, 1 minute more. Season with salt and pepper.
Place bread in a large bowl and add skillet mixture (and dried cranberries if using). Toss to combine. In a medium bowl, whisk together chicken broth and beaten eggs and pour over bread mixture. Toss until completely coated.
Transfer mixture to prepared baking dish and cover with foil. Bake until cooked through, 45 minutes, then remove foil and cook until bread is golden, 15 to 20 minutes more.