Backward compatibility?

Topics: Pre-release discussions
Dec 24, 2006 at 7:21 PM
Actually, I am just starting out with EntLib 2.0 having been in a .NET 1.1 project for a long time. Is it better to just go with V3.0 or should i use v2.0 now and wait for the official release of 3.0 to migrate? I would be keen on using it on a live project, but we wont be going into production at least till April 2007 (so maybe the RTM version will be out before that?).

Dec 27, 2006 at 10:06 PM
I answered this in your other post. Here is the answer and I hope it helps :)

According to the release notes that you will find in the docs folder when you install 3.0, there are only a few changes thus far between 2.0 and 3.0.

Knowing Microsoft's good support for backwards compatibility, I suspect you will find few if any breaking changes as we experience the CTP cycle.

We saw a lot of changes between version 1.0 and 2.0 because a major .NET framework released occurred during that time, however between 2.0 and 3.0, they appear to mainly be adding new application block(s) and additional functionality.

My gut given what I have experienced thus far is that you should consider moving to 3.0. It should be released by April, hopefully, and I don't suspect functionality will be removed or changed as aggressively as we saw from 1.0 to 2.0.

As always, migrating bit by bit in an active test environment with an abundance of unit tests for protection is always beneficial :)




David Hayden
Microsoft MVP C#
Dec 29, 2006 at 2:19 AM
Hi Benjy -

Agree with David (again :-) - EntLib 3.0 is almost completely "additive" to v2, and we aren't planning on any breaking changes. If we do decide there is a compelling reason to make a breaking change, it would almost certainly be isolated and easy to absorb.

As to whether to use v2 or v3, v3 will almost certainly be finished before April, so I'd hope you would be able to use it on your project. However if you don't have any dependency on new v3 features, it may be better to start with v2 and move to v3 a little later in your project when we have a more complete and better tested CTP (or better yet, the final release!)