Ahh, what a night. Lyle and I sat down to dinner at Chick-fil-a sometime around 6 PM for a good bite to eat. We hacked on Ubercart after dinner until the restaurant closed at 10 PM. We came home and watched some anime to take our minds off the code for a bit. Then we got back to work.
Now, a full 9 hours after our evening began, we're happy to delivery to you all the first every Ubercart 2.0 release candidate.
We've added several bugfixes since the last beta release, but the significant change here is the addition and implementation of a price handler API that allows for pluggable price altering and display formatting. Bwuh? That's right, prices now have a system through which they can be altered (discounts? fees? tax included? you bet!) and formatted (replacing the old function uc_currency_format() with a configurable formatter). While this doesn't outright solve issues like VAT support and robust discounts, it establishes a single core system through which these things can be handled.
This is great news! But it's not enough. Now that the system is in place, modules that have traditionally done these things through workarounds and patches will need to be updated to use the new system. We've given the work in progress Discount Framework module a head start, pushing it toward discounts through Conditional Actions + the price handler. Hopefully we'll see contributions like the VAT module, Multi-currency module, and others also take advantage of the system.
It's been a long road, and this release is far overdue. We hope the delays pay off in the long run. Thanks again to the many contributors. We're happy to keep filling up our release notes with names of new contributors. I haven't kept an overall count, but we've had something like 30+ new people contributing patches and code that directly affects core Ubercart modules. That doesn't even begin to capture all those doing testing and providing bug reports and features suggestions.
Thanks to everyone, and get it while it's hot! Remember to backup your sites and run a proper update.