To leverage Microsoft extension to TransactionScope when using the async/await pattern, the QBO 3 core framework has been updated to target the .NET Framework 4.6.1.
This change will break every plugin targeting .NET 4.5 or earlier.
Most of the plugins in trunk have been updated; more precisely:
Why we had to do this:
Frequently Asked Questions
Q: What happens if my server does not have .NET Framework 4.6.1?
A: Install .NET 4.6.1. Google is your friend.
Q: What happens if I deploy a 4.6.1 plugin to a site running QBO core 4.0?
A: It will work just fine. We already have plugins targeting 4.5 in PROD for over a year.
Q: Why are you making us suffer so?
A: It's the right thing to do.
Q: No, really. I've got enough on my plate!
A: The async / await pattern offers a big performance lift. Ever wonder why the QBO was slow and the web CPU spiking? Now we have the patterns to fix much of that.
Q: My system is fast enough. Do I still need to do this change?
A: Yes. The sooner the better. Otherwise your site will die a slow, horrible death in the next 18 months, and will never leverage the QBO4 goodies coming down the pike.
Q: Where does changing my plugins fall on my priority list?
A: Do it the next time you 'touch' (change or deploy) a plugin that is not part of the core solution. It take somewhere between 15 and 30 seconds. 2 minutes if your mouse is slow.
Q: Where does updating my site to use the latest framework fall on my priority list?
A: Same as it ever was. Builds from 201609 and on will be targeting .NET 4.6.1.
Q: So I don't have to worry about this til I update to 201605 or later?
A: Wrong! Next touch to a plugin, update it to 4.5. It will be backward compatible with old and new core.
A: Right. Right. :-)