Longhorn Schedule?

Discuss Windows Vista/Server 2008 to Windows 10.
Post Reply
Pikavolt321
Posts: 35
Joined: Mon Feb 12, 2018 11:44 pm

Longhorn Schedule?

Post by Pikavolt321 »

I've done some research on the schedule of Longhorn, finding all of the purported ones inaccurate and/or incomplete, and have put together one I believe to be correct that I could use some feedback on.

Milestone 1 (June 2001 - August 2001)
Milestone 1 for Longhorn is a very nebulous period, and likely only a planning phase. Longhorn was definitely conceived of prior to June 2001, with the first known reference (prior to its initial announcement in June) coming in a Microsoft internal email on May 30, 2001. Apparently, this project, previously known as Whistler+1 (the Windows XP source code leak refers to it in places as XPSE - XP Second Edition), had received initial planning but nothing more - Microsoft suggests that their post-XP planning was behind schedule, and we know that early post-XP (circa 2000) planning only included Blackcomb. Longhorn was initially envisioned, towards the end of the Windows XP development cycle, as an interim release set for 2003 to precede the larger release Blackcomb. Initial planning likely started here, and an early feature set was assembled, with Microsoft likely intending to use Longhorn as a delivery mechanism for technologies such as Windows Media 9 and DirectX 9, which came out around the same time as Longhorn's intended release.

Milestone 2 (August 2001 - July 2002?)
Milestone 2 is also up in the air, but it's most likely that this is when actual development began. With most of the core Windows development team focusing on what would become Windows Server 2003, once Windows XP released, the shell team could begin work on the next-generation client Windows - they could migrate to Longhorn. Antitrust documents suggest development on Longhorn was already underway by December 2001, potentially earlier, and it's likely it began shortly after or potentially even shortly before Windows XP was completed. Another email from February 2002 mentions that testing of Windows XP SP1 could take testing resources away from Longhorn (much as XP SP2 later sidetracked Longhorn
in 2003 and 2004).
Much of the early Longhorn work would likely center on WinFS (the December 2001 email mentions Search, which likely tied into WinFS) and Avalon, features pushed as key pillars of the OS in its early years, meaning this is also when Longhorn would begin to accumulate its bloat and absorb features from Blackcomb.
The OS was most likely forked from the most up-to-date Windows .NET Server build at the time, likely around build 3540, dating to August 2001, but they would be reverse-integrating features and bugfixes from .NET Server. Most likely, early work on Longhorn was not unlike early work on Windows NT 4.0 ("Shell Update Release"), the NT4 shell team developed
NewShell - a port of the W95 shell for Windows NT 3.5, and early Longhorn work was likely done without (m)any changes to the core OS.

Milestone 3 (July 2002 - November 2002)
The earliest leaked Longhorn builds are of M3, with build 3683 dating to November 2002, though we know of build 3663 and 3670 from Paul Thurrott.
While it's extremely early, still using Windows XP branding in many areas, it's actually built on Windows Server 2003 RC code. Presumably, Longhorn development, which had gone on in parallel with Server 2003 development, had been reverse-integrating code ever since 2001 when the client team moved from Windows XP to Longhorn.
Many early features would start to appear, such as Avalon (even an Avalon Display Properties dialog!), Plex, and the DCE, but things were still janky. The last known build is 3718, and given its proximity in time to build 4001, it's unlikely any 3800- or 3900- builds were compiled, they likely incremented up to 4000 at the end of M3 to distinguish from Windows Server 2003, which its codebase was rapidly departing from.

Milestone 4 (December 2002 - March 2003)
Beginning in December 2002, Longhorn builds jumped up to 4000 for Milestone 4. Retaining the Plex theme from M3, one of the biggest features debuting in M4 was WIM-based installation using Windows PE. Additionally, M4 is the first branch to have mainlab compiles, with all previous work being done by the lab06 shell team, who was developing managed code for the new shell atop the Windows Server 2003 RC kernel. This is likely due to Windows Server 2003 work winding down, but not so much as to have lab01 focusing on the project yet. Throughout Milestone 4, Windows XP branding was removed as Longhorn branding was added to the product. Development ended between builds 4011 and 4015, around early March 2003.

Milestone 5 (March 2003 - July 2003)
Milestone 5 began in March 2003, containing the first known appearance of an early version of Aero Glass. Despite the DCE existing in prior builds, it was still using the Plex theme, just with some effects - this has a primitive transparent glass frames and window borders, as well as pig latin, used to test multilanguage branding APIs. Additionally, Milestone 5 contains the first known builds of Windows Server "Longhorn" - what would become Windows Server 2008. While you could assume these were simply test builds, compiling into
a different SKU, and they don't seem to have any additional server features above Server 2003 (basically Server 2003 running atop Longhorn), retaining Windows .Net Server branding, the two builds, compiled in July 2003, were made by the base and IIS/COM+ teams, the first of which worked on the kernel and the latter of which on the internet information services, on which web servers depend. This may just to have been for testing the viability of a Longhorn Server product, however. No networking or server builds were made that we know of. The final build was build 4031, compiled in July 2003. The first public demo of Longhorn, build 4015 at WinHEC 2003, was an M5 build.

