Entity Framework

EF6 release dates…or lack thereof

On the EF team we frequently get questions along the lines of, “when will the next version of EF be released?” This is an entirely reasonable question to ask and it is frustrating to me personally that I cannot answer such questions. But of course this is nothing compared to the frustration felt by those of you who never get an answer. So why is it this way?

Update: Visual Studio 2013 has been announced for “this year” by Brian Harry. If you read the rest of this post you will realized that this means EF6 RTM will be also released “this year”.


Please keep in mind that this is my personal view and doesn’t necessarily reflect the views of my employer or others on the team.


First, let’s take a look at how we do RTM releases. It’s no secret that Microsoft releases lots of things that must work together. For example, EF and ASP.NET MVC both work together, and both of these must work with Visual Studio tooling. To coordinate such interactions and also for other reasons things are often released together in “waves”. So, as we have said elsewhere, EF6 will be released at the same time as the next version of Visual Studio.

“Okay then,” you say, “so when is the next version of Visual Studio going to be released?” As of right now, we on the EF team genuinely do not know the answer to that question. We do have to plan and so we do of course have a general idea of the timeframe involved. But we don’t know exact dates.

As we get closer to a major release we will learn exact dates…but we will still not tell them to you. This is partly because we aren’t allowed to tell you and could get fired if we did. But there’s a reason for this—the date is not just about EF, it’s about a wave of products that are all being released at or around the same time. Nobody on the EF team is in a position to know what strategic implications there are for these releases, or how the marketing and messaging is being handled at a high level. If somebody on the EF team leaked the date for all this it could undermine lots of careful planning and have massive implications for Microsoft way beyond EF.


Okay, so that’s why we can’t give you dates for RTM releases that are part of waves. What about pre-release versions like EF6 beta 1 which was released yesterday? Surely we must know in advance when these will be released.

The answer to this is that yes, we do know, but we only know the exact date when we get very close to that date—usually we don’t know the exact date until the day we actually release. The process we have goes something like this:

  • We tentatively plan for a pre-release timeframe based on where we are, what features are coming in, and other factors. At this stage in the process the degree of precision is something like “late May”.
  • As we get closer to this tentative timeframe it may be moved out if we decide that users would be best served by delaying a week or so to get something else in, or polish an experience, or any number of other things.
  • At some point we put a stake in the ground and say, “We’re going to release on Tuesday, May 28.” We then create a candidate build and the team does testing on that build. Less testing for an alpha, more testing for a beta, the most testing for RC’s and RTMs. (Of course, we’re testing all the time we develop as well; this is additional integration-level testing done in addition to normal testing.)
  • If we find a ship-stopping bug, then we may cut another candidate build and push out the date. This happened for beta 1, which is why it was released on Thursday instead of Tuesday.
  • Once the team is happy that the release is ready to go we ship it, usually the same day. Put another way, as I said above, the first time we know the exact date for a pre-release is when we arrive at that date.

We could, theoretically, at any point in this process provide you with what we know. We generally don’t do this because things change all the time and experience has shown that it gets very confusing if people read “early May”, which then turns into “late May”, which then becomes “May 28”, which then becomes “May 30”, and so on.

Not only can this be confusing, it is also often perceived negatively. For example, it is often seen as “missing a date” when it is instead just a normal part of how we plan in an agile environment where we expect and embrace change.

What I can tell you

As explained above, I can’t give exact dates. However, I can tell you that:

  • EF6 beta 1 was released yesterday Smile
  • We will make a release of EF6 with a “go-live” license before the end of the year
  • EF6 will RTM at the same time as the next version of Visual Studio
    • Update: As mentioned in the update above, Visual Studio 2013 is now announced for “this year” which means EF6 will also be released “this year”.

Categories: Entity Framework

Tagged as:

11 replies »

  1. This is such a well done, simple explanation about a simple scenario and gets so massively confused by so many. I do a lot of cooking and when the timer goes off on something I check and see if its ready or needs a couple more minutes. Sometimes it needs a moment to brown in the oven or another minute to reheat in the microwave. Life goes on.
    In the software world though it gets raised to some evil intent or incompetence discussion. Its one of the little quirks of the industry that makes me cry or chuckle.

  2. I thought the EF team was independent of VS releases. Wasn’t this the reason why code is being off loaded from the .Net Framework core libraries ? To ensure a rapid life cycle independent of VS releases ? I remember Rowan writing blogging about it. Is this a big U-turn by the Visual Studio team ?

    • @James We are independent of the .NET Framework which allows us have open source development, public nightly builds, frequent pre-releases, and, yes, ship versions of EF independently of anything else. For major new versions of EF like EF6 we on the team together with others at Microsoft can still make the call that the best experience all-up (i.e. not just for EF) is to release as part of a wave. This is what we are doing for EF6. If we feel it is the best thing to do we could, after EF6 is out, RTM an EF6.x release without waiting for any other major wave.

  3. So when I understand you correctly, nothing has really changed by the end of the day?

    I mean where’s the point in having an “independent product” when you still follow the vs-lifecycle?
    Maybe it’s interesting for some enthusiasts to play with nightly builds and take a look at the sourcecode… But I guess the huge majority is more interested in a release which they can use as a solid ORM?

    It also is useless to go open source when you’re holding back changesets…