Skip to content

Commit 5618277

Browse files
authored
May 2026 (3.21) release (#311)
1 parent 71f8669 commit 5618277

7 files changed

Lines changed: 24 additions & 39 deletions

File tree

.github/copilot-instructions.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -495,6 +495,8 @@ Use these established guards — do not invent new ones:
495495

496496
> `_M_ARM` / `__arm__` is legacy 32-bit ARM which is deprecated.
497497
498+
> GNU predefined architecture macros (`__aarch64__`, `__x86_64__`, `__i386__`, `__powerpc64__`, `__arm__`) are always defined to `1` by the compiler — they are **not** merely defined/undefined like MSVC's `_M_ARM64`. Use them **bare** (without `defined()`) in `#if` expressions: `#if __aarch64__`, not `#if defined(__aarch64__)`. Using `defined()` is technically valid but inconsistent with the project's convention and suppresses `-Wundef` unnecessarily.
499+
498500
## Code Review Instructions
499501

500502
When reviewing code, focus on the following aspects:

.nuget/directxmath.nuspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<owners>microsoft,directxtk</owners>
99
<summary>DirectXMath is an all inline SIMD C++ linear algebra library for use in games and graphics apps.</summary>
1010
<description>The DirectXMath API provides SIMD-friendly C++ types and functions for common linear algebra and graphics math operations common to DirectX applications. The library provides optimized versions for Windows 32-bit (x86), Windows 64-bit (x64), and Windows on ARM through SSE2 and ARM-NEON intrinsics support in the Visual Studio compiler.</description>
11-
<releaseNotes>Matches the April 2025 release.</releaseNotes>
11+
<releaseNotes>Matches the May 2026 release.</releaseNotes>
1212
<projectUrl>http://go.microsoft.com/fwlink/?LinkID=615560</projectUrl>
1313
<repository type="git" url="https://github.com/microsoft/DirectXMath.git" />
1414
<icon>images\icon.jpg</icon>

CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,16 @@ Release available for download on [GitHub](https://github.com/microsoft/DirectXM
66

77
## Release History
88

9+
### May 2026 (3.21)
10+
* Defaulted C++20 `operator==` and `operator<=>` added for `XMFLOAT3`
11+
* Fix C++20 comparison operators for `XMFLOAT3X3`, `XMFLOAT4X3`, `XMFLOAT3X4`, and `XMFLOAT4X4`
12+
* SIMD optimized implementations for `XMLoadFloat3SE` and `XMStoreFloat3SE`
13+
* Minor SSE4.1 optimization for `XMLoadFloat3A`, `XMLoadFloat4x3`, and `XMLoadFloat4x3A`
14+
* Fix `XMVectorSwizzle` and `XMVectorPermute` for GCC strict-aliasing optimizer
15+
* C++17 and later use `inline constexpr` for `XMGLOBALCONST` to support C++20 Modules
16+
* Improved clang for Windows usage of cpuid intrinsics
17+
* CMake project updates including minimum version 3.21 and additional build switches
18+
919
### April 2025 (3.20b)
1020
* `XM_DEPRECATED` macro uses C++14 ``[[deprecated]]`` standard attribute when supported
1121
* Cmake project updates with build options for XDSP and SHMath

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ if(POLICY CMP0162)
77
cmake_policy(SET CMP0162 NEW)
88
endif()
99

10-
set(DIRECTXMATH_VERSION 3.20)
10+
set(DIRECTXMATH_VERSION 3.21)
1111

1212
if(WINDOWS_STORE OR (DEFINED XBOX_CONSOLE_TARGET))
1313
set(CMAKE_TRY_COMPILE_TARGET_TYPE "STATIC_LIBRARY")

Inc/DirectXMath.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
#error DirectX Math requires C++
1414
#endif
1515

16-
#define DIRECTX_MATH_VERSION 320
16+
#define DIRECTX_MATH_VERSION 321
1717

1818
#if defined(_MSC_VER) && (_MSC_VER < 1910)
1919
#error DirectX Math requires Visual C++ 2017 or later.

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@ https://github.com/Microsoft/DirectXMath
66

77
Copyright (c) Microsoft Corporation.
88

9-
## April 2025
9+
## May 2026
1010

1111
This package contains the DirectXMath library, an all inline SIMD C++ linear algebra library for use in games and graphics apps.
1212

13-
This code is designed to build with Visual Studio 2019 (16.11), Visual Studio 2022, or clang/LLVM for Windows. It is recommended that you make use of the latest updates.
13+
This code is designed to build with Visual Studio 2019 (16.11), Visual Studio 2022, Visual Studio 2026, or clang/LLVM for Windows. It is recommended that you make use of the latest updates.
1414

1515
These components are designed to work without requiring any content from the legacy DirectX SDK. For details, see [Where is the DirectX SDK?](https://aka.ms/dxsdk).
1616

SECURITY.md

Lines changed: 7 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,14 @@
1-
<!-- BEGIN MICROSOFT SECURITY.MD V0.0.9 BLOCK -->
1+
<!-- BEGIN MICROSOFT SECURITY.MD V1.0.0 BLOCK -->
22

33
## Security
44

5-
Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet) and [Xamarin](https://github.com/xamarin).
6-
7-
If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://aka.ms/security.md/definition), please report it to us as described below.
8-
9-
## Reporting Security Issues
5+
Microsoft takes the security of our software products and services seriously, which
6+
includes all source code repositories in our GitHub organizations.
107

118
**Please do not report security vulnerabilities through public GitHub issues.**
129

13-
Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://aka.ms/security.md/msrc/create-report).
14-
15-
If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://aka.ms/security.md/msrc/pgp).
16-
17-
You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://www.microsoft.com/msrc).
18-
19-
Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue:
20-
21-
* Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.)
22-
* Full paths of source file(s) related to the manifestation of the issue
23-
* The location of the affected source code (tag/branch/commit or direct URL)
24-
* Any special configuration required to reproduce the issue
25-
* Step-by-step instructions to reproduce the issue
26-
* Proof-of-concept or exploit code (if possible)
27-
* Impact of the issue, including how an attacker might exploit the issue
28-
29-
This information will help us triage your report more quickly.
30-
31-
If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://aka.ms/security.md/msrc/bounty) page for more details about our active programs.
32-
33-
## Preferred Languages
34-
35-
We prefer all communications to be in English.
36-
37-
## Policy
38-
39-
Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://aka.ms/security.md/cvd).
10+
For security reporting information, locations, contact information, and policies,
11+
please review the latest guidance for Microsoft repositories at
12+
[https://aka.ms/SECURITY.md](https://aka.ms/SECURITY.md).
4013

41-
<!-- END MICROSOFT SECURITY.MD BLOCK -->
14+
<!-- END MICROSOFT SECURITY.MD BLOCK -->

0 commit comments

Comments
 (0)