Milestone 6 (June 2003 - September 2003)
Beginning with build 4029 in June 2003, this may seem paradoxical, but Lab06 was ahead of other branches. Milestone 6 would see a refined Aero Glass theme and the removal of the pig latin branding strings, with the final build, 4042, being built in September 2003. The most notable part of Milestone 6 is the first non-x86 build that we know of - the Intel Itanium build 4033. Most likely, Itanium builds had been compiling for much of Longhorn's development period (and potentially even AMD64 builds by this point), but 4033 is the earliest that we know of.

Milestone 7 (September 2003 - May 2004)
Longhorn M7 would be defined by the Slate theme, debuting in the lab06 compile of 4042 and surviving until the development reset. At the PDC 2003, the first public build of Longhorn would be released, 4051, but it was quite bare of additional features. However, it was at least the first version of Windows for AMD64 released, even if it was particularly buggy there. The Itanium version was similarly buggy and bare of features (mostly due to incomplete .NET support on 64-bit Windows). Much more interesting were the juicy UI bits in the private lab06 build 4050s at PDC, with fully composited Aero Glass (nearly the same as the final version) and Aurora. Another server compile, this time from the mainlab, build 4066, would be built in January 2004, but it wouldn't be until WinHEC 2004 in May that we'd see more of Longhorn.

Microsoft continued to demo Aero, as well as the new Longhorn Display Driver Model, which had until now only been spoken of (previous DCE/DWM effects had simply been DX9 rendered on XP drivers), shown in build 4067, demonstrating the multitasking features of LDDM. 4074, the public build released, was still without Aero, though Aero Glass could be enabled with psuedo-transparent borders via some hacking, and even full glass with resource replacement. The Jade theme saw its first public debut in 4074, resembling Aero (and especially Aero Basic) but running on the XP theme engine. Like 4051, 4074 had IA-64, AMD64, and IA-32 versions.

4074, being intended for device driver writers as opposed to application developers as 4051 had been, included a preliminary version of LDDM, though according to common mythology, only a partially functional Intel GMA 900 driver is included. ATI presentations discussing Longhorn from December 2004 exist, and given the primitive state of Longhorn at that point, it's likely any work they were doing was on this build.

Milestone 8.0 (May 2004 - August 2004)
Longhorn M8 was to begin the long-overdue process of componentizing Longhorn. First mentioned at WinHEC 2003, Microsoft had opted to pile on new features instead of componentizing the base OS, making the process of doing it after the fact all the more difficult. With doubts the OS would ever ship, the first leaked componentized build is 4084 4081, dating to late May 2004, and carrying plenty of bugs with it. At this point, there was more-or-less a freeze on additional features as Microsoft tried to rearrange the underpinnings of Longhorn to hold up the weight of its new technology.
However, technologies like WinFS continued to hold the OS down, and even with the help of lab02 (networking), lab03 (server), and lab07 (IIS), Longhorn was doomed. The final build compiled was build 4093, seemingly as a goodbye release with almost every feature turned on, such as Windows Movie Maker 3.0 (Avalon), early Windows Anytime Upgrade and LUA functionality, and more. August 2004 had the potential to spell the end.

Milestone 8.1 (August 2004 - September 2004)
Picking up the pieces, Microsoft forked Windows Server 2003 SP1 RC, build 5.2.3790, into the Longhorn codebase to start fresh and anew.
Detailing a new, more conservative schedule, M8.1 was mostly about setting rules and getting development back on track. One of these was no .NET code - memory leaks, caused by writing WinFX code on the immature and still in-development .NET framework, most notably for the shell extensions for the Explorer and Sidebar, had spelled doom for the project. Microsoft demanded everything was to be written in C++.
Adopting a new build system, with labs such as winmain, M8.1 overlapped with M8. Lab06 in particular still worked on the pre-reset code while other teams, early on testing the viability of a reset and later beginning work on it, eventually compiled builds such as 5000, replacing "Windows XP Professional" in the about banner with "Windows lh Professional".

Milestone 8.2 (September 2004 - January 2005)
Milestone 8.2, beginning just after the reset, was critical. Microsoft had to componentize Windows Server 2003 first, and then rebuild Longhorn atop it. One of the early (and only) builds we have from this process was build 5001, dating to September 2004. Almost no visible changes are included relative to Windows Server 2003, save for a few Longhorn references here and there. According to an internal Microsoft document acquired by Paul Thurrot in January 2005, Milestone 8.2 concluded in January 2005, meaning that the codebase was fully componentized and they could continue feature development, which had likely been going on in parallel for at least a few months by then.
You see, part of Microsoft's revised Longhorn schedule, in addition to pushing back key dates and delaying WinFS was to backport tech such as Avalon to Windows XP, meaning developers could still do some design work on M8.2 or Windows XP/2003. In addition, Internet Explorer 7 development was just kicking off at this time. Build 5019 is likely the final Longhorn build compiled as part of M8.2, referenced by Longhorn 5048 setup saying that non-componentized installs could not be upgraded - component-based-build 5019 was the minimum.

