Releases: microsoft/mu_basecore
v2025020002.1.2
What's Changed
- 
    BaseTools: Update Brotli Compress to 1.2.0 @vineelko (#1555)
    
Change Details
# Description
Update brotli from v1.0.9 to v1.2.0
https://github.com/google/brotli/releases/tag/v1.2.0-  Breaking change?
- Breaking change - Does this PR cause a break in build or boot behavior?
 - Examples: Does it add a new library class or move a module to a different repo.
 
 -  Impacts security?
- Security - Does this PR have a direct security impact?
 - Fixes CVE-2025-6176 reported in brotli < 1.2.0.
 
 -  Includes tests?
- Tests - Does this PR include any explicit test code?
 - Examples: Unit tests or integration tests.
 
 
How This Was Tested
Verified booting on a virtual platform by compressing/decompressing PEI/DXE sections.
Integration Instructions
NA
 -  Breaking change?
 
- 
    Added explicit state validation in FindVariableEx() to skip variables with deleted state (0x3C) and only return valid variables @AnsenHuangMSFT (#1551)
    
Change Details
## Description Problem: The Variable PEIM's index table optimization search path incorrectly returns deleted variables instead of valid variables when duplicate variables exist with different states. This occurs when:
One variable has deleted state (VAR_IN_DELETED_TRANSITION & VAR_ADDED, value 0x3C)
One variable has valid state (VAR_ADDED, value 0x3F)
Both variables have the same name and GUID
The function should prioritize and return the valid variable, but the index table search was returning the first match regardless of state validity.Root Cause:
In the FindVariableEx() index table traversal, the function was not properly validating variable states before returning a match. When CompareWithValidVariable() found a matching variable name and GUID, it would return immediately without checking if the variable state was valid (0x3F) or deleted (0x3C).This issue only affects the index table optimization search path and does not impact the linear traversal search path. The Variable PEIM has two main search mechanisms:
Linear traversal search - Walks through the entire variable store checking each header sequentially. This path has correct state validation logic and is unaffected by this issue.
Index table optimization search - Uses a gEfiVariableIndexTableGuid HOB to quickly jump to variable locations. This optimization is only active when the platform produces this HOB. This is the path affected by the bug.
Solution:
Added explicit state validation in FindVariableEx() to skip variables with deleted state (0x3C) and only return valid variables:- Impacts functionality?
 - Impacts security?
 - Breaking change?
 - Includes tests?
 - Includes documentation?
 
How This Was Tested
Create variable with delete and valid in NVRAM.
Call FindVariableEx() and check the variable address.
It only return valid variable addressIntegration Instructions
N/A
</blockquote> <hr> </details> 
- 
    [CHERRY-PICK] NetworkPkg/SnpDxe: Fix Snp used uninitialized @eeshanl (#1554)
    
Change Details
## Description
Ensures the Snp Structure is initialized as NULL.
cherry-picks back the fix from EDK2
For details on how to complete these options and their meaning refer to CONTRIBUTING.md.
- Impacts functionality?
 - Impacts security?
 - Breaking change?
 - Includes tests?
 - Includes documentation?
 
How This Was Tested
Tested on physical device
Integration Instructions
N/A
</blockquote> <hr> </details> 
Full Changelog: v2025020002.1.1...v2025020002.1.2
v2025020002.1.1
What's Changed
- 
    Rust: update build\_rule.template to copy symbols to OUTPUT @antklein (#1552)
    
Change Details
## Description Update the [Toml-File.RUST_MODULE] to support copying the Pdb symbols file to the OUTPUT folder as part of an EDK2 build. This allows the FlattenPdbs plugin to properly pick up the symbols for Rust DXE drivers.
- Impacts functionality?
 - Impacts security?
 - Breaking change?
 - Includes tests?
 - Includes documentation?
 
How This Was Tested
- Verified locally on my own Rust driver builds via the Stuart build system.
 
Integration Instructions
N/A
 
- 
    [Cherry-pick] ShellPkg: Smbiosview show type 3, specification 3.9 fields [Rebase \& FF] @apop5 (#1550)
    
Change Details
## Description
Show smbios 3.9 specification fields in smbios view type 3
(cherry picked from commit a0e8b71ee5356d4539199739f52d0af2fe4bc65b)- Impacts functionality?
 - Impacts security?
 - Breaking change?
 - Includes tests?
 - Includes documentation?
 
How This Was Tested
Local CI build
Integration Instructions
no integration necessary.
 
Full Changelog: v2025020002.1.0...v2025020002.1.1
v2025020002.1.0
What's Changed
- 
    [CHERRY-PICK] NetworkPkg/SnpDxe: Update SnpDxe SNP\_DRIVER struct out of DMA-able memory @eeshanl (#1548)
    
Change Details
## Description
CPB, DB, and CDB structs to use DMA-able memory.
Updates the overall SNP_DRIVER allocation to use AllocatePool() instead of PciIo->AllocateBuffer(). This moves this struct out of DMA-able memory. Allocates the PXE_CDB struct as a pointer instead, using PciIo->AllocateBuffer() for DMA-able memory.
End result:
CPB, DB, and CDB are allocated with individual PciIo->AllocateBuffer() calls with a size of 4096 for CPB and DB. and sizeof(PXE_CDB) for CDB. Each of these members point to locations within the Allocated Buffer, and all of these pointers are at-least 8-Byte aligned.
SNP_DRIVER is allocated with AllocatePool()
In the SNP_DRIVER structure, the PXE_CDB member is changed to a pointer so we can allocate it with PciIo->AllocateBuffer()This PR is cherry-picking tianocore/edk2@302cc88
For details on how to complete these options and their meaning refer to CONTRIBUTING.md.
- Impacts functionality?
 - Impacts security?
 - Breaking change?
 - Includes tests?
 - Includes documentation?
 
How This Was Tested
Tested on physical device
Integration Instructions
N/A
 
🚀 Features & ✨ Enhancements
- 
    Add Repo Remote Check Plugin @makubacki (#1546)
    
Change Details
## Description
Adds a plugin that is not active by default but can be opted into that validates git repositories against remote commit criteria before the build starts. It allows you to define rules that check whether the current HEAD commit in specified repositories is present or absent in specified remote URLs.
This is useful for enforcing that your local repositories are using commits from the correct upstream sources, and not from incompatible forks or remotes. For example, some workspaces might use a "public" and an "internal" upstream and need to verify that both work as expected and are set to the appropriate upstream when used for a given platform build.
- Impacts functionality?
 - Impacts security?
 - Breaking change?
 - Includes tests?
 - Includes documentation?
 
How This Was Tested
- Verify that the plugin does not run unless the scope is set
 - Verify JSON and YAML files can be parsed
 - Verify repo check logic returns expected results
 
Integration Instructions
- See the plugin readme file
 
 
- 
    MdeModulePkg: Add gEdkiiNonDiscoverableDeviceUniqueIdProtocolGuid for deterministic UniqueId support in NonDiscoverablePciDeviceDxe @eeshanl (#1547)
    
Change Details
## Description
MdeModulePkg: Add gEdkiiNonDiscoverableDeviceUniqueIdProtocolGuid for deterministic UniqueId support in NonDiscoverablePciDeviceDxe
With this new protocol, a platform can register a UniqueId to be used to identify the PciIo location.
For example, if a device registers with the NonDiscoverableDeviceRegistrationLib, they can also publish this new protocol on the same EFI_HANDLE as RegisterNonDiscoverableMmioDevice.
NonDiscoverablePciDeviceDxe will consume this UniqueId if found and the device's UniqueId to this value.
If not found, it will back up to the prior method of assigning the UniqueId via a static counter.
The platform must ensure all UniqueIds assigned are unique across the firmware.Platforms may need to define their own UniqueIds through this method because the current UniqueId that gets used in NonDiscoverablePciDeviceDxe is a static counter, which can lead to non-deterministic value's being returned by PciIo->GetLocation().
In order to have a deterministic UniqueId returned by PciIo->GetLocation(), this protocol can be used to specify a specific UniqueId for a given Handle.
For example, if a platform needs to Locate a specific NonDiscoverable PciIo protocol, they could use the determinstic UniqueId assigned through this protocol to find the expected PciIo instance.
This protocol allows us to have a 1-1 defined mapping between a platform defined UniqueId and the NonDiscoverable PciIo protocol instance.- Impacts functionality?
 - Impacts security?
 - Breaking change?
 - Includes tests?
 - Includes documentation?
 
How This Was Tested
Tested on physical device
Integration Instructions
When assigning a unique ID via this protocol, the platform should ensure that the ID is unique across all instances of this protocol across the platform.
The UniqueId must be in the range of:
MAX_NON_DISCOVERABLE_PCI_DEVICE_ID/2 <= UniqueId < MAX_NON_DISCOVERABLE_PCI_DEVICE_IDUsage example:
EFI_HANDLE Handle = NULL; UINTN Size; // NonDiscoverableDevice Size VOID *Base; // NonDiscoverableDevice Base Status = RegisterNonDiscoverableMmioDevice ( NonDiscoverableDeviceTypeAhci, NonDiscoverableDeviceDmaTypeCoherent, NULL, &Handle, 1, Base, Size ); NON_DISCOVERABLE_DEVICE_UNIQUE_ID_PROTOCOL * UniqueIdProtocol = (NON_DISCOVERABLE_DEVICE_UNIQUE_ID_PROTOCOL*) AllocateZeroPool (sizeof (NON_DISCOVERABLE_DEVICE_UNIQUE_ID_PROTOCOL)); if (UniqueIdProtocol == NULL) { return EFI_OUT_OF_RESOURCES; } UniqueIdProtocol->Revision = NON_DISCOVERABLE_DEVICE_UNIQUE_ID_PROTOCOL_REVISION; UniqueIdProtocol->UniqueId = 0x1000; // MAX_NON_DISCOVERABLE_PCI_DEVICE_ID/2 <= UniqueId < MAX_NON_DISCOVERABLE_PCI_DEVICE_ID Status = gBS->InstallMultipleProtocolInterfaces (&Handle, &gEdkiiNonDiscoverableDeviceUniqueIdProtocolGuid, UniqueIdProtocol, NULL);</blockquote> <hr> </details> 
🐛 Bug Fixes
- 
    Adding check for underflow/overflow when iterating through resource descriptor hobs @kuqin12 (#1549)
    
Change Details
## Description
During DXE core memory service initialization, the system would check available resource descriptor hobs against the memory top from PHIT hob.
However, it is possible that a given resource descriptor hob will not be larger than the cover the memory top, causing the Length calculation to underflow. Or the hob is not properly prepared and cause the calculation to overflow.
This change adds a check for potential underflow/overflow before performing the subtraction.
- Impacts functionality?
 - Impacts security?
 - Breaking change?
 - Includes tests?
 - Includes documentation?
 
How This Was Tested
This change was tested on QEMU SBSA and booted to both UEFI shell and Windows VOS.
Integration Instructions
N/A
 
- 
    Xhci DMA buffer Allocation fix @eeshanl (#1539)
    
Change Details
## Description
Changes Pool allocations to use the PciIo interface's AllocateBuffer routine
DMA buffers should be page aligned and always allocated with the appropriate PciIo interface.
On some platforms, where IoMmu is enabled it is possible that if two allocations occur within the same page, and one gets unmapped via PciIo->Unmap, it will also unmap the other allocated address.
- Impacts functionality?
 - Impacts security?
 - Breaking change?
 - Includes tests?
 - Includes documentation?
 
How This Was Tested
Tested on physical arm platform.
Integration Instructions
N/A
 
📖 Documentation Updates
- 
    Add Repo Remote Check Plugin @makubacki (#1546)
    
Change Details
## Description
Adds a plugin that is not active by default but can be opted into that validates git repositories against remote commit criteria before the build starts. It allows you to define rules that check whether the current HEAD commit in specified repositories is present or absent in specified remote URLs.
This is useful for enforcing that your local repositories are using commits from the correct upstream sources, and not from incompatible forks or remotes. For example, some workspaces might use a "public" and an "internal" upstream and need to verify that both work as expected and are set to the appropriate upstream when used for a given platform build.
- Impacts functionality?
 - Impacts security?
 - Breaking change?
 - Includes tests?
 - Includes documentation?
 
How This Was Tested
- Verify that the plugin does not run unless the scope is set
 - Verify JSON and YAML files can be parsed
 - Verify repo check logic returns expected results
 
Integration Instructions
- See the plugin readme file
 
 
Full Changelog: https://github.com/microsoft/mu_basecore/compare/v2025020002.0.3...
v2025020002.0.3
What's Changed
- 
    [CHERRY-PICK] UefiCpuPkg/PeiMpLib: Only allocate ACPI NVS AP loop code buffer on S3 @makubacki (#1541)
    
Change Details
## Description
This commit allocated an ACPI NVS buffer in PEI:
tianocore/edk2@cdc1a88This is a RT visible memory type that remains fragmented against the overall
EfiACPIMemoryNVSmemory bucket allocated by the DXE Core. The code now only callsPrepareApLoopCode()on S3 boot to prevent the buffer from being allocated outside of S3.(cherry picked from commit db4d32390911e393033d69b0d0dfbfa3e8c0f1f7)
- Impacts functionality?
 - Impacts security?
 - Breaking change?
 - Includes tests?
 - Includes documentation?
 
How This Was Tested
- Check memory buckets reported on the system before and after the change on a non-S3 boot
 
Integration Instructions
- N/A
 
 
- 
    [REBASE \& FF] Revert MU Changes In Favor of edk2 Commits @os-d (#1540)
    
Change Details
## Description
This bit tangled PR consists of the following:
- Reverting the MP Lib Task Register Set MU_CHANGE in favor of the edk2 commits fixing it
 - Reverting (and dropping) a MU_CHANGE to DxeMain that is no longer required
 - Reverting and reapplying with a fixup a different MU_CHANGE to allow us to fully drop the previous MU_CHANGE
 
The cherry-picks did not apply completely cleanly, I already was doing a lot of reverts and reapplying here, so I chose to just do the small fixups in the cherry-picks and in the next integration we can resolve them; they are trivial.
- Impacts functionality?
 - Impacts security?
 - Breaking change?
 - Includes tests?
 - Includes documentation?
 
How This Was Tested
Cherry-picks from edk2 were tested on physical Intel platforms.
Integration Instructions
N/A.
</blockquote> <hr> </details> 
- 
    [release/202502] Update BaseTools ext dep to v2025020002.0.2 @[mu-automation[bot]](https://github.com/apps/mu-automation) (#1535)
    
Change Details
This PR updates the BaseTools external dependency to version v2025020002.0.2.
 
Full Changelog: v2025020002.0.2...v2025020002.0.3
v2025020002.0.2
What's Changed
- 
    [TPM][FF-A] Add Yield to FF-A Library @Raymond-MS (#1532)
    
Change Details
## Description
Add the FF-A command to the FF-A library
For details on how to complete these options and their meaning refer to CONTRIBUTING.md.
- Impacts functionality?
 - Impacts security?
 - Breaking change?
 - Includes tests?
 - Includes documentation?
 
How This Was Tested
Built QEMU SBSA with TPM enabled and Yielding implemented in the TPM Service
Integration Instructions
N/A
 
- 
    [REBASE \& FF] Revert Mu Commit in Favor of edk2 Commit @os-d (#1533)
    
Change Details
## Description
This reverts the Mu SCSI Read Only Disk commit in favor of the edk2 commits.
- Impacts functionality?
 - Impacts security?
 - Breaking change?
 - Includes tests?
 - Includes documentation?
 
How This Was Tested
N/A.
Integration Instructions
N/A.
 
- 
    [CHERRY-PICK] MdeModulePkg: Add PcdDelayedDispatchMaxEntries @makubacki (#1534)
    
Change Details
## Description
The current fixed value of 8 for
DELAYED_DISPATCH_MAX_ENTRIESis not large enough to accommodate platform usage. This change replaces the macro with a PCD that can be configured by platforms.In the case the default PCD value is too small, an error message explaining that the PCD should be updated will be printed followed by an assert.
(cherry picked from commit 8a07311710acba244a1b44910324b3b4afd5889a)
- Impacts functionality?
 - Impacts security?
 - Breaking change?
 - Includes tests?
 - Includes documentation?
 
How This Was Tested
- Tested on a a physical Intel platform that uses delayed dispatch
 
Integration Instructions
- Adjust 
gEfiMdeModulePkgTokenSpaceGuid.PcdDelayedDispatchMaxEntriesas needed to accommodate the number of delayed dispatch entries used by a platform.
 
 
- 
    CryptoPkg: Update shared crypto to v1.1.2 @apop5 (#1525)
    
Change Details
## Description Update the shared crypto ext_dep to v1.1.2
Full release notes are available at:
https://github.com/microsoft/mu_crypto_release/releases/tag/v1.1.2- Impacts functionality?
 - Impacts security?
 - Breaking change?
 - Includes tests?
 - Includes documentation?
 
How This Was Tested
Booted Q35 and Sbsa with new version.
Integration Instructions
No integration necessary.
 
- 
    feat: add scsi mode sense operation to detect write protection @mayank-microsoft (#1524)
    
Change Details
## Description
We encountered some errors where on attaching a ReadOnly disk led to write failures. We RCA'd the failure to the Volume protocol not being set to be write protected. We are proposing this change to update the blockIo protocol's media property to set Write protections based on performing a MODE SENSE operation.
For details on how to complete these options and their meaning refer to CONTRIBUTING.md.
- Impacts functionality?
 - Impacts security?
 - Breaking change?
 - Includes tests?
 - Includes documentation?
 
How This Was Tested
We tested the change while booting a VM with VHD attached as read only mode and then without read-only mode. We don't encounter any errors which we were hitting earlier.
Integration Instructions
NA
 
- 
    [CHERRY-PICK] Pick up FFA\_RUN solution from EDK2 @kuqin12 (#1529)
    
Change Details
## Description
BASECORE made a change for FFA_RUN change, but EDK2 already has a corresponding change.
This change reverts the original fix and conform to EDK2 version.
For details on how to complete these options and their meaning refer to CONTRIBUTING.md.
- Impacts functionality?
 - Impacts security?
 - Breaking change?
 - Includes tests?
 - Includes documentation?
 
How This Was Tested
This was tested on QEMU SBSA and booted to UEFI shell.
Integration Instructions
N/A
 
🐛 Bug Fixes
- 
    Update FFA run interface to intake context as input argument @kuqin12 (#1526)
    
Change Details
## Description
The original implementation of ArmFfaLibRun does not return register values when invoked. However, FFA_RUN is normally some operations that requires retry, i.e. after FFA_YIELD or FFA_INTERRUPTED. Thus the context returned by FFA_RUN will be eaten if this is not returned.
The change added an extra input argument to potentially return the output from monitor calls.
- Impacts functionality?
 - Impacts security?
 - Breaking change?
 - Includes tests?
 - Includes documentation?
 
How This Was Tested
This is tested on QEMU SBSA and booted to UEFI shell.
Integration Instructions
One needs to pass in a pointer to context registers if the return values are needed.
 
Full Changelog: v2025020002.0.1...v2025020002.0.2
v2025020002.0.1
What's Changed
- 
    [FF-A] Update Header to Include FFA\_NS\_RES\_INFO\_GET @Raymond-MS (#1520)
    
Change Details
## Description
Add FFA_NS_RES_INFO_GET to the ARM FF-A header.
For details on how to complete these options and their meaning refer to CONTRIBUTING.md.
- Impacts functionality?
 - Impacts security?
 - Breaking change?
 - Includes tests?
 - Includes documentation?
 
How This Was Tested
Verified through QemuSbsa build and FfaPartitionTestApp.
Integration Instructions
N/A
</blockquote> <hr> </details> 
- 
    [CHERRY-PICK] workflow: Update BaseTool extdep weekly @Javagedes (#1516)
    
Change Details
## Description
Creates a new recurring workflow that runs weekly. This workflow finds all releases that occurred in the last 7 days, and finds the most recent release for each associated branch (e.g. if three releases happened [v202502000.0.1, dev-v202502000.0.1, v202502000.0.2], we reduce that to only [v202502000.0.2', 'dev-v202502000.0.1'] because two of them target the same release/202502 branch).
If we do not find any releases, we abort early. Otherwise for each release, we will create a PR for the specific branch, updating the base tools extdep to the most recent release. If a PR already exists for an older version, we will close it.
Cherry-pick of #1383
An additional commit after this cherry-pick is applied to remove the dev branch logic.
- Impacts functionality?
 - Impacts security?
 - Breaking change?
 - Includes tests?
 - Includes documentation?
 
How This Was Tested
N/A
Integration Instructions
N/A
</blockquote> <hr> </details> 
- 
    [Cherry-Pick] NetworkPkg/UefiPxeBcDxe: Add buffer check before reporting status code @apop5 (#1517)
    
Change Details
## Description
When PxeBcLoadBootFile() fails, it reports a status code to notify listeners (such as telemetry/SEL logging drivers) about the error. However, the current implementation reports the status code for all error conditions, including benign cases, such as where the caller passes Buffer == NULL with EFI_BUFFER_TOO_SMALL to query the required size.
This causes false positive error reports in telemetry systems, as EFI_BUFFER_TOO_SMALL with Buffer == NULL is an expected and normal operation for size queries, not an actual error condition.
The PXE-E05 error message is already correctly guarded with the condition "(Status == EFI_BUFFER_TOO_SMALL) && (Buffer != NULL)", but the status code reporting was unconditional.
Add a buffer null check before REPORT_STATUS_CODE_WITH_EXTENDED_DATA to ensure status codes are only reported for actual errors:
- Report when Status != EFI_BUFFER_TOO_SMALL (all other errors)
 - Report when Status == EFI_BUFFER_TOO_SMALL AND Buffer != NULL (PXE-E05)
 - Skip when Status == EFI_BUFFER_TOO_SMALL AND Buffer == NULL (size query)
 
This prevents spurious error logs while maintaining proper error reporting for genuine failures including PXE-E05, PXE-E07, PXE-E09, PXE-E99, and all other error conditions.
(cherry picked from commit d3a64baf4b6706367c30a4886c01e95589861c9f)
- Impacts functionality?
 - Impacts security?
 - Breaking change?
 - Includes tests?
 - Includes documentation?
 
How This Was Tested
PXE booting physical platform. After change, no longer encounter double status code listener error report.
Integration Instructions
No integration necessary.
 
- 
    MockPolicyLibCommon : Add SetPolicy @Irene-IY (#1512)
    
Change Details
## Description
Add SetPolicy into MockPolicyLibCommon
Signed-off-by : Irene-IY [email protected]
- Impacts functionality?
 - Impacts security?
 - Breaking change?
 - Includes tests?
 - Includes documentation?
 
How This Was Tested
CI test
Integration Instructions
N/A
 
- 
    [CHERRY-PICK] MdePkg: Add MockSpiNorFlashProtocol @PaddyDengAmi (#1507)
    
Change Details
## Description
Add MockSpiNorFlashProtocol for google test components to use.
- Impacts functionality?
 - Impacts security?
 - Breaking change?
 - Includes tests?
 - Includes documentation?
 
How This Was Tested
Consumed by other google test
Integration Instructions
N/A
 
- 
    [REBASE \& FF] Prevent AP GP Fault @os-d (#1515)
    
Change Details
## Description
This PR reverts a MU CHANGE to prevent the AP deadlock with a spinlock. This was later determined to not be necessary and instead separate a GDT/TSS is used for each AP, in addition to forcing a graceful transition to those.
This PR also reverts and reapplies a MU_CHANGE as part of that MU_CHANGE was moved to the above new commit and will be upstreamed to edk2 separately. In addition, another piece of this memory protections MU_CHANGE was already changed in 2e259b7, so that is also dropped.
- Impacts functionality?
 - Impacts security?
 - Breaking change?
 - Includes tests?
 - Includes documentation?
 
How This Was Tested
Tested on physical Intel client and server platforms that were experiencing the AP deadlock.
Integration Instructions
N/A.
</blockquote> <hr> </details> 
Full Changelog: v2025020002.0.0...v2025020002.0.1
v2025020002.0.0
What's Changed
- [Backport] [Release/202502] Backport/support/pkcs7 encrypt by @Flickdm in #1489
 - Dev branch tear down [Rebase & FF] by @apop5 in #1505
 
Full Changelog: v2025020001.0.6...v2025020002.0.0
v2025020001.0.6
What's Changed
- Repo File Sync: Update actions/checkout to v5 by @mu-automation[bot] in #1478
 - 
- [release/202502] Update BaseTools ext dep to v2025020001.0.5 by @mu-automation[bot] in #1480
 
 - Remove unnecessary cargo files by @magravel in #1482
 - UefiCpuPkg: X64 MpLib: Spinlock RestoreVolatileRegisters by @os-d in #1487
 
Full Changelog: v2025020001.0.5...v2025020001.0.6
dev-v2025020001.0.6
What's Changed
- Repo File Sync: Update actions/checkout to v5 by @mu-automation[bot] in #1478
 - Remove unnecessary cargo files by @magravel in #1482
 - Support/Pkcs7Encrypt by @Flickdm in #1484
 - Repo File Sync: Update to Mu DevOps v16.0.0 by @mu-automation[bot] in #1485
 - Update Crypto Driver by @Flickdm in #1488
 - UefiCpuPkg: X64 MpLib: Spinlock RestoreVolatileRegisters by @os-d in #1487
 
New Contributors
Full Changelog: dev-v2025020001.05...dev-v2025020001.0.6
dev-v2025020001.05
What's Changed
Full Changelog: dev-v2025020001.0.4...dev-v2025020001.05