Well, these days it looks like it takes a new SubSonic release to get me to actually write a blog post, so I guess I'll have to crank up the rate that we're putting out builds! In any event, I'm happy to announce the third beta of SubSonic 2.1 is now available on CodePlex. There are a ton of fixes in this release, and it's starting to look very solid, with core already faster and more solid that 2.0.3. The next milestone will be Release Candidate 1, which we will get to GA as fast we can, especially since we're very anxious to start taking advantage of the C# 3.0 language features.
While we're not officially announcing it, so as to properly set initial expectations, this release features the first migration capabilities, which Rob and Shawn have poured a ton of work in to. But if you're brave, and feeling like diving into the code, have at it.
I'd also like to extend a special thanks to Yitzchok AKA adminjew for his contributions to this release. Yitzchok not only contributed a really nice patch that allows providers to be loaded from external assemblies, he has truly embraced the often thankless job of moderating the forums, answering question after question while people like me get to do the fun stuff. Thank you Yitzchok!
Beta 3 Fix/Feature List
Work Item 11714 - DataReader Exceptions Can Cause Memory Leaks
Work Item 11740 - Scripting May Fail With Large Schemas/Data Sets
Work Item 11933 - Views Are Not Properly Paged Under Sql Server 2000
Work Item 12375 - WriteTrace Throws Security Exception with Medium Trust
Work Item 12786 - WriteTrace Throws Security Exception with Medium Trust (Duplicate)
Work Item 14660 - LoadFromPost() Doesn't Fill DirtyColumn Collection
Work Item 15015 - SubStage Generates Controller Classes when RepositoryRecord is Used
Work Item 15469 - SqlQuery Doesn't Perform Type Conversion on Constraint Values
Work Item 15590 - SqlDataProvider.ExecuteTr
ansaction must not close the DB connection
Work Item 15594 - SqlQuery: Aggregates/Tables not aliased properly when using OracleDataProvider
Work Item 15596 - SubSonic.Sugar.Dates Incorrectly Identifies Weekends/Weekdays
Work Item 15605 - RepositoryRecord not Tagged as [Serializable]
Work Item 15649 - ExecuteJoinedDataSet Throws Exception When Sorting on Joined Column
Work Item 15652 - SqlQuery.CloseExpression(
) Causes "Index was Outside the Bounds of the Array" Error
Work Item 15660 - Many-to-Many Save[ClassName]Map Delete Methods Do Not Specify Data Type When Adding Parameters
Work Item 15661 - Many-to-Many Save[ClassName]Map Methods Use Incorrect Data Type for Foreign Primary Key
Work Item 15688 - ANSISqlGenerator.Generate
Constraints() Does Not Set DbType
Work Item 15689 - SqlQuery.SetConstraintPar
ams() Loses Parameters When Building "NotIn" Queries
Work Item 15696 - Sql2005Generator.BuildPag
edSelectStatement() Sets Incorrect Paging Boundaries
Work Item 15725 - AndExpression/OrExpressio
n Improperly Identify a Closed Expression as Open
Work Item 15747 - Object Names in the Form "[Name]TypeCode" are Inexplicably Changed to "[Name]Type"
Work Item 15753 - SqlCE Provider Incorrectly Set CommandTimeout Value
Work Item 15771 - ExecuteJoinedDataSet Incorrectly Inserts "PK" Column When First Ordinal Column Is a Foreign Key
Work Item 15779 - SqlQuery: INNER JOIN with WHERE Clause Can Result in 'Ambiguous column name' Error
Work Item 15795 - Repository Get[ObjectName] Methods Leave Open Data Readers
Work Item 15796 - SubStage Doesn't Fully Refresh Database Schema
Work Item 15799 - SqlQuery: INNER JOIN with WHERE Clause Can Result in 'Ambiguous column name' Error (Duplicate)
Work Item 15823 - SqlQuery.SetConstraintPar
ams() Loses Parameters When Building "NotIn" Queries (Duplicate)
Work Item 15841 - ANSISqlGenerator.Generate
CommandLine() Does Not Properly Comma-Delimit Select List When Passing Literal Values
Work Item 15939 - GetValue<T>(string columnName) in TableSchema May Fail with Non-Nullable GUIDs
Work Item 16012 - SqlQuery.ExecuteScalar() Does Not Properly Handle/Cast DBNull Return Values
Work Item 15616 - Option to Use UTC Format for Managed DateTime Fields
Work Item 15978 - Patch to Support DataProviders in External Assemblies
Work Item 15996 - DataProvider.GetSPList() Should Return Stored Procedures in Alphabetical Order
Thanks again to everyone who contributed to this release. Keep the feedback and Work Items coming!