Milestone 9 / D1 (January 2005 - March 2005)
Beginning towards the end of M8.2, we also know quite little about Milestone 9. The general idea was clear - add back Longhorn features to the OS in preparation for WinHEC 2005, coming in April. Targeted for March 16, 2005 completion, the first known build we know of for sure was build 5033, compiled on January 19, 2005, just days after M8.2 finished. We have no screenshots, but it likely looked somewhere in between Windows XP and build 5048.
We know that build 5048, compiled on April 1, 2005, and demoed at WinHEC that month, was forked from older code (as we see other demos more strongly resembling Beta 1), so it is very possible that Microsoft's intended end for M9 was met, and they simply spent the next two weeks fixing bugs as best they could in preparation for WinHEC.
In any case, builds towards the end of M9 likely resembled Beta 1 more strongly, as M9 phased into the Beta 1 cycle. We know that build 5048 contains LDDM, as 4074 did, but in a more advanced state (notably, LDDM drivers for 5048 are included and vendors have released some of their own - none have surfaced for 4074 to the best of my knowledge).

Beta 1 (March 2005 - June/July 2005)
Beta 1 development likely began right after the codebase from which 5048 was forked was completed. Working in parallel, the codebase that went into 5054, 5058, 5059, and 5060 was part of the B1 development tree. Around build 5090, Microsoft forked the code into the Beta 2 and Beta 1 branches, incrementing the Beta 2 build numbers to 5200. The initial Beta 1 release would be build 5098, but later increased to 5112.

Edit Log
1/7/2022: Changed first M8.0 build from 4084 (late May 2004) to 4081 (early May 2004) (Edit suggested by: LarryTN7722)
Last edited by Pikavolt321 on Fri Jan 07, 2022 7:45 pm, edited 2 times in total.

dixieLH
User avatar
Posts: 369
Joined: Mon Apr 12, 2021 8:59 pm

Re: Longhorn Schedule?

Post by dixieLH »

so many wrongs here but im too lazy to go all over it
so heres bottom one "no .net code"

2.0 was needed for DWM
1.1 was needed for MMC

even win7 inherited this

as for "immature" code, in M7 it was already "mature"...

Pikavolt321
Posts: 35
Joined: Mon Feb 12, 2018 11:44 pm

Re: Longhorn Schedule?

Post by Pikavolt321 »

dixieLH wrote:
Thu Jan 06, 2022 3:47 pm
so many wrongs here but im too lazy to go all over it
so heres bottom one "no .net code"

2.0 was needed for DWM
1.1 was needed for MMC

even win7 inherited this

as for "immature" code, in M7 it was already "mature"...
Mature in terms of time, maybe, but not stability. In addition, DWM is unmanaged (only a few late M7 builds had managed DWM), and MMC was written in the Windows 2000 timeframe, before .NET existed. To my knowledge, the only exception to the rule was Windows Media Center, which was already a .NET application on Windows XP on which the Vista version was based. Other than that, all core shell components were unmanaged.

dixieLH
User avatar
Posts: 369
Joined: Mon Apr 12, 2021 8:59 pm

Re: Longhorn Schedule?

Post by dixieLH »

remove all traces of all and any .net and you'll see

LarryTN7722
Posts: 69
Joined: Mon Sep 11, 2017 1:30 pm

Re: Longhorn Schedule?

Post by LarryTN7722 »

Very well-written and extensive post, so good job! BTW I found a mistake in that post, the first componentised build is actually 4081 not 4084. ;)

Pikavolt321
Posts: 35
Joined: Mon Feb 12, 2018 11:44 pm

Re: Longhorn Schedule?

Post by Pikavolt321 »

LarryTN7722 wrote:
Fri Jan 07, 2022 6:54 pm
Very well-written and extensive post, so good job! BTW I found a mistake in that post, the first componentised build is actually 4081 not 4084. ;)
You're quite right, I must've missed the mention to its componentization in the BetaWiki page, but I suppose it makes more sense they would start with a more-or-less clean switch to componentizing in the 408x range. It's really annoying that BetaWiki refuses to differentiate between these later pre-reset builds and the older M7 builds.

Googulator
Posts: 82
Joined: Thu Oct 12, 2017 3:46 pm

Re: Longhorn Schedule?

Post by Googulator »

4074 doesn't actually include a GMA 900 LDDM driver. The included GMA 900 XPDM driver, ialmnt5.sys, shows evidence in its code that Intel was working on an LDDM version, with significant code sharing between the LDDM and XPDM versions, but it's purely an XPDM driver, as far as its interfaces are concerned.

Post Reply