{"id":2143,"date":"2015-08-12T14:41:04","date_gmt":"2015-08-12T12:41:04","guid":{"rendered":"http:\/\/mariusbancila.ro\/blog\/?p=2143"},"modified":"2019-07-22T16:22:52","modified_gmt":"2019-07-22T14:22:52","slug":"version-history-of-vc-mfc-and-atl","status":"publish","type":"post","link":"https:\/\/mariusbancila.ro\/blog\/2015\/08\/12\/version-history-of-vc-mfc-and-atl\/","title":{"rendered":"Version history of VC++, MFC and ATL"},"content":{"rendered":"<p>I have tried to assemble together information about the Visual C++ releases, the compiler and the frameworks (MFC and ATL). You can find these on many places, but it is often incomplete or focused on something particular (Visual Studio, C++ compiler, framework, etc.).<\/p>\n<p>The table below is the result of this effort. It is incomplete because it&#8217;s not easy to find information about products released more than two decades ago, but if you can help to fill in the gaps please drop a comment with the information you have and I will update the table.<\/p>\n<p><strong>UPDATE<\/strong>: Added information about Visual C++ 2017.<\/p>\n<table class=\"coogeegrid\">\n<thead>\n<tr valign=\"top\">\n<th>Product<\/th>\n<th>Codename<\/th>\n<th>Release date<\/th>\n<th>C++ version<\/th>\n<th>_MSC_VER<\/th>\n<th>MFC version<\/th>\n<th>_MFC_VER<\/th>\n<th>ATL version<\/th>\n<th>_ATL_VER<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr valign=\"top\">\n<td>C 1.0<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>100<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td>C 2.0<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>200<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td>C 3.0<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>300<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td>C 4.0<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>400<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td>C 5.0<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>500<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td>C 6.0<\/td>\n<td>&nbsp;<\/td>\n<td>1990<\/td>\n<td>&nbsp;<\/td>\n<td>600<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td>C\/C++ 7.0<\/td>\n<td>&nbsp;<\/td>\n<td>1992<\/td>\n<td>&nbsp;<\/td>\n<td>700<\/td>\n<td>1.0<\/td>\n<td>0x0100<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td>Visual C++ 1.0<\/td>\n<td>Caviar<\/td>\n<td>1993<\/td>\n<td>1.0<\/td>\n<td>800<\/td>\n<td>2.0<\/td>\n<td>0x0200<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td>Visual C++ 1.1<\/td>\n<td>Barracuda<\/td>\n<td>1993<\/td>\n<td>1.1<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td>Visual C++ 1.5<\/td>\n<td>Dolphin<\/td>\n<td>1993<\/td>\n<td>1.5<\/td>\n<td>850<\/td>\n<td>2.5<\/td>\n<td>0x0250<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td>Visual C++ 1.51<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>1.5<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td>Visual C++ 1.52<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>1.52<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td>Visual C++ 1.52b<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>1.52b<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td>Visual C++ 1.52c<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>1.52c<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td>Visual C++ 2.0<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>2.0<\/td>\n<td>900<\/td>\n<td>3.0<\/td>\n<td>0x0300<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td>Visual C++ 2.1<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>2.1<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td>Visual C++ 2.2<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>2.2<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td>Visual C++ 4.0<\/td>\n<td>Olympus<\/td>\n<td>1995-12-11<\/td>\n<td>4.0<\/td>\n<td>1000<\/td>\n<td>4.0<\/td>\n<td>0x0400<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td>Visual C++ 4.2<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>4.2<\/td>\n<td>1020<\/td>\n<td>4.2<\/td>\n<td>0x0420<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>1.0<\/td>\n<td>0x0100<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>1.1<\/td>\n<td>0x0110<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>2.0<\/td>\n<td>0x0200<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td>Visual Studio 97<\/td>\n<td>Boston<\/td>\n<td>1997-04-28<\/td>\n<td>5.0<\/td>\n<td>1100<\/td>\n<td>4.21<\/td>\n<td>0x0421<\/td>\n<td>2.1<\/td>\n<td>0x0210<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td>Visual Studio 6.0<\/td>\n<td>Aspen<\/td>\n<td>1998<\/td>\n<td>6.0<\/td>\n<td>1200<\/td>\n<td>6.0<\/td>\n<td>0x0600<\/td>\n<td>3.0<\/td>\n<td>0x0300<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td>Visual Studio .NET 2002<\/td>\n<td>Rainier<\/td>\n<td>2002<\/td>\n<td>7.0<\/td>\n<td>1300<\/td>\n<td>7.0<\/td>\n<td>0x0700<\/td>\n<td>7.0<\/td>\n<td>0x0700<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td>Visual Studio .NET 2003<\/td>\n<td>Everett<\/td>\n<td>2003<\/td>\n<td>7.1<\/td>\n<td>1310<\/td>\n<td>7.1<\/td>\n<td>0x0710<\/td>\n<td>7.1<\/td>\n<td>0x0710<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td>Visual Studio 2005<\/td>\n<td>Whidbey<\/td>\n<td>2005<\/td>\n<td>8.0<\/td>\n<td>1400<\/td>\n<td>8.0<\/td>\n<td>0x0800<\/td>\n<td>8.0<\/td>\n<td>0x0800<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td>Visual Studio 2008<\/td>\n<td>Orcas<\/td>\n<td>2008<\/td>\n<td>9.0<\/td>\n<td>1500<\/td>\n<td>9.0<\/td>\n<td>0x0900<\/td>\n<td>9.0<\/td>\n<td>0x0900<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td>Visual Studio 2010<\/td>\n<td>Dev10<\/td>\n<td>2010<\/td>\n<td>10.0<\/td>\n<td>1600<\/td>\n<td>10.0<\/td>\n<td>0x0A00<\/td>\n<td>10.0<\/td>\n<td>0x0A00<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td>Visual Studio 2012<\/td>\n<td>Dev11<\/td>\n<td>2012-08-15<\/td>\n<td>11.0<\/td>\n<td>1700<\/td>\n<td>11.0<\/td>\n<td>0x0B00<\/td>\n<td>11.0<\/td>\n<td>0x0B00<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td>Visual Studio 2013<\/td>\n<td>Dev12<\/td>\n<td>2013-10-17<\/td>\n<td>12.0<\/td>\n<td>1800<\/td>\n<td>12.0<\/td>\n<td>0x0C00<\/td>\n<td>12.0<\/td>\n<td>0x0C00<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td>Visual Studio 2015<\/td>\n<td>Dev14<\/td>\n<td>2015-07-20<\/td>\n<td>14.0<\/td>\n<td>1900<\/td>\n<td>14.0<\/td>\n<td>0x0E00<\/td>\n<td>14.0<\/td>\n<td>0x0E00<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td>Visual Studio 2017<\/td>\n<td>Dev15<\/td>\n<td>2017-03-07<\/td>\n<td>14.10<\/td>\n<td>1910<\/td>\n<td>14.10<\/td>\n<td>0x0E00<\/td>\n<td>14.10<\/td>\n<td>0x0E00<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td>Visual Studio 2017 15.1<\/td>\n<td>Dev15<\/td>\n<td>2017-04-05<\/td>\n<td>14.10<\/td>\n<td>1910<\/td>\n<td>14.10<\/td>\n<td>0x0E00<\/td>\n<td>14.10<\/td>\n<td>0x0E00<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td>Visual Studio 2017 15.2<\/td>\n<td>Dev15<\/td>\n<td>2017-05-10<\/td>\n<td>14.10<\/td>\n<td>1910<\/td>\n<td>14.10<\/td>\n<td>0x0E00<\/td>\n<td>14.10<\/td>\n<td>0x0E00<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td>Visual Studio 2017 15.3<\/td>\n<td>Dev15<\/td>\n<td>2017-08-14<\/td>\n<td>14.11<\/td>\n<td>1911<\/td>\n<td>14.11<\/td>\n<td>0x0E00<\/td>\n<td>14.11<\/td>\n<td>0x0E00<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td>Visual Studio 2017 15.4<\/td>\n<td>Dev15<\/td>\n<td>2017-10-09<\/td>\n<td>14.11<\/td>\n<td>1911<\/td>\n<td>14.11<\/td>\n<td>0x0E00<\/td>\n<td>14.11<\/td>\n<td>0x0E00<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td>Visual Studio 2017 15.5<\/td>\n<td>Dev15<\/td>\n<td>2017-12-04<\/td>\n<td>14.12<\/td>\n<td>1912<\/td>\n<td>14.12<\/td>\n<td>0x0E00<\/td>\n<td>14.12<\/td>\n<td>0x0E00<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td>Visual Studio 2017 15.6<\/td>\n<td>Dev15<\/td>\n<td>2018-03-05<\/td>\n<td>14.13<\/td>\n<td>1913<\/td>\n<td>14.13<\/td>\n<td>0x0E00<\/td>\n<td>14.13<\/td>\n<td>0x0E00<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td>Visual Studio 2017 15.7<\/td>\n<td>Dev15<\/td>\n<td>2018-05-07<\/td>\n<td>14.14<\/td>\n<td>1914<\/td>\n<td>14.14<\/td>\n<td>0x0E00<\/td>\n<td>14.14<\/td>\n<td>0x0E00<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td>Visual Studio 2017 15.8<\/td>\n<td>Dev15<\/td>\n<td>2018-08-14<\/td>\n<td>14.15<\/td>\n<td>1915<\/td>\n<td>14.15<\/td>\n<td>0x0E00<\/td>\n<td>14.15<\/td>\n<td>0x0E00<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td>Visual Studio 2017 15.9<\/td>\n<td>Dev15<\/td>\n<td>2018-11-13<\/td>\n<td>14.16<\/td>\n<td>1916<\/td>\n<td>14.16<\/td>\n<td>0x0E00<\/td>\n<td>14.16<\/td>\n<td>0x0E00<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td>Visual Studio 2019 16.0<\/td>\n<td>Dev16<\/td>\n<td>2019-04-02<\/td>\n<td>14.20<\/td>\n<td>1916<\/td>\n<td>14.20<\/td>\n<td>0x0E00<\/td>\n<td>14.20<\/td>\n<td>0x0E00<\/td>\n<\/tr>\n<tr valign=\"top\">\n<td>Visual Studio 2019 16.1<\/td>\n<td>Dev16<\/td>\n<td>2019-05-21<\/td>\n<td>14.21<\/td>\n<td>1916<\/td>\n<td>14.21<\/td>\n<td>0x0E00<\/td>\n<td>14.21<\/td>\n<td>0x0E00<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Several notes on the history of VC++:<\/p>\n<ul>\n<li>Visual Studio 97 was the first product that bundled together several products (Visual C++, Visual Basic, Visual J++)<\/li>\n<li>Visual Studio 6.0 is the only version of Visual Studio that was not named after the release year, but the version number<\/li>\n<li>MFC was first release in 1992 with C\/C++ 7.0<\/li>\n<li>MFC 6.0 released with Visual Studio 6 did not change the name of the MFC DLLs, that were still named mfc42.dll<\/li>\n<li>ATL was first released in between Visual C++ 4.2 and Visual Studio 97. The first release of the framework to be included in a product was ATL 2.1 released with Visual Studio 97<\/li>\n<li>Visual C++ version 3.0 was skipped to 4.0 to align the product version with the MFC version, whose next version was 4.0<\/li>\n<li>Visual Studio 2015, the compiler and framework version are 14.0 and not 13.0, a number which was skipped (for the good old superstitions)<\/li>\n<li>Visual Studio 2017, the compiler version is 14.1, a minor version of 14.0 from Visual Studio 2015, and the runtime is backwards compatible to VC++ 2015. MFC and ATL version remain 14.0 as in Visual Studio 2015.<\/li>\n<li>_MFC_VER and _ATL_VER macros were initially incorrectly documented in MSDN as 0x1000 instead of 0x0A00<\/li>\n<\/ul>\n<p>References<\/p>\n<ul>\n<li><a href=\"http:\/\/blogs.msdn.com\/b\/ricom\/archive\/tags\/history+of+visual+studio\/default.aspx\" target=\"_blank\" rel=\"noopener noreferrer\">Rico Mariani&#8217;s history of Visual Studio<\/a><\/li>\n<li><a href=\"https:\/\/en.wikipedia.org\/wiki\/Microsoft_Visual_Studio#History\" target=\"_blank\" rel=\"noopener noreferrer\">Microsoft Visual Studio History<\/a><\/li>\n<li><a href=\"https:\/\/en.wikipedia.org\/wiki\/List_of_Microsoft_codenames#Visual_Studio_family\" target=\"_blank\" rel=\"noopener noreferrer\">Visual Studio family codenames<\/a><\/li>\n<li><a href=\"https:\/\/www.informit.com\/library\/content.aspx?b=Visual_C_PlusPlus&amp;seqNum=260\" target=\"_blank\" rel=\"noopener noreferrer\">The History of ATL<\/a><\/li>\n<li><a href=\"https:\/\/blogs.msdn.microsoft.com\/vcblog\/2017\/11\/15\/msvc-conformance-improvements-in-visual-studio-2017-version-15-5\/\" target=\"_blank\" rel=\"noopener noreferrer\">MSVC conformance improvements in Visual Studio 2017 version 15.5<\/a><\/li>\n<li><a href=\"https:\/\/docs.microsoft.com\/en-us\/visualstudio\/install\/visual-studio-build-numbers-and-release-dates?view=vs-2017\" target=\"_blank\" rel=\"noopener noreferrer\">Visual Studio 2017 build numbers and release dates<\/a><\/li>\n<li><a href=\"https:\/\/docs.microsoft.com\/en-us\/visualstudio\/install\/visual-studio-build-numbers-and-release-dates?view=vs-2019\" target=\"_blank\" rel=\"noopener noreferrer\">Visual Studio 2019 build numbers and release dates<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>I have tried to assemble together information about the Visual C++ releases, the compiler and the frameworks (MFC and ATL). You can find these on many places, but it is often incomplete or focused on something particular (Visual Studio, C++ compiler, framework, etc.). The table below is the result of this effort. It is incomplete &#8230; <a title=\"Version history of VC++, MFC and ATL\" class=\"read-more\" href=\"https:\/\/mariusbancila.ro\/blog\/2015\/08\/12\/version-history-of-vc-mfc-and-atl\/\" aria-label=\"Read more about Version history of VC++, MFC and ATL\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","advgb_blocks_editor_width":"","advgb_blocks_columns_visual_guide":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":true,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[7,12,52,10],"tags":[216,451,453,55],"class_list":["post-2143","post","type-post","status-publish","format-standard","hentry","category-c","category-mfc","category-tools","category-visual-studio","tag-atl","tag-c","tag-mfc","tag-visualstudio"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"This article provides an overview of release history for VC++, MFC and ATL with dates, codenames, and version information.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Marius Bancila\"\/>\n\t<meta name=\"keywords\" content=\"visualstudio,mfc,atl,c++\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/mariusbancila.ro\/blog\/2015\/08\/12\/version-history-of-vc-mfc-and-atl\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Marius Bancila&#039;s Blog | About code. Mostly on C++\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Version history of VC++, MFC and ATL\" \/>\n\t\t<meta property=\"og:description\" content=\"This article provides an overview of release history for VC++, MFC and ATL with dates, codenames, and version information.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/mariusbancila.ro\/blog\/2015\/08\/12\/version-history-of-vc-mfc-and-atl\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2015-08-12T12:41:04+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-07-22T14:22:52+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Version history of VC++, MFC and ATL\" \/>\n\t\t<meta name=\"twitter:description\" content=\"This article provides an overview of release history for VC++, MFC and ATL with dates, codenames, and version information.\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2015\\\/08\\\/12\\\/version-history-of-vc-mfc-and-atl\\\/#article\",\"name\":\"Version history of VC++, MFC and ATL\",\"headline\":\"Version history of VC++, MFC and ATL\",\"author\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/author\\\/admin\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/#organization\"},\"datePublished\":\"2015-08-12T14:41:04+02:00\",\"dateModified\":\"2019-07-22T16:22:52+02:00\",\"inLanguage\":\"en-US\",\"commentCount\":5,\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2015\\\/08\\\/12\\\/version-history-of-vc-mfc-and-atl\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2015\\\/08\\\/12\\\/version-history-of-vc-mfc-and-atl\\\/#webpage\"},\"articleSection\":\"C++, MFC, Tools, Visual Studio, ATL, C++, MFC, VisualStudio\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2015\\\/08\\\/12\\\/version-history-of-vc-mfc-and-atl\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/#listItem\",\"name\":\"IT\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/#listItem\",\"position\":2,\"name\":\"IT\",\"item\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/#listItem\",\"name\":\"Software\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/#listItem\",\"position\":3,\"name\":\"Software\",\"item\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/c\\\/#listItem\",\"name\":\"C++\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/#listItem\",\"name\":\"IT\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/c\\\/#listItem\",\"position\":4,\"name\":\"C++\",\"item\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/c\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/c\\\/mfc\\\/#listItem\",\"name\":\"MFC\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/#listItem\",\"name\":\"Software\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/c\\\/mfc\\\/#listItem\",\"position\":5,\"name\":\"MFC\",\"item\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/c\\\/mfc\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2015\\\/08\\\/12\\\/version-history-of-vc-mfc-and-atl\\\/#listItem\",\"name\":\"Version history of VC++, MFC and ATL\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/c\\\/#listItem\",\"name\":\"C++\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2015\\\/08\\\/12\\\/version-history-of-vc-mfc-and-atl\\\/#listItem\",\"position\":6,\"name\":\"Version history of VC++, MFC and ATL\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/category\\\/it\\\/software\\\/c\\\/mfc\\\/#listItem\",\"name\":\"MFC\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/#organization\",\"name\":\"Marius Bancila's Blog\",\"description\":\"About code. Mostly on C++\",\"url\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/author\\\/admin\\\/#author\",\"url\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/author\\\/admin\\\/\",\"name\":\"Marius Bancila\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2015\\\/08\\\/12\\\/version-history-of-vc-mfc-and-atl\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a84dd2831d955c38355ddea55df4df260809b88f36408bc14fd4eab8f7f131c9?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Marius Bancila\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2015\\\/08\\\/12\\\/version-history-of-vc-mfc-and-atl\\\/#webpage\",\"url\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2015\\\/08\\\/12\\\/version-history-of-vc-mfc-and-atl\\\/\",\"name\":\"Version history of VC++, MFC and ATL\",\"description\":\"This article provides an overview of release history for VC++, MFC and ATL with dates, codenames, and version information.\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/2015\\\/08\\\/12\\\/version-history-of-vc-mfc-and-atl\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/author\\\/admin\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/author\\\/admin\\\/#author\"},\"datePublished\":\"2015-08-12T14:41:04+02:00\",\"dateModified\":\"2019-07-22T16:22:52+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/\",\"name\":\"Marius Bancila's Blog\",\"description\":\"About code. Mostly on C++\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/mariusbancila.ro\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Version history of VC++, MFC and ATL","description":"This article provides an overview of release history for VC++, MFC and ATL with dates, codenames, and version information.","canonical_url":"https:\/\/mariusbancila.ro\/blog\/2015\/08\/12\/version-history-of-vc-mfc-and-atl\/","robots":"max-image-preview:large","keywords":"visualstudio,mfc,atl,c++","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/mariusbancila.ro\/blog\/2015\/08\/12\/version-history-of-vc-mfc-and-atl\/#article","name":"Version history of VC++, MFC and ATL","headline":"Version history of VC++, MFC and ATL","author":{"@id":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/#author"},"publisher":{"@id":"https:\/\/mariusbancila.ro\/blog\/#organization"},"datePublished":"2015-08-12T14:41:04+02:00","dateModified":"2019-07-22T16:22:52+02:00","inLanguage":"en-US","commentCount":5,"mainEntityOfPage":{"@id":"https:\/\/mariusbancila.ro\/blog\/2015\/08\/12\/version-history-of-vc-mfc-and-atl\/#webpage"},"isPartOf":{"@id":"https:\/\/mariusbancila.ro\/blog\/2015\/08\/12\/version-history-of-vc-mfc-and-atl\/#webpage"},"articleSection":"C++, MFC, Tools, Visual Studio, ATL, C++, MFC, VisualStudio"},{"@type":"BreadcrumbList","@id":"https:\/\/mariusbancila.ro\/blog\/2015\/08\/12\/version-history-of-vc-mfc-and-atl\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog#listItem","position":1,"name":"Home","item":"https:\/\/mariusbancila.ro\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/#listItem","name":"IT"}},{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/#listItem","position":2,"name":"IT","item":"https:\/\/mariusbancila.ro\/blog\/category\/it\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/#listItem","name":"Software"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/#listItem","position":3,"name":"Software","item":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/c\/#listItem","name":"C++"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/#listItem","name":"IT"}},{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/c\/#listItem","position":4,"name":"C++","item":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/c\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/c\/mfc\/#listItem","name":"MFC"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/#listItem","name":"Software"}},{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/c\/mfc\/#listItem","position":5,"name":"MFC","item":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/c\/mfc\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/2015\/08\/12\/version-history-of-vc-mfc-and-atl\/#listItem","name":"Version history of VC++, MFC and ATL"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/c\/#listItem","name":"C++"}},{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/2015\/08\/12\/version-history-of-vc-mfc-and-atl\/#listItem","position":6,"name":"Version history of VC++, MFC and ATL","previousItem":{"@type":"ListItem","@id":"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/c\/mfc\/#listItem","name":"MFC"}}]},{"@type":"Organization","@id":"https:\/\/mariusbancila.ro\/blog\/#organization","name":"Marius Bancila's Blog","description":"About code. Mostly on C++","url":"https:\/\/mariusbancila.ro\/blog\/"},{"@type":"Person","@id":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/#author","url":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/","name":"Marius Bancila","image":{"@type":"ImageObject","@id":"https:\/\/mariusbancila.ro\/blog\/2015\/08\/12\/version-history-of-vc-mfc-and-atl\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/a84dd2831d955c38355ddea55df4df260809b88f36408bc14fd4eab8f7f131c9?s=96&d=mm&r=g","width":96,"height":96,"caption":"Marius Bancila"}},{"@type":"WebPage","@id":"https:\/\/mariusbancila.ro\/blog\/2015\/08\/12\/version-history-of-vc-mfc-and-atl\/#webpage","url":"https:\/\/mariusbancila.ro\/blog\/2015\/08\/12\/version-history-of-vc-mfc-and-atl\/","name":"Version history of VC++, MFC and ATL","description":"This article provides an overview of release history for VC++, MFC and ATL with dates, codenames, and version information.","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/mariusbancila.ro\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/mariusbancila.ro\/blog\/2015\/08\/12\/version-history-of-vc-mfc-and-atl\/#breadcrumblist"},"author":{"@id":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/#author"},"creator":{"@id":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/#author"},"datePublished":"2015-08-12T14:41:04+02:00","dateModified":"2019-07-22T16:22:52+02:00"},{"@type":"WebSite","@id":"https:\/\/mariusbancila.ro\/blog\/#website","url":"https:\/\/mariusbancila.ro\/blog\/","name":"Marius Bancila's Blog","description":"About code. Mostly on C++","inLanguage":"en-US","publisher":{"@id":"https:\/\/mariusbancila.ro\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"Marius Bancila's Blog | About code. Mostly on C++","og:type":"article","og:title":"Version history of VC++, MFC and ATL","og:description":"This article provides an overview of release history for VC++, MFC and ATL with dates, codenames, and version information.","og:url":"https:\/\/mariusbancila.ro\/blog\/2015\/08\/12\/version-history-of-vc-mfc-and-atl\/","article:published_time":"2015-08-12T12:41:04+00:00","article:modified_time":"2019-07-22T14:22:52+00:00","twitter:card":"summary","twitter:title":"Version history of VC++, MFC and ATL","twitter:description":"This article provides an overview of release history for VC++, MFC and ATL with dates, codenames, and version information."},"aioseo_meta_data":{"post_id":"2143","title":null,"description":"This article provides an overview of release history for VC++, MFC and ATL with dates, codenames, and version information.","keywords":[{"label":"VisualStudio","value":"VisualStudio"},{"label":"MFC","value":"MFC"},{"label":"ATL","value":"ATL"},{"label":"C++","value":"C++"}],"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2021-03-18 21:09:29","updated":"2025-12-12 07:42:26","seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"author_meta":{"display_name":"Marius Bancila","author_link":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/"},"featured_img":null,"jetpack_publicize_connections":[],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"Marius Bancila","author_link":"https:\/\/mariusbancila.ro\/blog\/author\/admin\/"},"uagb_comment_info":5,"uagb_excerpt":"I have tried to assemble together information about the Visual C++ releases, the compiler and the frameworks (MFC and ATL). You can find these on many places, but it is often incomplete or focused on something particular (Visual Studio, C++ compiler, framework, etc.). The table below is the result of this effort. It is incomplete&hellip;","coauthors":[],"tax_additional":{"categories":{"linked":["<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/c\/\" class=\"advgb-post-tax-term\">C++<\/a>","<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/c\/mfc\/\" class=\"advgb-post-tax-term\">MFC<\/a>","<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/tools\/\" class=\"advgb-post-tax-term\">Tools<\/a>","<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/visual-studio\/\" class=\"advgb-post-tax-term\">Visual Studio<\/a>"],"unlinked":["<span class=\"advgb-post-tax-term\">C++<\/span>","<span class=\"advgb-post-tax-term\">MFC<\/span>","<span class=\"advgb-post-tax-term\">Tools<\/span>","<span class=\"advgb-post-tax-term\">Visual Studio<\/span>"]},"tags":{"linked":["<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/visual-studio\/\" class=\"advgb-post-tax-term\">ATL<\/a>","<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/visual-studio\/\" class=\"advgb-post-tax-term\">C++<\/a>","<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/visual-studio\/\" class=\"advgb-post-tax-term\">MFC<\/a>","<a href=\"https:\/\/mariusbancila.ro\/blog\/category\/it\/software\/visual-studio\/\" class=\"advgb-post-tax-term\">VisualStudio<\/a>"],"unlinked":["<span class=\"advgb-post-tax-term\">ATL<\/span>","<span class=\"advgb-post-tax-term\">C++<\/span>","<span class=\"advgb-post-tax-term\">MFC<\/span>","<span class=\"advgb-post-tax-term\">VisualStudio<\/span>"]}},"comment_count":"5","relative_dates":{"created":"Posted 11 years ago","modified":"Updated 7 years ago"},"absolute_dates":{"created":"Posted on August 12, 2015","modified":"Updated on July 22, 2019"},"absolute_dates_time":{"created":"Posted on August 12, 2015 2:41 pm","modified":"Updated on July 22, 2019 4:22 pm"},"featured_img_caption":"","series_order":"","jetpack_shortlink":"https:\/\/wp.me\/pYNdv-yz","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/posts\/2143","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/comments?post=2143"}],"version-history":[{"count":17,"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/posts\/2143\/revisions"}],"predecessor-version":[{"id":3532,"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/posts\/2143\/revisions\/3532"}],"wp:attachment":[{"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/media?parent=2143"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/categories?post=2143"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mariusbancila.ro\/blog\/wp-json\/wp\/v2\/tags?post=2143"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}