I work in embedded software, and I've sometimes felt mildly reactionary for suggesting that yeah, we can use C99. It's not "new". Really! We have "bool" now, for when things are, you know, Boolean! And we can declare variables where we need them, not in a huge prelude in the function ...
More useful than bool and mixed-declarations-and-code, in my opinion, are: designated initialisers; compound literals; inline functions; and varargs macros.