<story><title>Rust 1.72.0</title><url>https://blog.rust-lang.org/2023/08/24/Rust-1.72.0.html</url></story><parent_chain><item><author>queuebert</author><text>The question is why do newer versions of Windows break compatibility so badly?</text></item><item><author>veber-alex</author><text>The tier 3 Windows XP target is no_std only, which makes it useless for the vast majority of developers.&lt;p&gt;For all intents and purposes Rust is dropping support for anything below Windows 10.&lt;p&gt;It is suggested in the MCP that a new target can be created for older versions of Windows if members of the community will step up to support it.&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;rust-lang&amp;#x2F;compiler-team&amp;#x2F;issues&amp;#x2F;651&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;rust-lang&amp;#x2F;compiler-team&amp;#x2F;issues&amp;#x2F;651&lt;/a&gt;</text></item><item><author>pie_flavor</author><text>Rust platform support is tiered[0]. Tier 1 targets are automatically tested, tier 2 targets are automatically built, and tier 3 targets are best-effort. Windows 7 is tier 1 and Windows XP is tier 3; what they&amp;#x27;re going to do is change the tier 1 Windows build to 10, but the Windows XP support isn&amp;#x27;t going anywhere.&lt;p&gt;[0]: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;doc.rust-lang.org&amp;#x2F;nightly&amp;#x2F;rustc&amp;#x2F;platform-support.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;https:&amp;#x2F;&amp;#x2F;doc.rust-lang.org&amp;#x2F;nightly&amp;#x2F;rustc&amp;#x2F;platform-support.htm...&lt;/a&gt;</text></item><item><author>vbezhenar</author><text>I don&amp;#x27;t understand why compilers drop old Windows compatibility. It makes no sense to me. They emit executable code which looks the same on Windows XP or on Windows 11.</text></item></parent_chain><comment><author>jacoblambda</author><text>It&amp;#x27;s not that new versions break compatibility. It&amp;#x27;s that old versions are missing features that new versions have.&lt;p&gt;Windows is actually astonishingly backwards compatible but the older you want to support in Windows, the more jank your code has to be.&lt;p&gt;Like for example, in the zulip chat (linked in the issue for this change) they mention that the next versions they may drop are those Windows 10 releases prior to May 2019 as that release finally made UTF-8 the standard text encoding and being able to generally assume UTF-8 simplifies a lot of things for developers.</text></comment>
<story><title>Rust 1.72.0</title><url>https://blog.rust-lang.org/2023/08/24/Rust-1.72.0.html</url></story><parent_chain><item><author>queuebert</author><text>The question is why do newer versions of Windows break compatibility so badly?</text></item><item><author>veber-alex</author><text>The tier 3 Windows XP target is no_std only, which makes it useless for the vast majority of developers.&lt;p&gt;For all intents and purposes Rust is dropping support for anything below Windows 10.&lt;p&gt;It is suggested in the MCP that a new target can be created for older versions of Windows if members of the community will step up to support it.&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;rust-lang&amp;#x2F;compiler-team&amp;#x2F;issues&amp;#x2F;651&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;rust-lang&amp;#x2F;compiler-team&amp;#x2F;issues&amp;#x2F;651&lt;/a&gt;</text></item><item><author>pie_flavor</author><text>Rust platform support is tiered[0]. Tier 1 targets are automatically tested, tier 2 targets are automatically built, and tier 3 targets are best-effort. Windows 7 is tier 1 and Windows XP is tier 3; what they&amp;#x27;re going to do is change the tier 1 Windows build to 10, but the Windows XP support isn&amp;#x27;t going anywhere.&lt;p&gt;[0]: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;doc.rust-lang.org&amp;#x2F;nightly&amp;#x2F;rustc&amp;#x2F;platform-support.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;https:&amp;#x2F;&amp;#x2F;doc.rust-lang.org&amp;#x2F;nightly&amp;#x2F;rustc&amp;#x2F;platform-support.htm...&lt;/a&gt;</text></item><item><author>vbezhenar</author><text>I don&amp;#x27;t understand why compilers drop old Windows compatibility. It makes no sense to me. They emit executable code which looks the same on Windows XP or on Windows 11.</text></item></parent_chain><comment><author>TillE</author><text>You can still write code that targets Windows XP and it will run on Windows 11 just fine. There&amp;#x27;s no compatibility break.&lt;p&gt;The problem is that newer versions of Windows offer plenty of features which make library implementation simpler and&amp;#x2F;or give better performance. Someone else mentioned some threading&amp;#x2F;synchronization APIs, which is also the most common non-XP feature I&amp;#x27;ve found in use in various C++ libraries.</text></comment>