At some point you need to stop polishing and let it go already – so I did just that today: SubSonic 3.0 is released. This thing took me just about a year to finish up, and a lot of work has gone into it.
So, what’s new? Well…
Should You Care?
That’s a tough question – so it’s the first I’ll address.
Should You Be Afraid?
Hopefully not - I've really tried to test the tar out of this thing before letting it go (that's why this took me so long). I've had a lot of help with this (many thanks to Eric, Paul, George Capnias, and Jim Zimmerman) and a lot folks reporting bugs (and a TON) of patches so hopefully it's solid. That said - this is a major release and it's also Open Source. You will need to be a bit flexible and hopefully you won't mind helping us out. Which brings me to my final point...
Our Repo Has Moved. Yes, Again
All was going very well until 3 things happened:
I’ve been using GitHub for a while and I absolutely LOVE it (more on that later) so with this release, we’ve moved to GitHub. I’ve kept the Google site open so we can work on existing issues, etc but I’ll be closing it in the coming month or so.
The Goods
I’m going to go have a beer or five and then go blow stuff up for the 4th like a good Amrrrcan.
congrats man! Releasing is such a ... Well ... Release!
I've been using SubSonic 2.x for a while with a lot of projects. I've been trying to implement SubSonic 3.0 in a new smaller project and it's a lot different than SubSonic 2.x. Based on what I see, if you have a working project in 2.x, you should probably keep it in 2.x and not even consider migrating it to 3.x. Otherwise, you'll be stuck recoding a lot of stuff. For example, the biggest shock is requirement to use Linq for everything. Simple stuff like FetchById and FetchByParameter is gone and you need to use Linq for that stuff.
I've written a few methods that can be added to the tt files to simulate how FetchById and FetchByParameter worked in 2.x and I'm going to post the code snippets and a quick 2.x/3.0 comparison in a few days (probably to my blog then to the github site).
As far as I can tell, its not backwards compatible with 2.x.
-Jim