A variety of things I'm seeing in 2.1 that I can't find documentation on:
1) App key and secret must now be in the web.config? Where was that change announced? Why? Do I also need to list the other values found in the sample app?
<add key="Callback" value="http://FBTest.Claritycon.com/IFrameCanvasSample"/>
<add key="Suffix" value="IFrameCanvasSample"/>
<add key="TemplateID1" value="20889707566"/>
<add key="TemplateID2" value="20889902566"/>
2) In the CanvasIFrameMasterPage, I'm 99% sure you introduced a bug (with a completely unnecessary code change, no less). You removed the Page_Init and replaced it with:
protected override void OnInit(EventArgs e)
BasePageHelper.LoadIFramePage(api, _useSession, _autoAdd, Request, Response, UseSession ? Session : null);
Fair enough, but the Base.OnInit call should come AFTER the LoadIFramePage call. Without that it breaks any calls to the API from Page_Init in my master page.
As others have noted, if you're going to make changes, at least document them. I just wasted my entire evening trying to upgrade to 2.1 to get around a bug in 2.0 only to find that 2.1 had more breaking bugs than 2.0. Very frustrating.