Printf Not Showing Anymore?

I had a few sketches back in June 2015 that worked on an Arduino UNO and micro.
Ended up overseas for a several months. Came back, opened up the Arduino IDE and
re-uploaded the sketches to the boards. That's when I noticed all my printf and sprint
statements weren't working, basically missing 80% of my serial output. So I started
troubleshooting. Made a few printf test sketches and started doing online research.


My question is simply: Did something change in the Arduino IDE this year that would
cause printf to break or require a change behind the curtain?

I've spent that last 2 hours (more actually) reading forums, blogs, anything that could
get a simple sketch of printf to work. And by simple I mean including the printf.h
header and one line of a printf call for output in the setup function. I am sadly greeted
by a blank serial monitor, staring back at me with it's unemotional face of failure.

Any information or pointing to where I can get a solution would be super sweet. I have
decided that I will not sleep tonight until I can get a simple Hello World displaying in the
serial monitor from a printf statement. (Which worked 100% before I left)

As an update to this I have gotten a partial victory.

I can now see printf output in the loop() function; however,
I cannot see any printf output in the setup() function.

So, 50%?

Ok, 100% now.

Adding while(!Serial); after beginning the serial and printf apparently
solves the "can't see anything in the setup() function". Being that the
loop() function was worked out earlier, I'd say everything is now working.

It's odd that I have to add while(!Serial); in my original sketches to get
them to work again. Really weird. Something changed since I was gone
and I can't find any documentation on it.

Anyways, appreciate you guys being a sounding board for myself through
this frustrating time.

Be well internet dudes and may your Ramen never runneth out...because hot pockets.

Did you test with both boards or just one? If you tested with the Uno earlier and now with the Micro that would explain it. Micro needs the delay, Uno does not.