In this day and age, at least in the US, the old codes about "formal" v. "semi" etc. are nothing more than historical curiosities. If you want people to dress a certain way, you have to tell them.
I've been out of this game for almost ten years but as recently as the mid 2000s, an invite from a chancery or embassy of a European country or former British colony still used the old lingo. They would even say "lounge suit" rather that "buisiness attire."
Right, so they would still say what the expected attire was, right? Some people are saying it is rude to do so and it isn't done in Europe--which sounds ridiculous to me.